From ccb58b955e15300b57dd0d1e8a2b51f9d77a58a6 Mon Sep 17 00:00:00 2001 From: Elena Stepanova Date: Mon, 4 May 2020 17:20:17 +0300 Subject: [PATCH 01/10] List of unstable tests for 10.1.45 release --- mysql-test/unstable-tests | 90 ++++++++++++++------------------------- 1 file changed, 33 insertions(+), 57 deletions(-) diff --git a/mysql-test/unstable-tests b/mysql-test/unstable-tests index e78157ca6c4..c7b95745198 100644 --- a/mysql-test/unstable-tests +++ b/mysql-test/unstable-tests @@ -23,7 +23,7 @@ # ############################################################################## # -# Based on bb-10.1-release 599a06098b967db3d636c1053bdbdd0011cba606 +# Based on 10.1 d233fd14a39f9c583b85ffb03e42b5ea52e2f4c2 main.alter_table_trans : MDEV-12084 - timeout main.analyze_stmt_slow_query_log : MDEV-12237 - Wrong result @@ -36,75 +36,64 @@ main.ctype_utf16 : MDEV-10675: timeout or extra warnings main.debug_sync : MDEV-10607 - internal error main.derived_opt : MDEV-11768 - timeout main.dirty_close : MDEV-19368 - mysqltest failed but provided no output -main.drop_bad_db_type : Modified in 10.1.42 -main.drop_debug : Modified in 10.1.42 main.events_2 : MDEV-13277 - Server crash main.events_bugs : MDEV-12892 - Crash in fill_schema_processlist; modified in 10.1.44 main.events_restart : MDEV-12236 - Server shutdown problem main.events_slowlog : MDEV-12821 - Wrong result main.flush : MDEV-19368 - mysqltest failed but provided no output main.func_gconcat : MDEV-21379 - Valgrind warnings -main.func_math : Modified in 10.1.42 +main.func_math : Modified in 10.1.45 main.func_misc : Modified in 10.1.44 main.gis : MDEV-13411 - wrong result on P8 main.gis_notembedded : MDEV-21264 - Wrong result with different default charset -main.group_by : MDEV-21565 - Wrong result; modified in 10.1.44 main.host_cache_size_functionality : MDEV-10606 - sporadic failure on shutdown main.index_intersect_innodb : MDEV-10643 - failed with timeout -main.index_merge_innodb : MDEV-7142 - Wrong execution plan, timeout with valgrind; modified in 10.1.42 -main.index_merge_myisam : Modified in 10.1.42 -main.innodb_mysql_lock : MDEV-7861 - sporadic lock detection failure +main.index_merge_innodb : MDEV-7142 - Wrong execution plan, timeout with valgrind +main.index_merge_myisam : Modified in 10.1.45 +main.innodb_mysql_lock : MDEV-7861 - sporadic lock detection failure (Fixed in 10.3+) main.insert_debug : Added in 10.1.44 -main.join : Modified in 10.1.42 main.kill_processlist-6619 : MDEV-10793 - wrong result in processlist main.loaddata : MDEV-19368 - mysqltest failed but provided no output main.locale : MDEV-20521 - Wrong result (missing warning) main.log_slow : MDEV-13263 - Wrong result -main.log_slow_debug : Modified in 10.1.42 main.log_tables-big : MDEV-13408 - wrong result main.mdev-504 : MDEV-10607 - sporadic "can't connect" main.mdev375 : MDEV-10607 - sporadic "can't connect" main.merge : MDEV-10607 - sporadic "can't connect" -main.multi_update_debug : MDEV-20136 - Debug sync point wait timed out -main.myisam : Modified in 10.1.42 +main.multi_update_debug : MDEV-20136 - Debug sync point wait timed out (Fixed in 10.2+) main.mysql_client_test : MDEV-19369 - error: 5888, status: 23, errno: 2 main.mysql_client_test_comp : MDEV-19369 - error: 5888, status: 23, errno: 2 main.mysql_client_test_nonblock : MDEV-15096 - exec failed main.mysql_upgrade_noengine : MDEV-14355 - Plugin is busy +main.mysqld--defaults-file : Modified in 10.1.45 +main.mysqldump : Modified in 10.1.45 main.mysqlhotcopy_myisam : MDEV-10995 - test hangs on debug build main.mysqlslap : MDEV-11801 - timeout main.mysqltest : MDEV-9269 - fails on Alpha main.old-mode : MDEV-19373 - Wrong result main.order_by : Modified in 10.1.44 -main.order_by_innodb : Modified in 10.1.42 main.order_by_optimizer_innodb : MDEV-10683 - wrong execution plan -main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock; modified in 10.1.42 +main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock main.partition_innodb_plugin : MDEV-12901 - Valgrind warnings -main.processlist : Modified in 10.1.42 -main.processlist_notembedded : Added in 10.1.42 main.ps : MDEV-11017 - sporadic wrong Prepared_stmt_count main.query_cache : MDEV-12895 - Wrong result main.query_cache_debug : MDEV-15281 - Resize or similar command in progress +main.range : Modified in 10.1.45 +main.range_innodb : Modified in 10.1.45 main.range_vs_index_merge_innodb : MDEV-15283 - Server has gone away main.selectivity : Modified in 10.1.44 main.set_statement : MDEV-13183 - Wrong result main.show_explain : MDEV-10674 - sporadic failure -main.sp : Modified in 10.1.42 -main.sp-code : Modified in 10.1.42 main.sp-security : MDEV-10607 - sporadic "can't connect" main.sp_notembedded : MDEV-10607 - internal error main.stat_tables_par_innodb : MDEV-14155 - wrong rounding main.status : MDEV-8510 - sporadic wrong result main.subselect_innodb : MDEV-10614 - sporadic wrong results -main.subselect_sj : Modified in 10.1.42 -main.sum_distinct-big : Modified in 10.1.42 main.tc_heuristic_recover : MDEV-15200 - wrong error on mysqld_stub_cmd main.type_blob : MDEV-15195 - Wrong result -main.type_date : Modified in 10.1.42 main.type_datetime : Modified in 10.1.44 main.type_datetime_hires : MDEV-10687 - timeout main.type_int : Modified in 10.1.44 -main.type_newdecimal : Modified in 10.1.42 main.type_time : Modified in 10.1.44 main.wait_timeout : Lost connection to MySQL server during query main.xa : MDEV-11769 - lock wait timeout @@ -123,29 +112,26 @@ archive-test_sql_discovery.discover : MDEV-16817 - Table marked as crashed #----------------------------------------------------------------------- binlog.binlog_commit_wait : MDEV-10150 - Error: too much time elapsed -binlog.binlog_invalid_read_in_rotate : Added in 10.1.44 +binlog.binlog_invalid_read_in_rotate : MDEV-22455 - Server crash; added in 10.1.44 binlog.binlog_killed : MDEV-12925 - Wrong result binlog.binlog_parallel_replication_marks_row : Include file modified in 10.1.44 binlog.binlog_parallel_replication_marks_stm_mix : Include file modified in 10.1.44 -binlog.binlog_row_drop_tmp_tbl : Include file modified in 10.1.42 binlog.binlog_show_binlog_event_random_pos : Added in 10.1.44 -binlog.binlog_stm_drop_tmp_tbl : Include file modified in 10.1.42 binlog.binlog_xa_recover : MDEV-8517 - Extra checkpoint binlog.load_data_stm_view : MDEV-16948 - Wrong result #----------------------------------------------------------------------- -binlog_encryption.binlog_xa_recover : MDEV-12908 - Extra checkpoint -binlog_encryption.encrypted_master : MDEV-12906 - Failed to sync -binlog_encryption.multisource : MDEV-21289 - Wrong error code -binlog_encryption.rpl_corruption : Include file modified in 10.1.44 -binlog_encryption.rpl_parallel : MDEV-10653 - Timeout -binlog_encryption.rpl_parallel_ignored_errors : Added in 10.1.42 -binlog_encryption.rpl_relayrotate : MDEV-15194 - Timeout -binlog_encryption.rpl_semi_sync : MDEV-11220 - Wrong result, MDEV-11673 - Valgrind warning -binlog_encryption.rpl_ssl : MDEV-14507 - Timeout on SLES 11.4 -binlog_encryption.rpl_stm_relay_ign_space : MDEV-19375 - Test assertion failed in assertion.inc -binlog_encryption.rpl_typeconv : MDEV-14362 - Lost connection to MySQL server during query +binlog_encryption.binlog_xa_recover : MDEV-12908 - Extra checkpoint +binlog_encryption.encrypted_master : MDEV-12906 - Failed to sync +binlog_encryption.multisource : MDEV-21289 - Wrong error code +binlog_encryption.rpl_corruption : Include file modified in 10.1.44 +binlog_encryption.rpl_parallel : MDEV-10653 - Timeout +binlog_encryption.rpl_relayrotate : MDEV-15194 - Timeout +binlog_encryption.rpl_semi_sync : MDEV-11220 - Wrong result, MDEV-11673 - Valgrind warning +binlog_encryption.rpl_ssl : MDEV-14507 - Timeout on SLES 11.4 +binlog_encryption.rpl_stm_relay_ign_space : MDEV-19375 - Test assertion failed in assertion.inc +binlog_encryption.rpl_typeconv : MDEV-14362 - Lost connection to MySQL server during query #----------------------------------------------------------------------- @@ -160,6 +146,10 @@ connect.zip : MDEV-13884 - Wrong result #----------------------------------------------------------------------- +disks.disks_notembedded : MDEV-21587 - Wrong result + +#----------------------------------------------------------------------- + encryption.create_or_replace : MDEV-16115 - Trying to access tablespace encryption.debug_key_management : MDEV-13841 - Timeout on wait condition encryption.encrypt_and_grep : MDEV-13765 - Wrong result @@ -170,6 +160,7 @@ encryption.innodb-page_encryption : MDEV-10641 - mutex problem encryption.innodb-read-only : MDEV-14728 - Unable to get certificate; MDEV-16563 - Crash on startup encryption.innodb-redo-badkey : MDEV-12898 - Server hang on startup encryption.innodb-remove-encryption : MDEV-16493 - Timeout in wait condition +encryption.innodb_encryption : MDEV-14728 - Unable to get certificate encryption.innodb_encryption-page-compression : MDEV-12630 - crash or assertion failure encryption.innodb_encryption_discard_import : MDEV-16116 - Wrong result encryption.innodb_encryption_is : MDEV-12898 - Server hang on startup @@ -228,12 +219,12 @@ galera_3nodes.* : The suite has not been stabilized yet innodb.binlog_consistent : MDEV-10618 - Server fails to start innodb.doublewrite : MDEV-12905 - Lost connection to MySQL server; MDEV-21380 - Assertion failure +innodb.foreign_key : Modified in 10.1.45 innodb.group_commit_crash : MDEV-11770 - Checksum mismatch innodb.group_commit_crash_no_optimize_thread : MDEV-11770 - Checksum mismatch innodb.innodb-64k-crash : MDEV-13872 - Failure and crash on startup innodb.innodb-alter-debug : MDEV-13182 - InnoDB: adjusting FSP_SPACE_FLAGS innodb.innodb-alter-table : MDEV-10619 - Testcase timeout -innodb.innodb-autoinc : Modified in 10.1.42 innodb.innodb-blob : MDEV-12053 - Client crash innodb.innodb-fk : MDEV-13832 - Assertion failure on shutdown innodb.innodb-page_compression_default : MDEV-14121 - Assertion failure @@ -247,22 +238,21 @@ innodb.innodb_monitor : MDEV-10939 - Testcase timeout innodb.innodb_mysql : MDEV-19873 - Wrong result innodb.innodb_stats : MDEV-10682 - Wrong result innodb.innodb_sys_semaphore_waits : MDEV-10331 - Wrong result +innodb.innodb_sys_var_valgrind : Added in 10.1.45 innodb.innodb_zip_innochecksum2 : MDEV-13882 - Warning: difficult to find free blocks innodb.log_file_size : MDEV-15668 - Not found pattern innodb.recovery_shutdown : MDEV-15671 - Warning: database page corruption innodb.row_format_redundant : MDEV-15192 - Trying to access missing tablespace -innodb.stat_tables : Added in 10.1.42 innodb.table_definition_cache_debug : MDEV-14206 - Extra warning innodb.table_flags : MDEV-19374 - Server failed to restart -innodb.trx_id_future : Modified in 10.1.42 innodb.xa_recovery : MDEV-15279 - mysqld got exception #----------------------------------------------------------------------- -innodb_fts.concurrent_insert : Modified in 10.1.42 -innodb_fts.crash_recovery : Modified in 10.1.42 innodb_fts.innodb_fts_misc : Modified in 10.1.44 innodb_fts.innodb_fts_misc_debug : MDEV-14156 - Unexpected warning +innodb_fts.misc_debug2 : Added in 10.1.45 +innodb_fts.stopword : Added in 10.1.45 #----------------------------------------------------------------------- @@ -308,12 +298,8 @@ multi_source.status_vars : MDEV-4632 - failed while waiting for Slave_received_h parts.partition_alter2_2_maria : MDEV-14364 - Lost connection to MySQL server during query parts.partition_auto_increment_archive : MDEV-16491 - Table marked as crashed parts.partition_auto_increment_maria : MDEV-14430 - Wrong result -parts.partition_debug : Modified in 10.1.42 -parts.partition_debug_innodb : Modified in 10.1.42 -parts.partition_debug_myisam : Modified in 10.1.42 parts.partition_exch_qa_10 : MDEV-11765 - wrong result parts.partition_innodb_status_file : MDEV-12901 - Valgrind -parts.reorganize_partition_innodb : Added in 10.1.42 #----------------------------------------------------------------------- @@ -352,19 +338,19 @@ rpl.create_or_replace_mix : MDEV-20523 - Wrong result rpl.create_or_replace_statement : MDEV-20523 - Wrong result rpl.create_select : MDEV-14121 - Assertion failure rpl.last_insert_id : MDEV-10625 - warnings in error log -rpl.mdev_17588 : Modified in 10.1.42 rpl.rpl_auto_increment : MDEV-10417 - Fails on Mips rpl.rpl_auto_increment_bug45679 : MDEV-10417 - Fails on Mips rpl.rpl_auto_increment_update_failure : MDEV-10625 - warnings in error log rpl.rpl_binlog_index : MDEV-9501 - Warning: failed registering on master rpl.rpl_colSize : MDEV-16112 - Server crash +rpl.rpl_conditional_comments : Modified in 10.1.45 rpl.rpl_corruption : Include file modified in 10.1.44 -rpl.rpl_create_or_replace_fail : Added in 10.1.42 rpl.rpl_ddl : MDEV-10417 - Fails on Mips rpl.rpl_domain_id_filter_io_crash : MDEV-14357 - Wrong result rpl.rpl_domain_id_filter_master_crash : MDEV-19043 - Warnings/errors rpl.rpl_domain_id_filter_restart : MDEV-10684 - Wrong result; MDEV-19043 - Warnings/errors rpl.rpl_drop_db_fail : MDEV-16898 - Slave fails to start +rpl.rpl_fail_register : Added in 10.1.45 rpl.rpl_get_lock : MDEV-19368 - mysqltest failed but provided no output rpl.rpl_gtid_basic : MDEV-10681 - server startup problem rpl.rpl_gtid_crash : MDEV-9501 - Warning: failed registering on master @@ -380,14 +366,11 @@ rpl.rpl_insert_id : MDEV-15197 - Wrong result rpl.rpl_insert_id_pk : MDEV-16567 - Assertion failure rpl.rpl_insert_ignore : MDEV-14365 - Lost connection to MySQL server during query rpl.rpl_invoked_features : MDEV-10417 - Fails on Mips -rpl.rpl_known_bugs_detection : Modified in 10.1.42 rpl.rpl_mariadb_slave_capability : MDEV-11018 - sporadic wrong events in binlog rpl.rpl_mdev12179 : MDEV-19043 - Warnings/errors rpl.rpl_mdev6020 : MDEV-10417 - Fails on Mips -rpl.rpl_mdev_17614 : Added in 10.1.42 rpl.rpl_non_direct_row_mixing_engines : MDEV-16561 - Timeout in master pos wait rpl.rpl_parallel : MDEV-10653 - Timeouts -rpl.rpl_parallel_ignored_errors : Added in 10.1.42 rpl.rpl_parallel_mdev6589 : MDEV-12979 - Assertion failure rpl.rpl_parallel_multilevel2 : MDEV-14723 - Timeout rpl.rpl_parallel_optimistic : MDEV-10511 - Timeout @@ -416,12 +399,10 @@ rpl.rpl_slave_grp_exec : MDEV-10514 - Unexpected deadlock rpl.rpl_start_stop_slave : MDEV-13567 - Replication failure rpl.rpl_stm_relay_ign_space : MDEV-14360 - Test assertion rpl.rpl_sync : MDEV-10633 - Database page corruption -rpl.rpl_sync_with_innodb_thd_conc : Added in 10.1.42 rpl.rpl_temporary_error2 : MDEV-10634 - Wrong number of retries rpl.rpl_test_framework : MDEV-19368 - mysqltest failed but provided no output rpl.rpl_trigger : MDEV-18055 - Wrong result rpl.rpl_truncate_3innodb : MDEV-19454 - Syntax error in test -rpl.rpl_unsafe_statements : Modified in 10.1.42 rpl.rpl_user_variables : MDEV-20522 - Wrong result rpl.sec_behind_master-5114 : MDEV-13878 - Wrong result @@ -467,7 +448,6 @@ stress.ddl_innodb : MDEV-10635 - Testcase timeout #----------------------------------------------------------------------- sys_vars.autocommit_func2 : MDEV-9329 - Fails on Ubuntu/s390x -sys_vars.delayed_insert_limit_func : Modified in 10.1.42 sys_vars.keep_files_on_create_basic : MDEV-10676 - timeout sys_vars.log_slow_admin_statements_func : MDEV-12235 - Server crash sys_vars.rpl_init_slave_func : MDEV-10149 - wrong results @@ -510,10 +490,6 @@ tokudb_bugs.xa : MDEV-11804 - Lock wait timeout #----------------------------------------------------------------------- -tokudb_parts.partition_debug_tokudb : Include file modified in 10.1.42 - -#----------------------------------------------------------------------- - tokudb_rpl.* : MDEV-11001 - tests don't work #----------------------------------------------------------------------- From 5666f333a725df68fa70fb20f564fb274f9dcdb7 Mon Sep 17 00:00:00 2001 From: Elena Stepanova Date: Tue, 5 May 2020 18:54:35 +0300 Subject: [PATCH 02/10] List of unstable tests for 10.2.32 release --- mysql-test/unstable-tests | 371 +++++++++++++++++++++----------------- 1 file changed, 201 insertions(+), 170 deletions(-) diff --git a/mysql-test/unstable-tests b/mysql-test/unstable-tests index 6b44352f555..b79b23bb098 100644 --- a/mysql-test/unstable-tests +++ b/mysql-test/unstable-tests @@ -23,124 +23,132 @@ # ############################################################################## # -# Based on 10.2 f2ccfcaca191513d12f50672ae4545f9738670f0 +# Based on bb-10.2-release 1cccd3c7cc1a5a973e03f9dd8dc457bce554d7a9 -main.alter_table_trans : MDEV-12084 - timeout -main.analyze_stmt_slow_query_log : MDEV-12237 - Wrong result -main.auth_named_pipe : MDEV-14724 - System error 2 -main.cache_temporal_4265 : Modified in 10.2.31 -main.connect : MDEV-17282 - Wrong result -main.connect2 : MDEV-13885 - Server crash -main.connect_debug : Modified in 10.2.31 -main.count_distinct2 : MDEV-11768 - timeout -main.create_delayed : MDEV-10605 - failed with timeout -main.create_drop_event : MDEV-16271 - Wrong result -main.create_or_replace2 : Modified in 10.2.31 -main.cte_nonrecursive : Modified in 10.2.31 -main.ctype_ucs : MDEV-17681 - Data too long for column -main.ctype_upgrade : MDEV-16945 - Error upon mysql_upgrade -main.ctype_utf16 : MDEV-10675: timeout or extra warnings -main.debug_sync : MDEV-10607 - internal error -main.default_session : Modified in 10.2.31 -main.derived_cond_pushdown : Modified in 10.2.31 -main.derived_opt : MDEV-11768 - timeout -main.dirty_close : MDEV-19368 - mysqltest failed but provided no output -main.distinct : MDEV-14194 - Crash -main.drop_bad_db_type : MDEV-15676 - Wrong result; modified in 10.2.31 -main.engine_error_in_alter-8453 : Modified in 10.2.31 -main.error_simulation : Modified in 10.2.31 -main.events_2 : MDEV-13277 - Crash -main.events_bugs : MDEV-12892 - Crash; modified in 10.2.31 -main.events_restart : MDEV-12236 - Server shutdown problem -main.events_slowlog : MDEV-12821 - Wrong result -main.flush : MDEV-19368 - mysqltest failed but provided no output -main.foreign_key : Modified in 10.2.31 -main.func_misc : Modified in 10.2.31 -main.func_regexp_pcre : Modified in 10.2.31 -main.func_regexp_pcre_debug : Modified in 10.2.31 -main.func_time : Modified in 10.2.31 -main.gis : MDEV-13411 - wrong result on P8 -main.gis_notembedded : MDEV-21264 - Wrong result with different default charset -main.group_by : MDEV-21565 - Wrong result; modified in 10.2.31 -main.host_cache_size_functionality : MDEV-10606 - sporadic failure on shutdown -main.index_intersect_innodb : MDEV-10643 - failed with timeout -main.index_merge_innodb : MDEV-7142 - Plan mismatch -main.innodb_mysql_lock : MDEV-7861 - Wrong result -main.insert_debug : Added in 10.2.31 -main.kill-2 : MDEV-13257 - Wrong result -main.kill_processlist-6619 : MDEV-10793 - Wrong result -main.loaddata : MDEV-19368 - mysqltest failed but provided no output -main.locale : MDEV-20521 - Missing warning -main.log_slow : MDEV-13263 - Wrong result -main.log_slow_debug : Modified in 10.2.31 -main.log_tables-big : MDEV-13408 - wrong result -main.mdev-504 : MDEV-15171 - warning -main.mdev375 : MDEV-10607 - sporadic "can't connect" -main.mdev6830 : Modified in 10.2.31 -main.merge : MDEV-10607 - sporadic "can't connect" -main.merge-big : Modified in 10.2.31 -main.merge_debug : Modified in 10.2.31 -main.multi_update_debug : MDEV-20136 - Debug sync point wait timed out -main.myisam_debug : Modified in 10.2.31 -main.mysql_client_test : MDEV-19369 - error: 5888, status: 23, errno: 2 -main.mysql_client_test_comp : MDEV-16641 - Error in exec -main.mysql_client_test_nonblock : CONC-208 - Error on Power; MDEV-15096 - exec failed -main.mysql_upgrade_noengine : MDEV-14355 - Wrong result -main.mysqld_option_err : MDEV-21571 - Crash on bootstrap -main.mysqldump : MDEV-14800 - Stack smashing detected -main.mysqlhotcopy_myisam : MDEV-10995 - Hang on debug -main.mysqlslap : MDEV-11801 - timeout -main.mysqltest : MDEV-9269 - fails on Alpha; MDEV-13887 - Wrong result -main.old-mode : MDEV-19373 - Wrong result -main.openssl_6975 : MDEV-17184 - Failures with OpenSSL 1.1.1 -main.order_by : Modified in 10.2.30 -main.order_by_optimizer_innodb : MDEV-10683 - Wrong result -main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock -main.partition_innodb_plugin : MDEV-12901 - Valgrind warnings -main.partition_innodb_semi_consistent : MDEV-19411 - Failed to start mysqld.1 -main.ps : MDEV-11017 - sporadic wrong Prepared_stmt_count -main.query_cache : MDEV-16180 - Wrong result -main.query_cache_debug : MDEV-15281 - Query cache is disabled -main.range_innodb : Modified in 10.2.31 -main.range_interrupted-13751 : Modified in 10.2.31 -main.range_vs_index_merge_innodb : MDEV-15283 - Server has gone away -main.select_debug : Modified in 10.2.31 -main.selectivity : Modified in 10.2.30 -main.set_statement : MDEV-13183 - Wrong result -main.set_statement_notembedded : MDEV-19414 - Wrong result -main.shm : MDEV-12727 - Mismatch, ERROR 2013 -main.show_explain : MDEV-10674 - Wrong result code; modified in 10.2.31 -main.show_explain_non_select : Modified in 10.2.31 -main.show_explain_ps : Modified in 10.2.31 -main.slowlog_enospace-10508 : Modified in 10.2.31 -main.sp-security : MDEV-10607 - sporadic "can't connect" -main.sp_notembedded : MDEV-10607 - internal error -main.ssl : MDEV-17184 - Failures with OpenSSL 1.1.1 -main.ssl_7937 : Modified in 10.2.31 -main.ssl_8k_key : Modified in 10.2.31 -main.ssl_ca : MDEV-10895 - SSL connection error on Power -main.ssl_cipher : MDEV-17184 - Failures with OpenSSL 1.1.1 -main.ssl_crl : MDEV-19119 - Wrong error code -main.ssl_crl_clients : Modified in 10.2.31 -main.ssl_system_ca : Added in 10.2.31 -main.ssl_timeout : MDEV-11244 - Crash -main.stat_tables-enospc : Modified in 10.2.31 -main.stat_tables_par : MDEV-13266 - Wrong result -main.stat_tables_par_innodb : MDEV-14155 - Wrong rounding -main.status : MDEV-13255 - Wrong result -main.subselect_innodb : MDEV-10614 - Sporadic wrong results -main.tc_heuristic_recover : MDEV-14189 - Wrong result -main.type_blob : MDEV-15195 - Wrong result -main.type_datetime : Modified in 10.2.31 -main.type_datetime_hires : MDEV-10687 - Timeout -main.type_int : Modified in 10.2.31 -main.type_time : Modified in 10.2.31 -main.union_crash-714 : Modified in 10.2.31 -main.userstat : MDEV-12904 - SSL errors -main.wait_timeout : MDEV-19023 - Lost connection to MySQL server during query -main.warnings_debug : Modified in 10.2.31 -main.win : Modified in 10.2.31 -main.xa : MDEV-11769 - lock wait timeout +main.alter_table_trans : MDEV-12084 - timeout +main.alter_user : Modified in 10.2.32 +main.analyze_stmt_slow_query_log : MDEV-12237 - Wrong result +main.auth_named_pipe : MDEV-14724 - System error 2 +main.cache_temporal_4265 : Modified in 10.2.31 +main.connect : MDEV-17282 - Wrong result +main.connect2 : MDEV-13885 - Server crash +main.connect_debug : Modified in 10.2.31 +main.count_distinct2 : MDEV-11768 - timeout +main.create_delayed : MDEV-10605 - failed with timeout +main.create_drop_event : MDEV-16271 - Wrong result +main.create_or_replace2 : Modified in 10.2.31 +main.cte_nonrecursive : Modified in 10.2.31 +main.ctype_ucs : MDEV-17681 - Data too long for column +main.ctype_upgrade : MDEV-16945 - Error upon mysql_upgrade +main.ctype_utf16 : MDEV-10675: timeout or extra warnings +main.debug_sync : MDEV-10607 - internal error +main.default_session : Modified in 10.2.31 +main.derived_cond_pushdown : Modified in 10.2.32 +main.derived_opt : MDEV-11768 - timeout +main.dirty_close : MDEV-19368 - mysqltest failed but provided no output +main.distinct : MDEV-14194 - Crash +main.drop_bad_db_type : MDEV-15676 - Wrong result; modified in 10.2.31 +main.engine_error_in_alter-8453 : Modified in 10.2.31 +main.error_simulation : Modified in 10.2.31 +main.errors : Modified in 10.2.32 +main.events_2 : MDEV-13277 - Crash +main.events_bugs : MDEV-12892 - Crash; modified in 10.2.31 +main.events_restart : MDEV-12236 - Server shutdown problem; modified in 10.2.32 +main.events_slowlog : MDEV-12821 - Wrong result +main.flush : MDEV-19368 - mysqltest failed but provided no output +main.foreign_key : Modified in 10.2.31 +main.fulltext : Modified in 10.2.32 +main.func_math : Modified in 10.2.32 +main.func_misc : Modified in 10.2.31 +main.func_regexp_pcre : Modified in 10.2.31 +main.func_regexp_pcre_debug : Modified in 10.2.31 +main.func_time : Modified in 10.2.31 +main.gis : MDEV-13411 - wrong result on P8; modified in 10.2.32 +main.gis-rtree : Modified in 10.2.32 +main.gis_notembedded : MDEV-21264 - Wrong result with different default charset +main.group_by : Modified in 10.2.32 +main.host_cache_size_functionality : MDEV-10606 - sporadic failure on shutdown +main.index_intersect_innodb : MDEV-10643 - failed with timeout +main.index_merge_innodb : MDEV-7142 - Plan mismatch +main.index_merge_myisam : Modified in 10.2.32 +main.innodb_mysql_lock : MDEV-7861 - Wrong result (Fixed in 10.3+) +main.insert_debug : Added in 10.2.31 +main.kill-2 : MDEV-13257 - Wrong result +main.kill_processlist-6619 : MDEV-10793 - Wrong result +main.loaddata : MDEV-19368 - mysqltest failed but provided no output +main.locale : MDEV-20521 - Missing warning; configuration added in 10.2.32 +main.log_slow : MDEV-13263 - Wrong result +main.log_slow_debug : Modified in 10.2.31 +main.log_tables-big : MDEV-13408 - wrong result +main.mdev-504 : MDEV-15171 - warning +main.mdev375 : MDEV-10607 - sporadic "can't connect"; modified in 10.2.32 +main.mdev6830 : Modified in 10.2.31 +main.merge : MDEV-10607 - sporadic "can't connect" +main.merge-big : Modified in 10.2.31 +main.merge_debug : Modified in 10.2.31 +main.multi_update_debug : Modified in 10.2.32 +main.myisam_debug : Modified in 10.2.31 +main.mysql_client_test : MDEV-19369 - error: 5888, status: 23, errno: 2; modified in 10.2.32 +main.mysql_client_test_comp : MDEV-16641 - Error in exec +main.mysql_client_test_nonblock : CONC-208 - Error on Power; MDEV-15096 - exec failed +main.mysql_upgrade_noengine : MDEV-14355 - Wrong result +main.mysqld--defaults-file : Modified in 10.2.32 +main.mysqld_option_err : MDEV-21571 - Crash on bootstrap +main.mysqldump : MDEV-22147 - Wrong result; MDEV-14800 - Stack smashing detected; modified in 10.2.32 +main.mysqlhotcopy_myisam : MDEV-10995 - Hang on debug +main.mysqlslap : MDEV-11801 - timeout +main.mysqltest : MDEV-9269 - fails on Alpha; MDEV-13887 - Wrong result +main.old-mode : MDEV-19373 - Wrong result +main.openssl_6975 : MDEV-17184 - Failures with OpenSSL 1.1.1 +main.order_by_optimizer_innodb : MDEV-10683 - Wrong result +main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock +main.partition_innodb : Modified in 10.2.32 +main.partition_innodb_plugin : MDEV-12901 - Valgrind warnings +main.partition_innodb_semi_consistent : MDEV-19411 - Failed to start mysqld.1 +main.ps : MDEV-11017 - sporadic wrong Prepared_stmt_count +main.query_cache : MDEV-16180 - Wrong result +main.query_cache_debug : MDEV-15281 - Query cache is disabled +main.range : Modified in 10.2.32 +main.range_innodb : Modified in 10.2.32 +main.range_interrupted-13751 : Modified in 10.2.31 +main.range_vs_index_merge_innodb : MDEV-15283 - Server has gone away +main.rpl_mysql_upgrade_slave_repo_check : Added in 10.2.32 +main.select_debug : Modified in 10.2.31 +main.set_statement : MDEV-13183 - Wrong result +main.set_statement_notembedded : MDEV-19414 - Wrong result +main.shm : MDEV-12727 - Mismatch, ERROR 2013 +main.show_explain : MDEV-10674 - Wrong result code; modified in 10.2.31 +main.show_explain_non_select : Modified in 10.2.31 +main.show_explain_ps : Modified in 10.2.31 +main.slowlog_enospace-10508 : Modified in 10.2.31 +main.sp-security : MDEV-10607 - sporadic "can't connect" +main.sp_notembedded : MDEV-10607 - internal error +main.ssl : MDEV-17184 - Failures with OpenSSL 1.1.1 +main.ssl_7937 : Modified in 10.2.31 +main.ssl_8k_key : Modified in 10.2.31 +main.ssl_ca : MDEV-10895 - SSL connection error on Power +main.ssl_cipher : MDEV-17184 - Failures with OpenSSL 1.1.1 +main.ssl_crl : MDEV-19119 - Wrong error code +main.ssl_crl_clients : Modified in 10.2.31 +main.ssl_system_ca : Added in 10.2.31 +main.ssl_timeout : MDEV-11244 - Crash +main.stat_tables-enospc : Modified in 10.2.31 +main.stat_tables_par : MDEV-13266 - Wrong result +main.stat_tables_par_innodb : MDEV-14155 - Wrong rounding +main.status : MDEV-13255 - Wrong result +main.subselect_innodb : MDEV-10614 - Sporadic wrong results +main.tc_heuristic_recover : MDEV-14189 - Wrong result +main.type_blob : MDEV-15195 - Wrong result +main.type_datetime : Modified in 10.2.31 +main.type_datetime_hires : MDEV-10687 - Timeout +main.type_int : Modified in 10.2.31 +main.type_time : Modified in 10.2.31 +main.union_crash-714 : Modified in 10.2.31 +main.userstat : MDEV-12904 - SSL errors +main.wait_timeout : MDEV-19023 - Lost connection to MySQL server during query +main.warnings_debug : Modified in 10.2.31 +main.win : Modified in 10.2.31 +main.xa : MDEV-11769 - lock wait timeout #----------------------------------------------------------------------- @@ -157,7 +165,7 @@ archive-test_sql_discovery.discover : MDEV-16817 - Table marked as crashed binlog.binlog_commit_wait : MDEV-10150 - Mismatch binlog.binlog_index : Include file modified in 10.2.31 -binlog.binlog_invalid_read_in_rotate : Added in 10.2.31 +binlog.binlog_invalid_read_in_rotate : MDEV-22455 - Server crash; added in 10.2.31 binlog.binlog_ioerr : Include file modified in 10.2.31 binlog.binlog_killed : MDEV-12925 - Wrong result binlog.binlog_max_extension : MDEV-19762 - Crash on shutdown @@ -179,15 +187,15 @@ binlog_encryption.encrypted_master : MDEV-14201 - Extra wa binlog_encryption.encrypted_master_switch_to_unencrypted : MDEV-14190 - Can't init tc log binlog_encryption.encryption_combo : MDEV-14199 - Table is marked as crashed binlog_encryption.multisource : MDEV-21289 - Wrong error code -binlog_encryption.rpl_binlog_errors : MDEV-12742 - Crash +binlog_encryption.rpl_binlog_errors : MDEV-12742 - Crash; include file modified in 10.2.32 binlog_encryption.rpl_checksum : MDEV-16951 - Wrong result; include file modified in 10.2.31 -binlog_encryption.rpl_corruption : Include file modified in 10.2.31 +binlog_encryption.rpl_corruption : Include file modified in 10.2.32 binlog_encryption.rpl_gtid_basic : MDEV-16947 - Server failed to start -binlog_encryption.rpl_incident : Include file modified in 10.2.31 +binlog_encryption.rpl_incident : MDEV-21569 - mutex: LOCK_global_system_variables unlocking; include file modified in 10.2.31 binlog_encryption.rpl_init_slave_errors : Include file modified in 10.2.31 binlog_encryption.rpl_loadfile : MDEV-16645 - Timeout in include binlog_encryption.rpl_parallel : MDEV-10653 - Timeout in include; include file modified in 10.2.31 -binlog_encryption.rpl_parallel_ignored_errors : Include file modified in 10.2.31 +binlog_encryption.rpl_parallel_ignored_errors : MDEV-22471 - Slave crash; include file modified in 10.2.31 binlog_encryption.rpl_relayrotate : MDEV-15194 - Timeout binlog_encryption.rpl_semi_sync : MDEV-11673 - Valgrind binlog_encryption.rpl_skip_replication : MDEV-13571 - Unexpected warning @@ -198,15 +206,13 @@ binlog_encryption.rpl_typeconv : MDEV-14362 - Lost con #----------------------------------------------------------------------- -connect.grant : Modified in 10.1.44 -connect.grant2 : Modified in 10.1.44 -connect.ini_grant : Modified in 10.1.44 -connect.mysql_grant : Modified in 10.1.44 -connect.pivot : MDEV-14803 - Failed to discover table -connect.vcol : MDEV-12374 - Fails on Windows -connect.xml2_grant : Include file modified in 10.1.44 -connect.xml_grant : Include file modified in 10.1.44 -connect.zip : MDEV-13884 - Wrong result +connect.pivot : MDEV-14803 - Failed to discover table +connect.vcol : MDEV-12374 - Fails on Windows +connect.zip : MDEV-13884 - Wrong result + +#----------------------------------------------------------------------- + +disks.disks_notembedded : MDEV-21587 - Wrong result #----------------------------------------------------------------------- @@ -229,7 +235,7 @@ encryption.innodb_encrypt_key_rotation_age : MDEV-19763 - Timeout encryption.innodb_encrypt_log : MDEV-13725 - Wrong result encryption.innodb_encrypt_log_corruption : MDEV-14379 - Server crash encryption.innodb_encrypt_temporary_tables : MDEV-20142 - Wrong result -encryption.innodb_encryption : MDEV-15675 - Timeout +encryption.innodb_encryption : MDEV-14728 - Unable to get certificate; MDEV-15675 - Timeout encryption.innodb_encryption-page-compression : MDEV-12630 - crash or assertion failure encryption.innodb_encryption_discard_import : MDEV-16116 - Wrong result encryption.innodb_encryption_is : MDEV-12898 - Server hang on startup @@ -290,39 +296,45 @@ galera_3nodes.* : Suite is not stable yet gcol.gcol_rollback : MDEV-16954 - Unknown storage engine 'InnoDB' gcol.innodb_virtual_basic : MDEV-16950 - Failing assertion gcol.innodb_virtual_debug : MDEV-19114 - Assertion failure -gcol.innodb_virtual_debug_purge : MDEV-16952 - Wrong result; modified in 10.2.31 +gcol.innodb_virtual_debug_purge : MDEV-16952 - Wrong result; modified in 10.2.32 #----------------------------------------------------------------------- innodb.101_compatibility : MDEV-13891 - Wrong result innodb.alter_copy : MDEV-16181 - Assertion failure innodb.alter_crash : MDEV-16944 - The process cannot access the file +innodb.alter_missing_tablespace : Modified in 10.2.32 innodb.autoinc_persist : MDEV-15282 - Assertion failure innodb.binlog_consistent : MDEV-10618 - Server fails to start innodb.blob-crash : MDEV-20481 - Failures upon recovery innodb.blob-update-debug : Modified in 10.2.31 +innodb.buf_pool_resize_oom : Added in 10.2.32 +innodb.corrupted_during_recovery : Modified in 10.2.32 innodb.doublewrite : MDEV-12905 - Server crash +innodb.foreign_key : Modified in 10.2.32 innodb.group_commit_crash : MDEV-14191 - InnoDB registration failed innodb.group_commit_crash_no_optimize_thread : MDEV-13830 - Assertion failure -innodb.ibuf_not_empty : MDEV-19021 - Wrong result; modified in 10.2.30 -innodb.innodb-32k-crash : Modified in 10.2.30 -innodb.innodb-64k-crash : MDEV-13872 - Failure and crash on startup; modified in 10.2.30 +innodb.ibuf_not_empty : MDEV-19021 - Wrong result +innodb.innodb-64k-crash : MDEV-13872 - Failure and crash on startup innodb.innodb-alter-debug : MDEV-13182 - InnoDB: adjusting FSP_SPACE_FLAGS innodb.innodb-alter-table : MDEV-10619 - Testcase timeout -innodb.innodb-blob : MDEV-12053 - Client crash +innodb.innodb-blob : MDEV-12053 - Client crash; modified in 10.2.32 innodb.innodb-change-buffer-recovery : MDEV-19115 - Lost connection to MySQL server during query innodb.innodb-fk : MDEV-13832 - Assertion failure on shutdown innodb.innodb-get-fk : MDEV-13276 - Server crash innodb.innodb-index-online : MDEV-14809 - Cannot save statistics -innodb.innodb-mdev-7513 : Modified in 10.2.30 +innodb.innodb-online-alter-gis : MDEV-22071 - Uninitialised value innodb.innodb-page_compression_default : MDEV-13644 - Assertion failure innodb.innodb-page_compression_lzma : MDEV-14353 - Wrong result innodb.innodb-page_compression_zip : MDEV-10641 - mutex problem innodb.innodb-replace-debug : Modified in 10.2.31 innodb.innodb-stats-initialize-failure : Modified in 10.2.31 innodb.innodb-table-online : MDEV-13894 - Wrong result -innodb.innodb-wl5522-debug : MDEV-14200 - Wrong errno +innodb.innodb-wl5522 : Modified in 10.2.32 +innodb.innodb-wl5522-debug : MDEV-14200 - Wrong errno; modified in 10.2.32 innodb.innodb_buffer_pool_dump_pct : MDEV-20139 - Timeout in wait_condition.inc +innodb.innodb_buffer_pool_load_now : Added in 10.2.32 +innodb.innodb_buffer_pool_resize_debug : Added in 10.2.32 innodb.innodb_buffer_pool_resize_with_chunks : MDEV-16964 - Assertion failure innodb.innodb_bug11754376 : Modified in 10.2.31 innodb.innodb_bug14147491 : MDEV-11808 - Index is corrupt @@ -334,22 +346,25 @@ innodb.innodb_bug56947 : Modified in 10.2.31 innodb.innodb_bug59641 : MDEV-13830 - Assertion failure innodb.innodb_bulk_create_index_replication : MDEV-15273 - Slave failed to start innodb.innodb_corrupt_bit : Modified in 10.2.31 +innodb.innodb_defrag_concurrent : Modified in 10.2.32 innodb.innodb_defrag_stats_many_tables : MDEV-14198 - Table is full innodb.innodb_information_schema : MDEV-8851 - Wrong result -innodb.innodb_max_recordsize_32k : MDEV-14801 - Operation failed; modified in 10.2.30 -innodb.innodb_max_recordsize_64k : MDEV-15203 - Wrong result; modified in 10.2.30 +innodb.innodb_max_recordsize_32k : MDEV-14801 - Operation failed +innodb.innodb_max_recordsize_64k : MDEV-15203 - Wrong result innodb.innodb_monitor : MDEV-10939 - Testcase timeout innodb.innodb_mysql : MDEV-19873 - Wrong result innodb.innodb_stats : MDEV-10682 - wrong result innodb.innodb_stats_persistent : MDEV-21567 - Wrong result in execution plan innodb.innodb_stats_persistent_debug : MDEV-14801 - Operation failed innodb.innodb_sys_semaphore_waits : MDEV-10331 - Semaphore wait; modified in 10.2.31 +innodb.innodb_sys_var_valgrind : Added in 10.2.32 innodb.innodb_wl6326 : Added in 10.2.31 innodb.innodb_wl6326_big : Added in 10.2.31 innodb.innodb_zip_innochecksum2 : MDEV-13882 - Warning: difficult to find free blocks innodb.log_corruption : MDEV-13251 - Wrong result innodb.log_data_file_size : MDEV-14204 - Server failed to start innodb.log_file_name : MDEV-14193 - Exception +innodb.log_file_name_debug : Modified in 10.2.32 innodb.log_file_size : MDEV-15668 - Not found pattern innodb.monitor : MDEV-16179 - Wrong result innodb.purge_secondary : MDEV-15681 - Wrong result @@ -363,44 +378,55 @@ innodb.table_definition_cache_debug : MDEV-14206 - Extra warning innodb.table_flags : MDEV-13572 - Wrong result; MDEV-19374 - Server failed to start innodb.temporary_table : MDEV-13265 - Wrong result innodb.truncate_inject : Modified in 10.2.31 -innodb.undo_log : Modified in 10.2.30 innodb.undo_truncate : MDEV-17340 - Server hung innodb.undo_truncate_recover : MDEV-17679 - MySQL server has gone away innodb.update_time : MDEV-14804 - Wrong result innodb.xa_recovery : MDEV-15279 - mysqld got exception +innodb.xa_recovery_debug : Added in 10.2.32 #----------------------------------------------------------------------- innodb_fts.concurrent_insert : Modified in 10.2.31 -innodb_fts.innodb_fts_misc : Modified in 10.2.30 +innodb_fts.innodb_fts_misc : Modified in 10.2.32 innodb_fts.innodb_fts_misc_debug : MDEV-14156 - Unexpected warning innodb_fts.innodb_fts_plugin : MDEV-13888 - Errors in server log innodb_fts.innodb_fts_stopword_charset : MDEV-13259 - Table crashed -innodb_fts.sync : MDEV-14808 - Wrong result +innodb_fts.misc_debug : Modified in 10.2.32 +innodb_fts.misc_debug2 : Added in 10.2.32 +innodb_fts.stopword : Added in 10.2.32 +innodb_fts.sync : Modified in 10.2.32 innodb_fts.sync_block : Modified in 10.2.31 +innodb_fts.sync_ddl : MDEV-21568 - Errno: 2000 #----------------------------------------------------------------------- +innodb_gis.bug16236208 : Re-enabled in 10.2.32; modified in 10.2.32 +innodb_gis.bug16266012 : Re-enabled in 10.2.32; modified in 10.2.32 +innodb_gis.geometry : Re-enabled in 10.2.32; modified in 10.2.32 +innodb_gis.gis_split_inf : Re-enabled in 10.2.32; modified in 10.2.32 +innodb_gis.gis_split_nan : MDEV-21678 - Cannot get geometry object +innodb_gis.point_big : Re-enabled in 10.2.32 innodb_gis.rtree_concurrent_srch : MDEV-15284 - Wrong result with embedded innodb_gis.rtree_debug : Modified in 10.2.31 +innodb_gis.rtree_multi_pk : Re-enabled in 10.2.32; modified in 10.2.32 innodb_gis.rtree_purge : MDEV-15275 - Timeout innodb_gis.rtree_recovery : MDEV-15274 - Error on check innodb_gis.rtree_rollback1 : Modified in 10.2.31 innodb_gis.rtree_rollback2 : Modified in 10.2.31 -innodb_gis.rtree_split : MDEV-14208 - Too many arguments +innodb_gis.rtree_split : MDEV-14208 - Too many arguments; modified in 10.2.32 innodb_gis.rtree_undo : MDEV-14456 - Timeout in include file innodb_gis.types : MDEV-15679 - Table is marked as crashed #----------------------------------------------------------------------- -innodb_zip.bug53591 : Modified in 10.2.30 -innodb_zip.cmp_per_index : MDEV-14490 - Table is marked as crashed; modified in 10.2.31 -innodb_zip.innochecksum_3 : MDEV-13279 - Extra warnings -innodb_zip.prefix_index_liftedlimit : Modified in 10.2.30 -innodb_zip.wl5522_debug_zip : MDEV-11600 - Operating system error number 2 -innodb_zip.wl6470_1 : MDEV-14240 - Assertion failure -innodb_zip.wl6501_1 : MDEV-10891 - Can't create UNIX socket -innodb_zip.wl6501_scale_1 : MDEV-13254 - Timeout, MDEV-14104 - Error 192 +innodb_zip.cmp_per_index : MDEV-14490 - Table is marked as crashed; modified in 10.2.31 +innodb_zip.index_large_prefix_4k : MDEV-21679 - Row size too large +innodb_zip.innochecksum_3 : MDEV-13279 - Extra warnings +innodb_zip.wl5522_debug_zip : MDEV-11600 - Operating system error number 2; modified in 10.2.32 +innodb_zip.wl5522_zip : Modified in 10.2.32 +innodb_zip.wl6470_1 : MDEV-14240 - Assertion failure +innodb_zip.wl6501_1 : MDEV-10891 - Can't create UNIX socket +innodb_zip.wl6501_scale_1 : MDEV-13254 - Timeout, MDEV-14104 - Error 192 #----------------------------------------------------------------------- @@ -412,14 +438,16 @@ maria.maria : MDEV-14430 - Extra warning #----------------------------------------------------------------------- mariabackup.apply-log-only : MDEV-20135 - Timeout +mariabackup.backup_lock_wait_timeout : Added in 10.2.32 mariabackup.data_directory : MDEV-15270 - Error on exec mariabackup.full_backup : MDEV-16571 - Wrong result mariabackup.huge_lsn : MDEV-15662 - Sequence number is in the future -mariabackup.incremental_backup : MDEV-21222 - Memory allocation failure; modified in 10.2.30 +mariabackup.incremental_backup : MDEV-21222 - Memory allocation failure mariabackup.incremental_encrypted : MDEV-15667 - Timeout mariabackup.innodb_redo_log_overwrite : Added in 10.2.31 +mariabackup.innodb_xa_rollback : Added in 10.2.32 mariabackup.mdev-14447 : MDEV-15201 - Timeout -mariabackup.partial_exclude : MDEV-15270 - Error on exec +mariabackup.partial_exclude : MDEV-15270 - Error on exec; modified in 10.2.32 mariabackup.xb_compressed_encrypted : MDEV-14812 - Segmentation fault mariabackup.xb_page_compress : MDEV-14810 - status: 1, errno: 11 mariabackup.xb_partition : MDEV-17584 - Crash on shutdown @@ -478,6 +506,7 @@ percona.* : MDEV-10997 - Not maintained #----------------------------------------------------------------------- +perfschema.bad_option_1 : MDEV-21571 - Crash on bootstrap perfschema.connect_attrs : MDEV-17283 - Wrong result perfschema.dml_file_instances : MDEV-15179 - Wrong result perfschema.dml_threads : MDEV-17746 - Wrong errno @@ -519,7 +548,6 @@ perfschema.hostcache_ipv6_nameinfo_noname_deny : Modified in 10.2.31 perfschema.hostcache_ipv6_passwd : Modified in 10.2.31 perfschema.hostcache_ipv6_ssl : MDEV-10696 - Crash; modified in 10.2.31 perfschema.hostcache_peer_addr : MDEV-21462 - Test condition timeout; modified in 10.2.31 -perfschema.misc : Modified in 10.2.30 perfschema.privilege_table_io : MDEV-13184 - Extra lines perfschema.rpl_gtid_func : MDEV-16897 - Wrong result perfschema.socket_instances_func : MDEV-20140 - Wrong result @@ -539,7 +567,7 @@ perfschema_stress.* : MDEV-10996 - Not maintained plugins.feedback_plugin_send : MDEV-7932, MDEV-11118 - Connection problems and such plugins.processlist : MDEV-16574 - Wrong result -plugins.server_audit : MDEV-9562 - crashes on sol10-sparc; modified in 10.2.30 +plugins.server_audit : MDEV-9562 - crashes on sol10-sparc; modified in 10.2.32 plugins.thread_pool_server_audit : MDEV-14295 - Wrong result #----------------------------------------------------------------------- @@ -579,7 +607,7 @@ roles.create_and_grant_role : MDEV-11772 - wrong result #----------------------------------------------------------------------- -rpl.circular_serverid0 : MDEV-19372 - ASAN heap-use-after-free; modified in 10.2.31 +rpl.circular_serverid0 : MDEV-19372 - ASAN heap-use-after-free; modified in 10.2.32 rpl.create_or_replace2 : MDEV-19412 - Lost connection to MySQL server rpl.create_or_replace_mix : MDEV-20523 - Wrong result rpl.create_or_replace_statement : MDEV-20523 - Wrong result @@ -589,25 +617,27 @@ rpl.last_insert_id : MDEV-10625 - warnings in error log rpl.rpl_auto_increment : MDEV-10417 - Fails on Mips rpl.rpl_auto_increment_bug45679 : MDEV-10417 - Fails on Mips rpl.rpl_auto_increment_update_failure : MDEV-10625 - warnings in error log -rpl.rpl_binlog_errors : MDEV-12742 - Crash +rpl.rpl_binlog_errors : MDEV-12742 - Crash; include file modified in 10.2.32 rpl.rpl_binlog_index : MDEV-9501 - Failed registering on master rpl.rpl_binlog_rollback_cleanup : Added in 10.2.31 rpl.rpl_bug33931 : Modified in 10.2.31 -rpl.rpl_bug41902 : Modified in 10.2.31 +rpl.rpl_bug41902 : Configuration deleted in 10.2.32 rpl.rpl_checksum : Include file modified in 10.2.31 rpl.rpl_colSize : MDEV-16112 - Server crash -rpl.rpl_corruption : Include file modified in 10.2.31 +rpl.rpl_conditional_comments : Modified in 10.2.32 +rpl.rpl_corruption : Include file modified in 10.2.32 rpl.rpl_ctype_latin1 : MDEV-14813 - Wrong result on Mac rpl.rpl_ddl : MDEV-10417 - Fails on Mips -rpl.rpl_domain_id_filter_io_crash : MDEV-12729 - Timeout in include file, MDEV-13677 - Server crash; modified in 10.2.31 +rpl.rpl_domain_id_filter_io_crash : MDEV-12729 - Timeout in include file, MDEV-13677 - Server crash; modified in 10.2.32 rpl.rpl_domain_id_filter_master_crash : MDEV-19043 - Warnings/errors; modified in 10.2.31 rpl.rpl_domain_id_filter_restart : MDEV-10684 - Wrong result rpl.rpl_drop_db_fail : MDEV-16898 - Slave fails to start rpl.rpl_extra_col_master_innodb : MDEV-16570 - Extra warning rpl.rpl_extra_col_master_myisam : MDEV-14203 - Extra warning +rpl.rpl_fail_register : MDEV-22472 - Wrong result; added in 10.2.32 rpl.rpl_flushlog_loop : MDEV-21570 - Server crash rpl.rpl_get_lock : MDEV-19368 - mysqltest failed but provided no output -rpl.rpl_get_master_version_and_clock : Modified in 10.2.31 +rpl.rpl_get_master_version_and_clock : Re-enabled in 10.2.32; include file modified in 10.2.32 rpl.rpl_gtid_basic : MDEV-10681 - server startup problem rpl.rpl_gtid_crash : MDEV-9501 - Failed registering on master, MDEV-13643 - Lost connection rpl.rpl_gtid_delete_domain : MDEV-14463 - Timeout @@ -616,6 +646,7 @@ rpl.rpl_gtid_mdev9033 : MDEV-10680 - warnings rpl.rpl_gtid_reconnect : MDEV-14497 - Crash; modified in 10.2.31 rpl.rpl_gtid_startpos : MDEV-20141 - mysqltest failed but provided no output rpl.rpl_gtid_stop_start : MDEV-10629 - Crash on shutdown, MDEV-12629 - Valgrind warnings +rpl.rpl_gtid_strict : Modified in 10.2.32 rpl.rpl_gtid_until : MDEV-10625 - warnings in error log rpl.rpl_heartbeat_debug : Modified in 10.2.31 rpl.rpl_incident : Include file modified in 10.2.31 @@ -646,7 +677,7 @@ rpl.rpl_row_001 : MDEV-16653 - Internal check fails rpl.rpl_row_basic_11bugs : MDEV-12171 - Server failed to start rpl.rpl_row_basic_2myisam : MDEV-13875 - command "diff_files" failed rpl.rpl_row_big_table_id : Modified in 10.2.31 -rpl.rpl_row_corruption : MDEV-21569 - mutex: LOCK_global_system_variables unlocking +rpl.rpl_row_corruption : MDEV-21569 - mutex: LOCK_global_system_variables unlocking; modified in 10.2.32 rpl.rpl_row_drop_create_temp_table : MDEV-14487 - Wrong result rpl.rpl_row_find_row_debug : Modified in 10.2.31 rpl.rpl_row_img_blobs : MDEV-13875 - command "diff_files" failed @@ -659,7 +690,6 @@ rpl.rpl_semi_sync : MDEV-11220 - Wrong result rpl.rpl_semi_sync_after_sync : MDEV-14366 - Wrong result rpl.rpl_semi_sync_after_sync_row : MDEV-14366 - Wrong result rpl.rpl_semi_sync_event_after_sync : MDEV-11806 - warnings -rpl.rpl_semi_sync_gtid_reconnect : Added in 10.2.30 rpl.rpl_semi_sync_skip_repl : Modified in 10.2.31 rpl.rpl_semi_sync_uninstall_plugin : MDEV-7140 - Assorted failures rpl.rpl_semi_sync_wait_point : MDEV-11807 - timeout in wait condition @@ -676,7 +706,7 @@ rpl.rpl_start_stop_slave : MDEV-13567 - Sync slave timeout rpl.rpl_stm_lcase_tblnames : Modified in 10.2.31 rpl.rpl_stm_multi_query : MDEV-9501 - Failed registering on master rpl.rpl_stm_relay_ign_space : MDEV-14360 - Test assertion -rpl.rpl_stm_stop_middle_group : MDEV-13791 - Server crash; include file modified in 10.2.31 +rpl.rpl_stm_stop_middle_group : MDEV-13791 - Server crash; include file modified in 10.2.32 rpl.rpl_stop_slave : Modified in 10.2.31 rpl.rpl_sync : MDEV-13830 - Assertion failure rpl.rpl_temporal_mysql56_to_mariadb53 : MDEV-9501 - Failed registering on master @@ -702,9 +732,8 @@ sphinx.* : MDEV-10986 - Tests have not been maintained #----------------------------------------------------------------------- -spider.* : MDEV-9329 - tests are too memory-consuming -spider.basic_sql : MDEV-11186 - Internal check fails -spider.pushdown_not_like : Added in 10.2.30 +spider.* : MDEV-9329 - tests are too memory-consuming +spider.basic_sql : MDEV-11186 - Internal check fails #----------------------------------------------------------------------- @@ -825,8 +854,10 @@ wsrep.mdev_6832 : MDEV-14195 - Check testcase failed wsrep.mysql_tzinfo_to_sql_symlink : Modified in 10.2.31 wsrep.mysql_tzinfo_to_sql_symlink_skip : Modified in 10.2.31 wsrep.pool_of_threads : MDEV-17345 - WSREP has not yet prepared node for application use; re-enabled in 10.2.31; configuration modified in 10.2.31 +wsrep.trans : Modified in 10.2.32 wsrep.variables : MDEV-17585 - Deadlock; modified in 10.2.31 #----------------------------------------------------------------------- -wsrep_info.* : Config file changed in 10.2.31 +wsrep_info.* : Config file changed in 10.2.31 +wsrep_info.plugin : MDEV-22470 - WSREP: no nodes coming from prim view, prim not possible From 9c5d06a6d3c1861ed1bb96670a19ac1bdb6c5b7d Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Tue, 5 May 2020 13:11:52 +0200 Subject: [PATCH 03/10] MDEV-21437 MariaDB's SUSE/SLES packages don't "provide" all of the same capabilities as the platform's default packages --- CMakeLists.txt | 5 +++-- cmake/cpack_rpm.cmake | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 083fa753b88..05e3c52f1e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -144,8 +144,6 @@ INCLUDE(mysql_version) INCLUDE(cpack_source_ignore_files) INCLUDE(install_layout) INCLUDE(wsrep) -INCLUDE(cpack_rpm) -INCLUDE(cpack_deb) # Add macros INCLUDE(character_sets) @@ -395,6 +393,9 @@ IF(WITH_UNIT_TESTS) ENDIF() ENDIF() +INCLUDE(cpack_rpm) +INCLUDE(cpack_deb) + SET (MYSQLD_STATIC_PLUGIN_LIBS "" CACHE INTERNAL "") # Add storage engines and plugins. CONFIGURE_PLUGINS() diff --git a/cmake/cpack_rpm.cmake b/cmake/cpack_rpm.cmake index ae9e3b904b3..a0449b5918d 100644 --- a/cmake/cpack_rpm.cmake +++ b/cmake/cpack_rpm.cmake @@ -232,6 +232,14 @@ ELSEIF(RPM MATCHES "fedora" OR RPM MATCHES "(rhel|centos)7") ALTERNATIVE_NAME("shared" "mysql-libs") ALTERNATIVE_NAME("test" "mariadb-test") SET(CPACK_RPM_common_PACKAGE_CONFLICTS "mariadb-libs < 1:%{version}-%{release}") +ELSEIF(RPM MATCHES "sles") + ALTERNATIVE_NAME("server" "mariadb") + SETA(CPACK_RPM_server_PACKAGE_PROVIDES + "mysql = %{version}-%{release}" + "mariadb_${MAJOR_VERSION}${MINOR_VERSION} = %{version}-%{release}" + "mariadb-${MAJOR_VERSION}${MINOR_VERSION} = %{version}-%{release}" + "mariadb-server = %{version}-%{release}" + ) ENDIF() # If we want to build build MariaDB-shared-compat, From 459e8619f2e3b72e5813d04a358f4e31637649f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Wed, 6 May 2020 11:51:44 +0300 Subject: [PATCH 04/10] MDEV-21462 main.processlist_notembedded fails to clean up Replace the 30-second sleep in the test with proper DEBUG_SYNC interlocking. --- mysql-test/r/processlist_notembedded.result | 3 ++- mysql-test/t/processlist_notembedded.test | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mysql-test/r/processlist_notembedded.result b/mysql-test/r/processlist_notembedded.result index f5b2a310813..ab1ced79e25 100644 --- a/mysql-test/r/processlist_notembedded.result +++ b/mysql-test/r/processlist_notembedded.result @@ -1,7 +1,8 @@ # # MDEV-20466: SHOW PROCESSLIST truncates query text on \0 bytes # -SET DEBUG_SYNC= 'before_join_optimize SIGNAL in_sync'; +SET DEBUG_SYNC= 'before_join_optimize SIGNAL in_sync WAIT_FOR go'; SET DEBUG_SYNC= 'now WAIT_FOR in_sync'; +SET DEBUG_SYNC= 'now SIGNAL go'; SET DEBUG_SYNC = 'RESET'; End of 5.5 tests diff --git a/mysql-test/t/processlist_notembedded.test b/mysql-test/t/processlist_notembedded.test index dc970cf5709..82cdfc2d20e 100644 --- a/mysql-test/t/processlist_notembedded.test +++ b/mysql-test/t/processlist_notembedded.test @@ -1,6 +1,7 @@ source include/have_debug.inc; source include/have_debug_sync.inc; source include/not_embedded.inc; +source include/count_sessions.inc; --echo # --echo # MDEV-20466: SHOW PROCESSLIST truncates query text on \0 bytes @@ -10,9 +11,9 @@ connect (con1,localhost,root,,); connection con1; -let $q= `select CONCAT("SELECT user FROM mysql.user WHERE user ='some", CHAR(0), "' or sleep (30)")`; +let $q= `select CONCAT("SELECT user sleep FROM mysql.user WHERE user ='some", CHAR(0), "'")`; -SET DEBUG_SYNC= 'before_join_optimize SIGNAL in_sync'; +SET DEBUG_SYNC= 'before_join_optimize SIGNAL in_sync WAIT_FOR go'; --disable_query_log --send_eval $q; --enable_query_log @@ -27,8 +28,12 @@ let SEARCH_PATTERN=sleep; source include/search_pattern_in_file.inc; remove_file $MYSQLTEST_VARDIR/tmp//MDEV-20466.text; +SET DEBUG_SYNC= 'now SIGNAL go'; + disconnect con1; SET DEBUG_SYNC = 'RESET'; +source include/wait_until_count_sessions.inc; + --echo End of 5.5 tests From f20c63264ab4170fc8e45093042bd2e7272ce9fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Wed, 6 May 2020 13:47:55 +0300 Subject: [PATCH 05/10] MDEV-21462: Actually test for the original bug We must ensure that the NUL will not terminate the query string. --- mysql-test/t/processlist_notembedded.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/t/processlist_notembedded.test b/mysql-test/t/processlist_notembedded.test index 82cdfc2d20e..b07ac00a44a 100644 --- a/mysql-test/t/processlist_notembedded.test +++ b/mysql-test/t/processlist_notembedded.test @@ -11,7 +11,7 @@ connect (con1,localhost,root,,); connection con1; -let $q= `select CONCAT("SELECT user sleep FROM mysql.user WHERE user ='some", CHAR(0), "'")`; +let $q= `select CONCAT("SELECT user FROM mysql.user WHERE user ='some", CHAR(0), "sleep'")`; SET DEBUG_SYNC= 'before_join_optimize SIGNAL in_sync WAIT_FOR go'; --disable_query_log From 0fcc3abf4a0b64932dbd5fb2a3a8d466c9a5f4a9 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Tue, 5 May 2020 14:55:05 +0200 Subject: [PATCH 06/10] MDEV-22180 Planner opens unnecessary tables when updated table is referenced by foreign keys only MDL-prelock but do not open FK child tables for read-only (RESTRICT) FK actions. Tables still needs to be opened for CASCADE actions, see 9180e8666b8 --- mysql-test/suite/innodb/r/foreign-keys.result | 21 +++++++++++++++++ mysql-test/suite/innodb/t/foreign-keys.test | 23 +++++++++++++++++++ sql/table.h | 3 +++ 3 files changed, 47 insertions(+) diff --git a/mysql-test/suite/innodb/r/foreign-keys.result b/mysql-test/suite/innodb/r/foreign-keys.result index 10e0b1f3d7b..3778dd082c7 100644 --- a/mysql-test/suite/innodb/r/foreign-keys.result +++ b/mysql-test/suite/innodb/r/foreign-keys.result @@ -124,3 +124,24 @@ SET debug_sync='reset'; SHOW OPEN TABLES FROM test; Database Table In_use Name_locked DROP TABLE t1, t2; +create table t1 (pk int primary key, data int) engine=innodb; +insert t1 values (1,1),(2,2),(3,3); +create table t2 (t1_pk int, foreign key (t1_pk) references t1 (pk)) engine=innodb; +insert t2 values (1),(2); +insert t2 values (10); +ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`t1_pk`) REFERENCES `t1` (`pk`)) +flush tables; +flush status; +update t1 set data=10 where pk+1>10; +show status like '%opened_tab%'; +Variable_name Value +Opened_table_definitions 1 +Opened_tables 1 +flush tables; +flush status; +update t2 set t1_pk=11 where t1_pk+1>10; +show status like '%opened_tab%'; +Variable_name Value +Opened_table_definitions 1 +Opened_tables 1 +drop table t2, t1; diff --git a/mysql-test/suite/innodb/t/foreign-keys.test b/mysql-test/suite/innodb/t/foreign-keys.test index a19fe3876f3..b3293e88676 100644 --- a/mysql-test/suite/innodb/t/foreign-keys.test +++ b/mysql-test/suite/innodb/t/foreign-keys.test @@ -158,3 +158,26 @@ connection default; SET debug_sync='reset'; SHOW OPEN TABLES FROM test; DROP TABLE t1, t2; + +# +# MDEV-22180 Planner opens unnecessary tables when updated table is referenced by foreign keys +# +source include/have_innodb.inc; + +create table t1 (pk int primary key, data int) engine=innodb; +insert t1 values (1,1),(2,2),(3,3); +create table t2 (t1_pk int, foreign key (t1_pk) references t1 (pk)) engine=innodb; +insert t2 values (1),(2); +error ER_NO_REFERENCED_ROW_2; +insert t2 values (10); +flush tables; +flush status; +# with ON UPDATE RESTRICT child tables are not opened +update t1 set data=10 where pk+1>10; +show status like '%opened_tab%'; +flush tables; +flush status; +# neither are parent tables +update t2 set t1_pk=11 where t1_pk+1>10; +show status like '%opened_tab%'; +drop table t2, t1; diff --git a/sql/table.h b/sql/table.h index 44803b5aacd..29b4cfdbcf3 100644 --- a/sql/table.h +++ b/sql/table.h @@ -1813,6 +1813,9 @@ struct TABLE_LIST open_type= routine ? OT_TEMPORARY_OR_BASE : OT_BASE_ONLY; belong_to_view= belong_to_view_arg; trg_event_map= trg_event_map_arg; + /* MDL is enough for read-only FK checks, we don't need the table */ + if (prelocking_placeholder == FK && lock_type < TL_WRITE_ALLOW_WRITE) + open_strategy= OPEN_STUB; **last_ptr= this; prev_global= *last_ptr; From 6b521ac003bbfaa346814b28fe652060c8638658 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Fri, 8 May 2020 01:52:31 +0200 Subject: [PATCH 07/10] MDEV-22180 Planner opens unnecessary tables when updated table is referenced by foreign keys under LOCK TABLES we still have to open everything, otherwise DML prelocking will try to take an MDL on a table that wasn't in the LOCK TABLES list. --- mysql-test/suite/innodb/r/foreign-keys.result | 28 +++++++++++++++++++ mysql-test/suite/innodb/t/foreign-keys.test | 21 +++++++++++++- sql/sql_base.cc | 9 ++++++ 3 files changed, 57 insertions(+), 1 deletion(-) diff --git a/mysql-test/suite/innodb/r/foreign-keys.result b/mysql-test/suite/innodb/r/foreign-keys.result index 3778dd082c7..d76f01f7095 100644 --- a/mysql-test/suite/innodb/r/foreign-keys.result +++ b/mysql-test/suite/innodb/r/foreign-keys.result @@ -144,4 +144,32 @@ show status like '%opened_tab%'; Variable_name Value Opened_table_definitions 1 Opened_tables 1 +flush tables; +flush status; +lock tables t1 write; +show status like '%opened_tab%'; +Variable_name Value +Opened_table_definitions 2 +Opened_tables 2 +insert t1 values (4,4); +show status like '%opened_tab%'; +Variable_name Value +Opened_table_definitions 2 +Opened_tables 2 +unlock tables; +create function foo() returns int +begin +insert t1 values (5,5); +return 5; +end| +flush tables; +flush status; +select foo(); +foo() +5 +show status like '%opened_tab%'; +Variable_name Value +Opened_table_definitions 2 +Opened_tables 2 +drop function foo; drop table t2, t1; diff --git a/mysql-test/suite/innodb/t/foreign-keys.test b/mysql-test/suite/innodb/t/foreign-keys.test index b3293e88676..9f1622d74cd 100644 --- a/mysql-test/suite/innodb/t/foreign-keys.test +++ b/mysql-test/suite/innodb/t/foreign-keys.test @@ -162,7 +162,6 @@ DROP TABLE t1, t2; # # MDEV-22180 Planner opens unnecessary tables when updated table is referenced by foreign keys # -source include/have_innodb.inc; create table t1 (pk int primary key, data int) engine=innodb; insert t1 values (1,1),(2,2),(3,3); @@ -180,4 +179,24 @@ flush status; # neither are parent tables update t2 set t1_pk=11 where t1_pk+1>10; show status like '%opened_tab%'; +# under LOCK TABLES +flush tables; +flush status; +lock tables t1 write; +show status like '%opened_tab%'; +insert t1 values (4,4); +show status like '%opened_tab%'; +unlock tables; +delimiter |; +create function foo() returns int +begin + insert t1 values (5,5); + return 5; +end| +delimiter ;| +flush tables; +flush status; +select foo(); +show status like '%opened_tab%'; +drop function foo; drop table t2, t1; diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 1dbed8c55d1..c092faa986b 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -5037,10 +5037,19 @@ bool Lock_tables_prelocking_strategy:: handle_table(THD *thd, Query_tables_list *prelocking_ctx, TABLE_LIST *table_list, bool *need_prelocking) { + TABLE_LIST **last= prelocking_ctx->query_tables_last; + if (DML_prelocking_strategy::handle_table(thd, prelocking_ctx, table_list, need_prelocking)) return TRUE; + /* + normally we don't need to open FK-prelocked tables for RESTRICT, + MDL is enough. But under LOCK TABLES we have to open everything + */ + for (TABLE_LIST *tl= *last; tl; tl= tl->next_global) + tl->open_strategy= TABLE_LIST::OPEN_NORMAL; + /* We rely on a caller to check that table is going to be changed. */ DBUG_ASSERT(table_list->lock_type >= TL_WRITE_ALLOW_WRITE); From 530da97c65a8018ef049dfb990df6b98bc5e4ccd Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Fri, 8 May 2020 09:14:34 +0200 Subject: [PATCH 08/10] cleanup: foreign-keys.test vs foreign_key.test --- mysql-test/suite/innodb/r/foreign-keys.result | 175 --------------- mysql-test/suite/innodb/r/foreign_key.result | 103 +++++++++ .../suite/innodb/r/foreign_key_debug.result | 60 ++++++ mysql-test/suite/innodb/t/foreign-keys.test | 202 ------------------ mysql-test/suite/innodb/t/foreign_key.test | 130 +++++++++++ .../suite/innodb/t/foreign_key_debug.test | 78 +++++++ 6 files changed, 371 insertions(+), 377 deletions(-) delete mode 100644 mysql-test/suite/innodb/r/foreign-keys.result create mode 100644 mysql-test/suite/innodb/r/foreign_key_debug.result delete mode 100644 mysql-test/suite/innodb/t/foreign-keys.test create mode 100644 mysql-test/suite/innodb/t/foreign_key_debug.test diff --git a/mysql-test/suite/innodb/r/foreign-keys.result b/mysql-test/suite/innodb/r/foreign-keys.result deleted file mode 100644 index d76f01f7095..00000000000 --- a/mysql-test/suite/innodb/r/foreign-keys.result +++ /dev/null @@ -1,175 +0,0 @@ -# -# Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE -# ADD FOREIGN KEY -# -CREATE TABLE `department` (`department_id` INT, `department_people_fk` INT, -PRIMARY KEY (`department_id`)) engine=innodb; -CREATE TABLE `title` (`title_id` INT, `title_manager_fk` INT, -`title_reporter_fk` INT, PRIMARY KEY (`title_id`)) engine=innodb; -CREATE TABLE `people` (`people_id` INT, PRIMARY KEY (`people_id`)) engine=innodb; -ALTER TABLE `department` ADD FOREIGN KEY (`department_people_fk`) REFERENCES -`people` (`people_id`); -ALTER TABLE `title` ADD FOREIGN KEY (`title_manager_fk`) REFERENCES `people` -(`people_id`); -ALTER TABLE `title` ADD FOREIGN KEY (`title_reporter_fk`) REFERENCES `people` -(`people_id`); -drop table title, department, people; -create table t1 (a int primary key, b int) engine=innodb; -create table t2 (c int primary key, d int, -foreign key (d) references t1 (a) on update cascade) engine=innodb; -insert t1 values (1,1),(2,2),(3,3); -insert t2 values (4,1),(5,2),(6,3); -flush table t2 with read lock; -connect con1,localhost,root; -delete from t1 where a=2; -ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`d`) REFERENCES `t1` (`a`) ON UPDATE CASCADE) -update t1 set a=10 where a=1; -connection default; -unlock tables; -connection con1; -connection default; -lock table t2 write; -connection con1; -delete from t1 where a=2; -connection default; -unlock tables; -connection con1; -ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`d`) REFERENCES `t1` (`a`) ON UPDATE CASCADE) -connection default; -unlock tables; -disconnect con1; -create user foo; -grant select,update on test.t1 to foo; -connect foo,localhost,foo; -update t1 set a=30 where a=3; -disconnect foo; -connection default; -select * from t2; -c d -5 2 -4 10 -6 30 -drop table t2, t1; -drop user foo; -create table t1 (f1 int primary key) engine=innodb; -create table t2 (f2 int primary key) engine=innodb; -create table t3 (f3 int primary key, foreign key (f3) references t2(f2)) engine=innodb; -insert into t1 values (1),(2),(3),(4),(5); -insert into t2 values (1),(2),(3),(4),(5); -insert into t3 values (1),(2),(3),(4),(5); -connect con1,localhost,root; -set debug_sync='alter_table_before_rename_result_table signal g1 wait_for g2'; -alter table t2 add constraint foreign key (f2) references t1(f1) on delete cascade on update cascade; -connection default; -set debug_sync='before_execute_sql_command wait_for g1'; -update t1 set f1 = f1 + 100000 limit 2; -connect con2,localhost,root; -kill query UPDATE; -disconnect con2; -connection default; -ERROR 70100: Query execution was interrupted -set debug_sync='now signal g2'; -connection con1; -show create table t2; -Table Create Table -t2 CREATE TABLE `t2` ( - `f2` int(11) NOT NULL, - PRIMARY KEY (`f2`), - CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`f2`) REFERENCES `t1` (`f1`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=latin1 -disconnect con1; -connection default; -select * from t2 where f2 not in (select f1 from t1); -f2 -select * from t3 where f3 not in (select f2 from t2); -f3 -drop table t3; -drop table t2; -drop table t1; -set debug_sync='reset'; -# -# MDEV-17595 - Server crashes in copy_data_between_tables or -# Assertion `thd->transaction.stmt.is_empty() || -# (thd->state_flags & Open_tables_state::BACKUPS_AVAIL)' -# fails in close_tables_for_reopen upon concurrent -# ALTER TABLE and FLUSH -# -CREATE TABLE t1 (a INT, KEY(a)) ENGINE=InnoDB; -INSERT INTO t1 VALUES(1),(2); -CREATE TABLE t2 (b INT, KEY(b)) ENGINE=InnoDB; -INSERT INTO t2 VALUES(2); -ALTER TABLE t2 ADD FOREIGN KEY(b) REFERENCES t1(a), LOCK=EXCLUSIVE; -DROP TABLE t2, t1; -# -# MDEV-16060 - InnoDB: Failing assertion: ut_strcmp(index->name, key->name) -# -CREATE TABLE t1 (`pk` INT PRIMARY KEY) ENGINE=InnoDB; -CREATE TABLE t2 LIKE t1; -FLUSH TABLES; -SET debug_sync='alter_table_intermediate_table_created SIGNAL ready WAIT_FOR go'; -ALTER TABLE t1 ADD FOREIGN KEY(pk) REFERENCES t2(pk) ON UPDATE CASCADE; -connect con1, localhost, root; -SET debug_sync='now WAIT_FOR ready'; -SET lock_wait_timeout=1; -UPDATE t2 SET pk=10 WHERE pk=1; -ERROR HY000: Lock wait timeout exceeded; try restarting transaction -PREPARE stmt FROM 'UPDATE t2 SET pk=10 WHERE pk=1'; -DEALLOCATE PREPARE stmt; -FLUSH TABLE t2; -SET debug_sync='now SIGNAL go'; -connection default; -disconnect con1; -connection default; -SET debug_sync='reset'; -SHOW OPEN TABLES FROM test; -Database Table In_use Name_locked -DROP TABLE t1, t2; -create table t1 (pk int primary key, data int) engine=innodb; -insert t1 values (1,1),(2,2),(3,3); -create table t2 (t1_pk int, foreign key (t1_pk) references t1 (pk)) engine=innodb; -insert t2 values (1),(2); -insert t2 values (10); -ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`t1_pk`) REFERENCES `t1` (`pk`)) -flush tables; -flush status; -update t1 set data=10 where pk+1>10; -show status like '%opened_tab%'; -Variable_name Value -Opened_table_definitions 1 -Opened_tables 1 -flush tables; -flush status; -update t2 set t1_pk=11 where t1_pk+1>10; -show status like '%opened_tab%'; -Variable_name Value -Opened_table_definitions 1 -Opened_tables 1 -flush tables; -flush status; -lock tables t1 write; -show status like '%opened_tab%'; -Variable_name Value -Opened_table_definitions 2 -Opened_tables 2 -insert t1 values (4,4); -show status like '%opened_tab%'; -Variable_name Value -Opened_table_definitions 2 -Opened_tables 2 -unlock tables; -create function foo() returns int -begin -insert t1 values (5,5); -return 5; -end| -flush tables; -flush status; -select foo(); -foo() -5 -show status like '%opened_tab%'; -Variable_name Value -Opened_table_definitions 2 -Opened_tables 2 -drop function foo; -drop table t2, t1; diff --git a/mysql-test/suite/innodb/r/foreign_key.result b/mysql-test/suite/innodb/r/foreign_key.result index 7098faca0c9..378fe74e14b 100644 --- a/mysql-test/suite/innodb/r/foreign_key.result +++ b/mysql-test/suite/innodb/r/foreign_key.result @@ -130,3 +130,106 @@ ALTER TABLE t1 DROP f3; ALTER TABLE t1 CHANGE f f3 INT; DROP TABLE t1; SET FOREIGN_KEY_CHECKS=1; +# +# Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE +# ADD FOREIGN KEY +# +CREATE TABLE `department` (`department_id` INT, `department_people_fk` INT, +PRIMARY KEY (`department_id`)) engine=innodb; +CREATE TABLE `title` (`title_id` INT, `title_manager_fk` INT, +`title_reporter_fk` INT, PRIMARY KEY (`title_id`)) engine=innodb; +CREATE TABLE `people` (`people_id` INT, PRIMARY KEY (`people_id`)) engine=innodb; +ALTER TABLE `department` ADD FOREIGN KEY (`department_people_fk`) REFERENCES +`people` (`people_id`); +ALTER TABLE `title` ADD FOREIGN KEY (`title_manager_fk`) REFERENCES `people` +(`people_id`); +ALTER TABLE `title` ADD FOREIGN KEY (`title_reporter_fk`) REFERENCES `people` +(`people_id`); +drop table title, department, people; +create table t1 (a int primary key, b int) engine=innodb; +create table t2 (c int primary key, d int, +foreign key (d) references t1 (a) on update cascade) engine=innodb; +insert t1 values (1,1),(2,2),(3,3); +insert t2 values (4,1),(5,2),(6,3); +flush table t2 with read lock; +delete from t1 where a=2; +ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`d`) REFERENCES `t1` (`a`) ON UPDATE CASCADE) +update t1 set a=10 where a=1; +unlock tables; +lock table t2 write; +delete from t1 where a=2; +unlock tables; +ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`d`) REFERENCES `t1` (`a`) ON UPDATE CASCADE) +unlock tables; +create user foo; +grant select,update on test.t1 to foo; +update t1 set a=30 where a=3; +select * from t2; +c d +5 2 +4 10 +6 30 +drop table t2, t1; +drop user foo; +# +# MDEV-17595 - Server crashes in copy_data_between_tables or +# Assertion `thd->transaction.stmt.is_empty() || +# (thd->state_flags & Open_tables_state::BACKUPS_AVAIL)' +# fails in close_tables_for_reopen upon concurrent +# ALTER TABLE and FLUSH +# +CREATE TABLE t1 (a INT, KEY(a)) ENGINE=InnoDB; +INSERT INTO t1 VALUES(1),(2); +CREATE TABLE t2 (b INT, KEY(b)) ENGINE=InnoDB; +INSERT INTO t2 VALUES(2); +ALTER TABLE t2 ADD FOREIGN KEY(b) REFERENCES t1(a), LOCK=EXCLUSIVE; +DROP TABLE t2, t1; +create table t1 (pk int primary key, data int) engine=innodb; +insert t1 values (1,1),(2,2),(3,3); +create table t2 (t1_pk int, foreign key (t1_pk) references t1 (pk)) engine=innodb; +insert t2 values (1),(2); +insert t2 values (10); +ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`t1_pk`) REFERENCES `t1` (`pk`)) +flush tables; +flush status; +update t1 set data=10 where pk+1>10; +show status like '%opened_tab%'; +Variable_name Value +Opened_table_definitions 1 +Opened_tables 1 +flush tables; +flush status; +update t2 set t1_pk=11 where t1_pk+1>10; +show status like '%opened_tab%'; +Variable_name Value +Opened_table_definitions 1 +Opened_tables 1 +flush tables; +flush status; +lock tables t1 write; +show status like '%opened_tab%'; +Variable_name Value +Opened_table_definitions 2 +Opened_tables 2 +insert t1 values (4,4); +show status like '%opened_tab%'; +Variable_name Value +Opened_table_definitions 2 +Opened_tables 2 +unlock tables; +create function foo() returns int +begin +insert t1 values (5,5); +return 5; +end| +flush tables; +flush status; +select foo(); +foo() +5 +show status like '%opened_tab%'; +Variable_name Value +Opened_table_definitions 2 +Opened_tables 2 +drop function foo; +drop table t2, t1; diff --git a/mysql-test/suite/innodb/r/foreign_key_debug.result b/mysql-test/suite/innodb/r/foreign_key_debug.result new file mode 100644 index 00000000000..741200b62b2 --- /dev/null +++ b/mysql-test/suite/innodb/r/foreign_key_debug.result @@ -0,0 +1,60 @@ +create table t1 (f1 int primary key) engine=innodb; +create table t2 (f2 int primary key) engine=innodb; +create table t3 (f3 int primary key, foreign key (f3) references t2(f2)) engine=innodb; +insert into t1 values (1),(2),(3),(4),(5); +insert into t2 values (1),(2),(3),(4),(5); +insert into t3 values (1),(2),(3),(4),(5); +connect con1,localhost,root; +set debug_sync='alter_table_before_rename_result_table signal g1 wait_for g2'; +alter table t2 add constraint foreign key (f2) references t1(f1) on delete cascade on update cascade; +connection default; +set debug_sync='before_execute_sql_command wait_for g1'; +update t1 set f1 = f1 + 100000 limit 2; +connect con2,localhost,root; +kill query UPDATE; +disconnect con2; +connection default; +ERROR 70100: Query execution was interrupted +set debug_sync='now signal g2'; +connection con1; +show create table t2; +Table Create Table +t2 CREATE TABLE `t2` ( + `f2` int(11) NOT NULL, + PRIMARY KEY (`f2`), + CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`f2`) REFERENCES `t1` (`f1`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +disconnect con1; +connection default; +select * from t2 where f2 not in (select f1 from t1); +f2 +select * from t3 where f3 not in (select f2 from t2); +f3 +drop table t3; +drop table t2; +drop table t1; +set debug_sync='reset'; +# +# MDEV-16060 - InnoDB: Failing assertion: ut_strcmp(index->name, key->name) +# +CREATE TABLE t1 (`pk` INT PRIMARY KEY) ENGINE=InnoDB; +CREATE TABLE t2 LIKE t1; +FLUSH TABLES; +SET debug_sync='alter_table_intermediate_table_created SIGNAL ready WAIT_FOR go'; +ALTER TABLE t1 ADD FOREIGN KEY(pk) REFERENCES t2(pk) ON UPDATE CASCADE; +connect con1, localhost, root; +SET debug_sync='now WAIT_FOR ready'; +SET lock_wait_timeout=1; +UPDATE t2 SET pk=10 WHERE pk=1; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +PREPARE stmt FROM 'UPDATE t2 SET pk=10 WHERE pk=1'; +DEALLOCATE PREPARE stmt; +FLUSH TABLE t2; +SET debug_sync='now SIGNAL go'; +connection default; +disconnect con1; +connection default; +SET debug_sync='reset'; +SHOW OPEN TABLES FROM test; +Database Table In_use Name_locked +DROP TABLE t1, t2; diff --git a/mysql-test/suite/innodb/t/foreign-keys.test b/mysql-test/suite/innodb/t/foreign-keys.test deleted file mode 100644 index 9f1622d74cd..00000000000 --- a/mysql-test/suite/innodb/t/foreign-keys.test +++ /dev/null @@ -1,202 +0,0 @@ ---source include/have_innodb.inc ---source include/have_debug.inc ---source include/have_debug_sync.inc - ---enable_connect_log - ---echo # ---echo # Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE ---echo # ADD FOREIGN KEY ---echo # - -CREATE TABLE `department` (`department_id` INT, `department_people_fk` INT, -PRIMARY KEY (`department_id`)) engine=innodb; - -CREATE TABLE `title` (`title_id` INT, `title_manager_fk` INT, -`title_reporter_fk` INT, PRIMARY KEY (`title_id`)) engine=innodb; - -CREATE TABLE `people` (`people_id` INT, PRIMARY KEY (`people_id`)) engine=innodb; - -ALTER TABLE `department` ADD FOREIGN KEY (`department_people_fk`) REFERENCES -`people` (`people_id`); - -ALTER TABLE `title` ADD FOREIGN KEY (`title_manager_fk`) REFERENCES `people` -(`people_id`); - -ALTER TABLE `title` ADD FOREIGN KEY (`title_reporter_fk`) REFERENCES `people` -(`people_id`); - -drop table title, department, people; - -# -# FK and prelocking: -# child table accesses (reads and writes) wait for locks. -# -create table t1 (a int primary key, b int) engine=innodb; -create table t2 (c int primary key, d int, - foreign key (d) references t1 (a) on update cascade) engine=innodb; -insert t1 values (1,1),(2,2),(3,3); -insert t2 values (4,1),(5,2),(6,3); -flush table t2 with read lock; # this takes MDL_SHARED_NO_WRITE -connect (con1,localhost,root); ---error ER_ROW_IS_REFERENCED_2 -delete from t1 where a=2; -send update t1 set a=10 where a=1; -connection default; -let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock'; -source include/wait_condition.inc; -unlock tables; -connection con1; -reap; -connection default; -lock table t2 write; # this takes MDL_SHARED_NO_READ_WRITE -connection con1; -send delete from t1 where a=2; -connection default; -let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock'; -source include/wait_condition.inc; -unlock tables; -connection con1; ---error ER_ROW_IS_REFERENCED_2 -reap; -connection default; -unlock tables; -disconnect con1; - -# but privileges should not be checked -create user foo; -grant select,update on test.t1 to foo; -connect(foo,localhost,foo); -update t1 set a=30 where a=3; -disconnect foo; -connection default; -select * from t2; -drop table t2, t1; -drop user foo; - -# -# MDEV-16465 Invalid (old?) table or database name or hang in ha_innobase::delete_table and log semaphore wait upon concurrent DDL with foreign keys -# -create table t1 (f1 int primary key) engine=innodb; -create table t2 (f2 int primary key) engine=innodb; -create table t3 (f3 int primary key, foreign key (f3) references t2(f2)) engine=innodb; -insert into t1 values (1),(2),(3),(4),(5); -insert into t2 values (1),(2),(3),(4),(5); -insert into t3 values (1),(2),(3),(4),(5); -connect con1,localhost,root; -set debug_sync='alter_table_before_rename_result_table signal g1 wait_for g2'; -send alter table t2 add constraint foreign key (f2) references t1(f1) on delete cascade on update cascade; -connection default; -let $conn=`select connection_id()`; -set debug_sync='before_execute_sql_command wait_for g1'; -send update t1 set f1 = f1 + 100000 limit 2; -connect con2,localhost,root; -let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock' and info like 'update t1 %'; -source include/wait_condition.inc; ---replace_result $conn UPDATE -eval kill query $conn; -disconnect con2; -connection default; -error ER_QUERY_INTERRUPTED; -reap; -set debug_sync='now signal g2'; -connection con1; -reap; -show create table t2; -disconnect con1; -connection default; -select * from t2 where f2 not in (select f1 from t1); -select * from t3 where f3 not in (select f2 from t2); -drop table t3; -drop table t2; -drop table t1; -set debug_sync='reset'; - - ---echo # ---echo # MDEV-17595 - Server crashes in copy_data_between_tables or ---echo # Assertion `thd->transaction.stmt.is_empty() || ---echo # (thd->state_flags & Open_tables_state::BACKUPS_AVAIL)' ---echo # fails in close_tables_for_reopen upon concurrent ---echo # ALTER TABLE and FLUSH ---echo # -CREATE TABLE t1 (a INT, KEY(a)) ENGINE=InnoDB; -INSERT INTO t1 VALUES(1),(2); -CREATE TABLE t2 (b INT, KEY(b)) ENGINE=InnoDB; -INSERT INTO t2 VALUES(2); -ALTER TABLE t2 ADD FOREIGN KEY(b) REFERENCES t1(a), LOCK=EXCLUSIVE; -DROP TABLE t2, t1; - - ---echo # ---echo # MDEV-16060 - InnoDB: Failing assertion: ut_strcmp(index->name, key->name) ---echo # -CREATE TABLE t1 (`pk` INT PRIMARY KEY) ENGINE=InnoDB; -CREATE TABLE t2 LIKE t1; -FLUSH TABLES; - -SET debug_sync='alter_table_intermediate_table_created SIGNAL ready WAIT_FOR go'; -send ALTER TABLE t1 ADD FOREIGN KEY(pk) REFERENCES t2(pk) ON UPDATE CASCADE; - -connect con1, localhost, root; -SET debug_sync='now WAIT_FOR ready'; -SET lock_wait_timeout=1; # change to 0 in 10.3 ---error ER_LOCK_WAIT_TIMEOUT -UPDATE t2 SET pk=10 WHERE pk=1; -PREPARE stmt FROM 'UPDATE t2 SET pk=10 WHERE pk=1'; -DEALLOCATE PREPARE stmt; -FLUSH TABLE t2; -SET debug_sync='now SIGNAL go'; - -connection default; -reap; - -# Cleanup -disconnect con1; - -connection default; -SET debug_sync='reset'; -SHOW OPEN TABLES FROM test; -DROP TABLE t1, t2; - -# -# MDEV-22180 Planner opens unnecessary tables when updated table is referenced by foreign keys -# - -create table t1 (pk int primary key, data int) engine=innodb; -insert t1 values (1,1),(2,2),(3,3); -create table t2 (t1_pk int, foreign key (t1_pk) references t1 (pk)) engine=innodb; -insert t2 values (1),(2); -error ER_NO_REFERENCED_ROW_2; -insert t2 values (10); -flush tables; -flush status; -# with ON UPDATE RESTRICT child tables are not opened -update t1 set data=10 where pk+1>10; -show status like '%opened_tab%'; -flush tables; -flush status; -# neither are parent tables -update t2 set t1_pk=11 where t1_pk+1>10; -show status like '%opened_tab%'; -# under LOCK TABLES -flush tables; -flush status; -lock tables t1 write; -show status like '%opened_tab%'; -insert t1 values (4,4); -show status like '%opened_tab%'; -unlock tables; -delimiter |; -create function foo() returns int -begin - insert t1 values (5,5); - return 5; -end| -delimiter ;| -flush tables; -flush status; -select foo(); -show status like '%opened_tab%'; -drop function foo; -drop table t2, t1; diff --git a/mysql-test/suite/innodb/t/foreign_key.test b/mysql-test/suite/innodb/t/foreign_key.test index afaeaa073a2..b33fbf60675 100644 --- a/mysql-test/suite/innodb/t/foreign_key.test +++ b/mysql-test/suite/innodb/t/foreign_key.test @@ -158,3 +158,133 @@ ALTER TABLE t1 CHANGE f f3 INT; DROP TABLE t1; SET FOREIGN_KEY_CHECKS=1; + +--echo # +--echo # Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE +--echo # ADD FOREIGN KEY +--echo # + +CREATE TABLE `department` (`department_id` INT, `department_people_fk` INT, +PRIMARY KEY (`department_id`)) engine=innodb; + +CREATE TABLE `title` (`title_id` INT, `title_manager_fk` INT, +`title_reporter_fk` INT, PRIMARY KEY (`title_id`)) engine=innodb; + +CREATE TABLE `people` (`people_id` INT, PRIMARY KEY (`people_id`)) engine=innodb; + +ALTER TABLE `department` ADD FOREIGN KEY (`department_people_fk`) REFERENCES +`people` (`people_id`); + +ALTER TABLE `title` ADD FOREIGN KEY (`title_manager_fk`) REFERENCES `people` +(`people_id`); + +ALTER TABLE `title` ADD FOREIGN KEY (`title_reporter_fk`) REFERENCES `people` +(`people_id`); + +drop table title, department, people; + +# +# FK and prelocking: +# child table accesses (reads and writes) wait for locks. +# +create table t1 (a int primary key, b int) engine=innodb; +create table t2 (c int primary key, d int, + foreign key (d) references t1 (a) on update cascade) engine=innodb; +insert t1 values (1,1),(2,2),(3,3); +insert t2 values (4,1),(5,2),(6,3); +flush table t2 with read lock; # this takes MDL_SHARED_NO_WRITE +connect (con1,localhost,root); +--error ER_ROW_IS_REFERENCED_2 +delete from t1 where a=2; +send update t1 set a=10 where a=1; +connection default; +let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock'; +source include/wait_condition.inc; +unlock tables; +connection con1; +reap; +connection default; +lock table t2 write; # this takes MDL_SHARED_NO_READ_WRITE +connection con1; +send delete from t1 where a=2; +connection default; +let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock'; +source include/wait_condition.inc; +unlock tables; +connection con1; +--error ER_ROW_IS_REFERENCED_2 +reap; +connection default; +unlock tables; +disconnect con1; + +# but privileges should not be checked +create user foo; +grant select,update on test.t1 to foo; +connect(foo,localhost,foo); +update t1 set a=30 where a=3; +disconnect foo; +connection default; +select * from t2; +drop table t2, t1; +drop user foo; + +--echo # +--echo # MDEV-17595 - Server crashes in copy_data_between_tables or +--echo # Assertion `thd->transaction.stmt.is_empty() || +--echo # (thd->state_flags & Open_tables_state::BACKUPS_AVAIL)' +--echo # fails in close_tables_for_reopen upon concurrent +--echo # ALTER TABLE and FLUSH +--echo # +CREATE TABLE t1 (a INT, KEY(a)) ENGINE=InnoDB; +INSERT INTO t1 VALUES(1),(2); +CREATE TABLE t2 (b INT, KEY(b)) ENGINE=InnoDB; +INSERT INTO t2 VALUES(2); +ALTER TABLE t2 ADD FOREIGN KEY(b) REFERENCES t1(a), LOCK=EXCLUSIVE; +DROP TABLE t2, t1; + +# +# MDEV-22180 Planner opens unnecessary tables when updated table is referenced by foreign keys +# + +create table t1 (pk int primary key, data int) engine=innodb; +insert t1 values (1,1),(2,2),(3,3); +create table t2 (t1_pk int, foreign key (t1_pk) references t1 (pk)) engine=innodb; +insert t2 values (1),(2); +error ER_NO_REFERENCED_ROW_2; +insert t2 values (10); +flush tables; +flush status; +# with ON UPDATE RESTRICT child tables are not opened +update t1 set data=10 where pk+1>10; +show status like '%opened_tab%'; +flush tables; +flush status; +# neither are parent tables +update t2 set t1_pk=11 where t1_pk+1>10; +show status like '%opened_tab%'; +# under LOCK TABLES +flush tables; +flush status; +lock tables t1 write; +show status like '%opened_tab%'; +insert t1 values (4,4); +show status like '%opened_tab%'; +unlock tables; +delimiter |; +create function foo() returns int +begin + insert t1 values (5,5); + return 5; +end| +delimiter ;| +flush tables; +flush status; +select foo(); +show status like '%opened_tab%'; +drop function foo; +drop table t2, t1; + +# +# End of 10.1 tests +# diff --git a/mysql-test/suite/innodb/t/foreign_key_debug.test b/mysql-test/suite/innodb/t/foreign_key_debug.test new file mode 100644 index 00000000000..75d05801b5f --- /dev/null +++ b/mysql-test/suite/innodb/t/foreign_key_debug.test @@ -0,0 +1,78 @@ +--source include/have_innodb.inc +--source include/have_debug.inc +--source include/have_debug_sync.inc + +--enable_connect_log + +# +# MDEV-16465 Invalid (old?) table or database name or hang in ha_innobase::delete_table and log semaphore wait upon concurrent DDL with foreign keys +# +create table t1 (f1 int primary key) engine=innodb; +create table t2 (f2 int primary key) engine=innodb; +create table t3 (f3 int primary key, foreign key (f3) references t2(f2)) engine=innodb; +insert into t1 values (1),(2),(3),(4),(5); +insert into t2 values (1),(2),(3),(4),(5); +insert into t3 values (1),(2),(3),(4),(5); +connect con1,localhost,root; +set debug_sync='alter_table_before_rename_result_table signal g1 wait_for g2'; +send alter table t2 add constraint foreign key (f2) references t1(f1) on delete cascade on update cascade; +connection default; +let $conn=`select connection_id()`; +set debug_sync='before_execute_sql_command wait_for g1'; +send update t1 set f1 = f1 + 100000 limit 2; +connect con2,localhost,root; +let $wait_condition= select 1 from information_schema.processlist where state='Waiting for table metadata lock' and info like 'update t1 %'; +source include/wait_condition.inc; +--replace_result $conn UPDATE +eval kill query $conn; +disconnect con2; +connection default; +error ER_QUERY_INTERRUPTED; +reap; +set debug_sync='now signal g2'; +connection con1; +reap; +show create table t2; +disconnect con1; +connection default; +select * from t2 where f2 not in (select f1 from t1); +select * from t3 where f3 not in (select f2 from t2); +drop table t3; +drop table t2; +drop table t1; +set debug_sync='reset'; + +--echo # +--echo # MDEV-16060 - InnoDB: Failing assertion: ut_strcmp(index->name, key->name) +--echo # +CREATE TABLE t1 (`pk` INT PRIMARY KEY) ENGINE=InnoDB; +CREATE TABLE t2 LIKE t1; +FLUSH TABLES; + +SET debug_sync='alter_table_intermediate_table_created SIGNAL ready WAIT_FOR go'; +send ALTER TABLE t1 ADD FOREIGN KEY(pk) REFERENCES t2(pk) ON UPDATE CASCADE; + +connect con1, localhost, root; +SET debug_sync='now WAIT_FOR ready'; +SET lock_wait_timeout=1; # change to 0 in 10.3 +--error ER_LOCK_WAIT_TIMEOUT +UPDATE t2 SET pk=10 WHERE pk=1; +PREPARE stmt FROM 'UPDATE t2 SET pk=10 WHERE pk=1'; +DEALLOCATE PREPARE stmt; +FLUSH TABLE t2; +SET debug_sync='now SIGNAL go'; + +connection default; +reap; + +# Cleanup +disconnect con1; + +connection default; +SET debug_sync='reset'; +SHOW OPEN TABLES FROM test; +DROP TABLE t1, t2; + +# +# End of 10.1 tests +# From 1d1fb13e59a410f4097802be7076c90b1bca695b Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Thu, 7 May 2020 16:14:54 +0200 Subject: [PATCH 09/10] update C/C --- libmariadb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libmariadb b/libmariadb index ca8f94f727d..2759b87d729 160000 --- a/libmariadb +++ b/libmariadb @@ -1 +1 @@ -Subproject commit ca8f94f727dba19a6ac43691df53fdc829e2124e +Subproject commit 2759b87d72926b7c9b5426437a7c8dd15ff57945 From e84c62d59b8036138998b0e521a47bdde4ac3875 Mon Sep 17 00:00:00 2001 From: Oleksandr Byelkin Date: Fri, 8 May 2020 12:41:45 +0200 Subject: [PATCH 10/10] MDEV-22504: Session tracking return incorrectly long traking data When we move data we should fix buffer string length --- mysql-test/r/mysqltest_tracking_info.result | 18 +++++++++++++++- mysql-test/t/mysqltest_tracking_info.test | 24 ++++++++++++++++++++- sql/session_tracker.cc | 3 ++- 3 files changed, 42 insertions(+), 3 deletions(-) diff --git a/mysql-test/r/mysqltest_tracking_info.result b/mysql-test/r/mysqltest_tracking_info.result index df966ae1d39..16d737dc4e6 100644 --- a/mysql-test/r/mysqltest_tracking_info.result +++ b/mysql-test/r/mysqltest_tracking_info.result @@ -1,3 +1,4 @@ +set @save_session_track_system_variables=@@session_track_system_variables; SELECT @@session.character_set_connection; @@session.character_set_connection latin1 @@ -28,4 +29,19 @@ SET NAMES 'utf8'; # tracking info off once SET NAMES 'big5'; -SET @@session.session_track_system_variables= default; +SET @@session.session_track_system_variables= @save_session_track_system_variables; +# +# MDEV-22504: session tracking return incorrectly long traking data +# +set @save_optimizer_switch=@@optimizer_switch; +SET @@session.session_track_system_variables='optimizer_switch'; +set optimizer_switch='index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off'; +-- Tracker : SESSION_TRACK_SYSTEM_VARIABLES +-- optimizer_switch +-- index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off + +Warnings: +Warning 1681 'engine_condition_pushdown=on' is deprecated and will be removed in a future release +set @@optimizer_switch=@save_optimizer_switch; +SET @@session.session_track_system_variables= @save_session_track_system_variables; +# End of 10.2 tests diff --git a/mysql-test/t/mysqltest_tracking_info.test b/mysql-test/t/mysqltest_tracking_info.test index d31f68b3cbd..da7732b5011 100644 --- a/mysql-test/t/mysqltest_tracking_info.test +++ b/mysql-test/t/mysqltest_tracking_info.test @@ -2,6 +2,9 @@ --source include/no_protocol.inc --source include/not_embedded.inc + +set @save_session_track_system_variables=@@session_track_system_variables; + SELECT @@session.character_set_connection; SET @@session.session_track_system_variables='character_set_connection'; @@ -22,4 +25,23 @@ SET NAMES 'utf8'; SET NAMES 'big5'; --disable_session_track_info -SET @@session.session_track_system_variables= default; +SET @@session.session_track_system_variables= @save_session_track_system_variables; + +--echo # +--echo # MDEV-22504: session tracking return incorrectly long traking data +--echo # + +set @save_optimizer_switch=@@optimizer_switch; + +SET @@session.session_track_system_variables='optimizer_switch'; + +--enable_session_track_info +set optimizer_switch='index_merge=off,index_merge_union=off,index_merge_sort_union=off,index_merge_intersection=off,index_merge_sort_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=off,derived_merge=off,derived_with_keys=off,firstmatch=off,loosescan=off,materialization=off,in_to_exists=off,semijoin=off,partial_match_rowid_merge=off,partial_match_table_scan=off,subquery_cache=off,mrr=on,mrr_cost_based=on,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=off,join_cache_hashed=off,join_cache_bka=off,optimize_join_buffer_size=on,table_elimination=off,extended_keys=off,exists_to_in=off,orderby_uses_equalities=off,condition_pushdown_for_derived=off'; +--disable_session_track_info + +set @@optimizer_switch=@save_optimizer_switch; + + +SET @@session.session_track_system_variables= @save_session_track_system_variables; + +--echo # End of 10.2 tests diff --git a/sql/session_tracker.cc b/sql/session_tracker.cc index 7538295fcea..b73bd1d1d4a 100644 --- a/sql/session_tracker.cc +++ b/sql/session_tracker.cc @@ -1698,7 +1698,7 @@ void Session_tracker::store(THD *thd, String *buf) if ((size= net_length_size(length)) != 1) { - if (buf->reserve(size - 1, EXTRA_ALLOC)) + if (buf->reserve(size - 1, 0)) { buf->length(start); // it is safer to have 0-length block in case of error return; @@ -1708,6 +1708,7 @@ void Session_tracker::store(THD *thd, String *buf) The 'buf->reserve()' can change the buf->ptr() so we cannot calculate the 'data' earlier. */ + buf->length(buf->length() + (size - 1)); data= (uchar *)(buf->ptr() + start); memmove(data + (size - 1), data, length); }