Bug #114544 | MySQL crash after too many INSTANT DDL | ||
---|---|---|---|
Submitted: | 3 Apr 2024 12:28 | Modified: | 3 Apr 2024 13:04 |
Reporter: | Luciano Mollea | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 8.0.36 | OS: | MacOS |
Assigned to: | CPU Architecture: | ARM |
[3 Apr 2024 12:28]
Luciano Mollea
[3 Apr 2024 13:04]
MySQL Verification Team
Hi Mr. Mollea, Thank you for your bug report. We have tried to repeat your test case on macOS 14.4 with M2 CPU. We inserted circa 50.000 rows. We ran those 4 (four) DDLs 256 times, which makes it 1024 DDLs in total. We then ran SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLES; and got the following output: TABLE_ID NAME FLAG N_COLS SPACE ROW_FORMAT ZIP_PAGE_SIZE SPACE_TYPE INSTANT_COLS TOTAL_ROW_VERSIONS 1054 mysql/replication_group_configuration_version 161 5 4294967294 Dynamic 0 General 0 0 4193 mysql/component 161 6 4294967294 Dynamic 0 General 0 0 4220 mysql/ndb_binlog_index 161 15 4294967294 Dynamic 0 General 0 0 4248 mysql/columns_priv 161 10 4294967294 Dynamic 0 General 0 0 4249 mysql/db 161 25 4294967294 Dynamic 0 General 0 0 4250 mysql/default_roles 161 7 4294967294 Dynamic 0 General 0 0 4251 mysql/engine_cost 161 9 4294967294 Dynamic 0 General 0 0 4253 mysql/global_grants 161 7 4294967294 Dynamic 0 General 0 0 4281 mysql/help_category 161 7 4294967294 Dynamic 0 General 0 0 4282 mysql/help_keyword 161 5 4294967294 Dynamic 0 General 0 0 4283 mysql/help_relation 161 5 4294967294 Dynamic 0 General 0 0 4280 mysql/help_topic 161 9 4294967294 Dynamic 0 General 0 0 4259 mysql/plugin 161 5 4294967294 Dynamic 0 General 0 0 4260 mysql/password_history 161 7 4294967294 Dynamic 0 General 0 0 4262 mysql/proxies_priv 161 10 4294967294 Dynamic 0 General 0 0 4263 mysql/role_edges 161 8 4294967294 Dynamic 0 General 0 0 4264 mysql/servers 161 12 4294967294 Dynamic 0 General 0 0 4265 mysql/server_cost 161 7 4294967294 Dynamic 0 General 0 0 4268 mysql/replication_asynchronous_connection_failover 161 9 4294967294 Dynamic 0 General 0 0 4269 mysql/replication_asynchronous_connection_failover_managed 161 7 4294967294 Dynamic 0 General 0 0 4270 mysql/replication_group_member_actions 161 9 4294967294 Dynamic 0 General 0 0 4272 mysql/tables_priv 161 11 4294967294 Dynamic 0 General 0 0 4274 mysql/time_zone_name 161 5 4294967294 Dynamic 0 General 0 0 4275 mysql/time_zone_leap_second 161 5 4294967294 Dynamic 0 General 0 0 4276 mysql/time_zone_transition 161 6 4294967294 Dynamic 0 General 0 0 4277 mysql/time_zone_transition_type 161 8 4294967294 Dynamic 0 General 0 0 4252 mysql/func 161 7 4294967294 Dynamic 0 General 0 0 4254 mysql/gtid_executed 161 6 4294967294 Dynamic 0 General 0 0 4279 mysql/slave_master_info 161 36 4294967294 Dynamic 0 General 0 0 4267 mysql/slave_worker_info 161 16 4294967294 Dynamic 0 General 0 0 4271 mysql/slave_relay_log_info 161 18 4294967294 Dynamic 0 General 0 0 4261 mysql/procs_priv 161 11 4294967294 Dynamic 0 General 0 0 4278 mysql/user 161 54 4294967294 Dynamic 0 General 0 0 4273 mysql/time_zone 161 5 4294967294 Dynamic 0 General 0 0 1062 sys/sys_config 33 7 1 Dynamic 0 Single 0 0 4313 test/data 33 9 2943 Dynamic 0 Single 0 35 Hence, we advise you to use our own binaries, available from: https://dev.mysql.com/downloads/mysql/ You will find there versions 8.0.36 and 8.3.0 for your macOS and ARM CPU. Can't repeat.
[3 Apr 2024 13:50]
Frederic Descamps
Hi Mr. Mollea, The error message about the 64 versions is displayed ONLY if you specify the INSTANT as ALGORITHM. See https://blogs.oracle.com/mysql/post/mysql-innodbs-instant-schema-changes-what-dbas-should-... But that doesn't explain the crash of course.
[3 Apr 2024 13:52]
MySQL Verification Team
Thank you, Fred.
[3 Apr 2024 14:07]
MySQL Verification Team
Hi, We have added INSTANT and there is still no crash: ERROR 4092 (HY000) at line 220: Maximum row versions reached for table test/data. No more columns can be added or dropped instantly. Please use COPY/INPLACE. ERROR 4092 (HY000) at line 222: Maximum row versions reached for table test/data. No more columns can be added or dropped instantly. Please use COPY/INPLACE. TABLE_ID NAME FLAG N_COLS SPACE ROW_FORMAT ZIP_PAGE_SIZE SPACE_TYPE INSTANT_COLS TOTAL_ROW_VERSIONS 1054 mysql/replication_group_configuration_version 161 5 4294967294 Dynamic 0 General 0 0 4193 mysql/component 161 6 4294967294 Dynamic 0 General 0 0 4220 mysql/ndb_binlog_index 161 15 4294967294 Dynamic 0 General 0 0 4248 mysql/columns_priv 161 10 4294967294 Dynamic 0 General 0 0 4249 mysql/db 161 25 4294967294 Dynamic 0 General 0 0 4250 mysql/default_roles 161 7 4294967294 Dynamic 0 General 0 0 4251 mysql/engine_cost 161 9 4294967294 Dynamic 0 General 0 0 4253 mysql/global_grants 161 7 4294967294 Dynamic 0 General 0 0 4281 mysql/help_category 161 7 4294967294 Dynamic 0 General 0 0 4282 mysql/help_keyword 161 5 4294967294 Dynamic 0 General 0 0 4283 mysql/help_relation 161 5 4294967294 Dynamic 0 General 0 0 4280 mysql/help_topic 161 9 4294967294 Dynamic 0 General 0 0 4259 mysql/plugin 161 5 4294967294 Dynamic 0 General 0 0 4260 mysql/password_history 161 7 4294967294 Dynamic 0 General 0 0 4262 mysql/proxies_priv 161 10 4294967294 Dynamic 0 General 0 0 4263 mysql/role_edges 161 8 4294967294 Dynamic 0 General 0 0 4264 mysql/servers 161 12 4294967294 Dynamic 0 General 0 0 4265 mysql/server_cost 161 7 4294967294 Dynamic 0 General 0 0 4268 mysql/replication_asynchronous_connection_failover 161 9 4294967294 Dynamic 0 General 0 0 4269 mysql/replication_asynchronous_connection_failover_managed 161 7 4294967294 Dynamic 0 General 0 0 4270 mysql/replication_group_member_actions 161 9 4294967294 Dynamic 0 General 0 0 4272 mysql/tables_priv 161 11 4294967294 Dynamic 0 General 0 0 4274 mysql/time_zone_name 161 5 4294967294 Dynamic 0 General 0 0 4275 mysql/time_zone_leap_second 161 5 4294967294 Dynamic 0 General 0 0 4276 mysql/time_zone_transition 161 6 4294967294 Dynamic 0 General 0 0 4277 mysql/time_zone_transition_type 161 8 4294967294 Dynamic 0 General 0 0 4252 mysql/func 161 7 4294967294 Dynamic 0 General 0 0 4254 mysql/gtid_executed 161 6 4294967294 Dynamic 0 General 0 0 4279 mysql/slave_master_info 161 36 4294967294 Dynamic 0 General 0 0 4267 mysql/slave_worker_info 161 16 4294967294 Dynamic 0 General 0 0 4271 mysql/slave_relay_log_info 161 18 4294967294 Dynamic 0 General 0 0 4261 mysql/procs_priv 161 11 4294967294 Dynamic 0 General 0 0 4278 mysql/user 161 54 4294967294 Dynamic 0 General 0 0 4273 mysql/time_zone 161 5 4294967294 Dynamic 0 General 0 0 1062 sys/sys_config 33 7 1 Dynamic 0 Single 0 0 4320 test/data 33 9 2950 Dynamic 0 Single 0 64 You can see that version is indeed 64. We can't repeat your crash, so please use our binary.