From 1f18e0c70e3602710c6cb3bef05e7a3ab80573d1 Mon Sep 17 00:00:00 2001 From: Elena Stepanova Date: Mon, 2 Nov 2020 01:29:52 +0200 Subject: [PATCH 1/8] List of unstable tests for 10.4.16 release --- mysql-test/unstable-tests | 1025 ++++++++++++++++--------------------- 1 file changed, 449 insertions(+), 576 deletions(-) diff --git a/mysql-test/unstable-tests b/mysql-test/unstable-tests index 1ddbc8d5278..30171bfe084 100644 --- a/mysql-test/unstable-tests +++ b/mysql-test/unstable-tests @@ -23,228 +23,182 @@ # ############################################################################## # -# Based on bb-10.4-release 9a156e1a23046ba3e37bdb1e4e1ad887d3f5829b -# Tue Aug 4 11:49:52 2020 +0300 : MDEV-23345 Assertion not_redundant ... +# Based on bb-10.4-release 80c951ce2875aac521b82323b5b6ebf638593445 +# Sat Oct 31 21:06:49 2020 +0100 : Merge branch '10.3' into 10.4 -main.alter_table : Modified in 10.4.14 -main.alter_table_trans : MDEV-12084 - timeout -main.alter_user : Modified in 10.4.13 -main.analyze_stmt_slow_query_log : MDEV-12237 - Wrong result -main.auth_named_pipe : MDEV-14724 - System error 2 -main.backup_interaction : Modified in 10.4.13 -main.backup_stages : MDEV-23401 - Bad file descriptor; modified in 10.4.14 -main.binary_to_hex : MDEV-20211 - Wrong result -main.column_compression : Modified in 10.4.13 -main.comment_table : Modified in 10.4.14 -main.connect : MDEV-17282 - Wrong result -main.connect-abstract : MDEV-20162 - Could not execute 'check-testcase' -main.connect2 : MDEV-13885 - Server crash -main.count_distinct2 : MDEV-11768 - timeout -main.create : Modified in 10.4.14 -main.create_delayed : MDEV-10605 - failed with timeout -main.create_drop_event : MDEV-16271 - Wrong result -main.create_drop_function : Modified in 10.4.14 -main.cte_nonrecursive : Modified in 10.4.13 -main.cte_recursive : Modified in 10.4.14 -main.ctype_binary : Modified in 10.4.14 -main.ctype_cp932_binlog_stm : MDEV-20534 - Wrong result -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; modified in 10.4.14 -main.ctype_utf16_uca : Modified in 10.4.14 -main.ctype_utf16le : MDEV-10675: timeout or extra warnings; modified in 10.4.14 -main.ctype_utf32 : Modified in 10.4.14 -main.ctype_utf32_uca : Modified in 10.4.14 -main.ctype_utf8 : Modified in 10.4.14 -main.ctype_utf8mb4 : Modified in 10.4.14 -main.ctype_utf8mb4_heap : Include file modified in 10.4.14 -main.ctype_utf8mb4_innodb : MDEV-17744 - Timeout; MDEV-18567 - ASAN use-after-poison; include file modified in 10.4.14 -main.ctype_utf8mb4_myisam : Include file modified in 10.4.14 -main.custom_aggregate_functions : Modified in 10.4.14 -main.debug_sync : MDEV-10607 - internal error -main.default_storage_engine : Modified in 10.4.13 -main.delayed : MDEV-20961 - Assertion failure -main.derived_cond_pushdown : MDEV-20532 - Floating point differences; modified in 10.4.13 -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 -main.dyncol : MDEV-19455 - Extra warning -main.errors : Modified in 10.4.13 -main.events_2 : MDEV-13277 - Crash -main.events_bugs : MDEV-12892 - Crash -main.events_restart : MDEV-12236 - Server shutdown problem; modified in 10.4.13 -main.events_slowlog : MDEV-12821 - Wrong result -main.failed_auth_3909 : Modified in 10.4.13 -main.failed_auth_unixsocket : Modified in 10.4.13 -main.flush : MDEV-19368 - mysqltest failed but provided no output -main.flush_ssl : MDEV-21276 - Aria recovery failure -main.fulltext : Modified in 10.4.13 -main.func_gconcat : MDEV-21379 - Valgrind warnings; modified in 10.4.14 -main.func_json : Modified in 10.4.14 -main.func_math : MDEV-20966 - Wrong error code; modified in 10.4.14 -main.func_str : Modified in 10.4.13 -main.gis : MDEV-13411 - wrong result on P8; modified in 10.4.13 -main.gis-rtree : Modified in 10.4.13 -main.gis_notembedded : MDEV-21264 - Wrong result with non-default charset -main.grant : Modified in 10.4.14 -main.grant2 : Modified in 10.4.13 -main.grant5 : Modified in 10.4.14 -main.grant_repair : Added in 10.4.13 -main.group_by : Modified in 10.4.13 -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; modified in 10.4.14 -main.index_merge_myisam : Modified in 10.4.13 -main.information_schema : Modified in 10.4.14 -main.innodb_icp : MDEV-20168 - Wrong execution plans; include file modified in 10.4.13 -main.innodb_mrr_cpk : MDEV-23370 - Server crash -main.innodb_mysql_lock : Modified in 10.4.13 -main.invisible_field_grant_completely : MDEV-22254 - Syscall param write points to uninitialised bytes -main.ipv4_and_ipv6 : MDEV-20964 - Wrong result -main.ipv6 : MDEV-20964 - Wrong result -main.join_cache : MDEV-17743 - Bad address from storage engine MyISAM; modified in 10.4.13 -main.join_outer : Modified in 10.4.14 -main.key : Modified in 10.4.13 -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.4.13 -main.lock : Modified in 10.4.14 -main.lock_user : Modified in 10.4.13 -main.log_slow : MDEV-13263 - Wrong result -main.log_tables : Modified in 10.4.14 -main.log_tables-big : MDEV-13408 - wrong result -main.log_tables_upgrade : MDEV-20962 - Wrong result -main.long_unique_bugs : Modified in 10.4.14 -main.lowercase_fs_off : Modified in 10.4.14 -main.mdev-21101 : Added in 10.4.14 -main.mdev-504 : MDEV-15171 - warning -main.mdev375 : MDEV-10607 - sporadic "can't connect"; modified in 10.4.13 -main.mdev_22370 : Added in 10.4.14 -main.merge : MDEV-10607 - sporadic "can't connect" -main.multi_update : Modified in 10.4.13 -main.multi_update_debug : Modified in 10.4.13 -main.myisam_icp : Include file modified in 10.4.13 -main.mysql : MDEV-20156 - Wrong result -main.mysql_client_test : MDEV-19369 - error: 5888, status: 23, errno: 2; MDEV-19511 - Big endian issue; modified in 10.4.13 -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_cp932 : MDEV-21275 - Wrong result -main.mysql_install_db_win : Modified in 10.4.14 -main.mysql_upgrade : MDEV-20161 - Wrong result; MDEV-20166 - FATAL ERROR: Upgrade failed; modified in 10.4.14 -main.mysql_upgrade-6984 : MDEV-22514 - Wrong result; modified in 10.4.13 -main.mysql_upgrade_no_innodb : MDEV-20537 - Wrong result -main.mysql_upgrade_noengine : MDEV-14355 - Wrong result -main.mysql_upgrade_view : MDEV-20161 - Wrong result; MDEV-23392 - Wrong result -main.mysqladmin : MDEV-20535 - Wrong result -main.mysqlcheck : MDEV-20164 - Wrong result -main.mysqld--defaults-file : Modified in 10.4.13 -main.mysqld_option_err : MDEV-21236 - Wrong error; MDEV-21571 - Crash on bootstrap -main.mysqldump : MDEV-14800 - Stack smashing detected; modified in 10.4.13 -main.mysqldump-max : MDEV-21272 - Wrong result -main.mysqlhotcopy_myisam : MDEV-10995 - Hang on debug -main.mysqlshow : MDEV-20965 - Wrong result -main.mysqlslap : MDEV-11801 - timeout -main.mysqltest : MDEV-13887 - Wrong result -main.mysqltest_tracking_info : Modified in 10.4.14 -main.nested_profiling : Added in 10.4.14 -main.old-mode : MDEV-19373 - Wrong result -main.openssl_6975 : MDEV-17184 - Failures with OpenSSL 1.1.1 -main.opt_trace : Modified in 10.4.14 -main.order_by : Modified in 10.4.14 -main.order_by_optimizer_innodb : MDEV-10683 - Wrong result -main.parser : Modified in 10.4.14 -main.partition : Modified in 10.4.14 -main.partition_alter : Modified in 10.4.14 -main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock -main.partition_explicit_prune : Modified in 10.4.14 -main.partition_innodb : MDEV-20169 - Wrong result; modified in 10.4.13 -main.partition_innodb_plugin : MDEV-12901 - Valgrind warnings -main.partition_innodb_semi_consistent : MDEV-19411 - Failed to start mysqld.1 -main.partition_mrr_aria : Include file modified in 10.4.13 -main.partition_mrr_innodb : Include file modified in 10.4.13 -main.partition_mrr_myisam : Modified in 10.4.13 -main.partition_range : Modified in 10.4.13 -main.plugin : Modified in 10.4.14 -main.plugin_auth : MDEV-20957 - Upgrade file was not properly created -main.plugin_auth_qa_2 : MDEV-20165 - Wrong result -main.pool_of_threads : MDEV-18135 - SSL error: key too small -main.processlist_notembedded : Modified in 10.4.14 -main.ps : MDEV-11017 - sporadic wrong Prepared_stmt_count; modified in 10.4.14 -main.ps_grant : Modified in 10.4.13 -main.query_cache : MDEV-16180 - Wrong result; modified in 10.4.14 -main.query_cache_debug : MDEV-15281 - Query cache is disabled -main.range : Modified in 10.4.13 -main.range_innodb : MDEV-23371 - Server crash; modified in 10.4.13 -main.range_vs_index_merge : Modified in 10.4.13 -main.range_vs_index_merge_innodb : MDEV-15283 - Server has gone away -main.repair : Modified in 10.4.14 -main.rowid_filter : Modified in 10.4.13 -main.rowid_filter_innodb : MDEV-20538 - Wrong result; modified in 10.4.13 -main.rowid_filter_myisam : Added in 10.4.14 -main.rpl_mysql_upgrade_slave_repo_check : Added in 10.4.13 -main.rowid_filter_innodb_debug : MDEV-22761 - Added in 10.4.15 -main.select : MDEV-20532 - Floating point differences -main.select_jcl6 : MDEV-20532 - Floating point differences -main.select_pkeycache : MDEV-20532 - Floating point differences -main.selectivity : Modified in 10.4.14 -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 -main.signal : Modified in 10.4.14 -main.sp : MDEV-7866 - Mismatch; modified in 10.4.14 -main.sp-big : Modified in 10.4.14 -main.sp-error : Modified in 10.4.14 -main.sp-security : MDEV-10607 - sporadic "can't connect" -main.sp2 : Added in 10.4.14 -main.sp_notembedded : MDEV-10607 - internal error -main.ssl : MDEV-17184 - Failures with OpenSSL 1.1.1 -main.ssl_7937 : MDEV-20958 - Wrong result -main.ssl_ca : MDEV-10895 - SSL connection error on Power -main.ssl_cipher : MDEV-17184 - Failures with OpenSSL 1.1.1 -main.ssl_timeout : MDEV-11244 - Crash -main.stat_tables_innodb : Modified in 10.4.14 -main.stat_tables_par_innodb : MDEV-14155 - Wrong rounding -main.stat_tables_partition : Modified in 10.4.14 -main.status : MDEV-13255 - Wrong result -main.subselect : MDEV-20551 - Valgrind failure -main.subselect4 : Modified in 10.4.14 -main.subselect_exists2in : Modified in 10.4.14 -main.subselect_innodb : MDEV-10614 - Wrong result -main.subselect_sj2_mat : Modified in 10.4.13 -main.table_value_constr : Modified in 10.4.14 -main.tc_heuristic_recover : MDEV-14189 - Wrong result -main.temp_table : Modified in 10.4.14 -main.type_bit : Modified in 10.4.14 -main.type_blob : MDEV-15195 - Wrong result; modified in 10.4.13 -main.type_date : Modified in 10.4.14 -main.type_datetime : Modified in 10.4.14 -main.type_datetime_hires : MDEV-10687 - Timeout; modified in 10.4.14 -main.type_enum : Modified in 10.4.14 -main.type_float : MDEV-20532 - Floating point differences; modified in 10.4.14 -main.type_hex_hybrid : Modified in 10.4.14 -main.type_int : Modified in 10.4.14 -main.type_newdecimal : MDEV-20532 - Floating point differences -main.type_ranges : MDEV-20532 - Floating point differences -main.type_set : Modified in 10.4.14 -main.type_temporal_innodb : Modified in 10.4.14 -main.type_time : Modified in 10.4.14 -main.type_time_hires : Modified in 10.4.14 -main.type_timestamp : Modified in 10.4.14 -main.type_timestamp_hires : Modified in 10.4.14 -main.type_year : Modified in 10.4.14 -main.udf : Modified in 10.4.14 -main.union : Modified in 10.4.14 -main.upgrade_MDEV-19650 : Modified in 10.4.14 -main.upgrade_MDEV-23102-1 : Added in 10.4.14 -main.upgrade_MDEV-23102-2 : Added in 10.4.14 -main.userstat : MDEV-12904 - SSL errors -main.wait_timeout : MDEV-19023 - Lost connection to MySQL server during query -main.win : Modified in 10.4.14 -main.win_ntile : Modified in 10.4.14 -main.xa : MDEV-11769 - lock wait timeout; modified in 10.4.14 +main.alter_table : Modified in 10.4.16 +main.alter_table_trans : MDEV-12084 - timeout +main.analyze_stmt_slow_query_log : MDEV-12237 - Wrong result +main.aria_icp_debug : Added in 10.4.16 +main.auth_named_pipe : MDEV-14724 - System error 2 +main.backup_locks : Modified in 10.4.16 +main.backup_stages : MDEV-23401 - Bad file descriptor +main.binary_to_hex : MDEV-20211 - Wrong result +main.blackhole : Modified in 10.4.16 +main.bootstrap_innodb : Added in 10.4.16 +main.connect : MDEV-17282 - Wrong result +main.connect-abstract : MDEV-20162 - Could not execute 'check-testcase' +main.connect2 : MDEV-13885 - Server crash +main.count_distinct2 : MDEV-11768 - timeout +main.create_delayed : MDEV-10605 - failed with timeout +main.create_drop_event : MDEV-16271 - Wrong result +main.ctype_binary : MDEV-24080 - Data too long for column; include file modified in 10.4.16 +main.ctype_cp1251 : Include file modified in 10.4.16 +main.ctype_cp932_binlog_stm : MDEV-20534 - Wrong result +main.ctype_filename : Modified in 10.4.16 +main.ctype_latin1 : Include file modified in 10.4.16 +main.ctype_ucs : MDEV-17681 - Data too long for column; include file modified in 10.4.16 +main.ctype_upgrade : MDEV-16945 - Error upon mysql_upgrade +main.ctype_utf16 : MDEV-10675: timeout or extra warnings +main.ctype_utf16le : MDEV-10675: timeout or extra warnings +main.ctype_utf8 : Modified in 10.4.16 +main.ctype_utf8mb4_innodb : MDEV-17744 - Timeout; MDEV-18567 - ASAN use-after-poison +main.debug_sync : MDEV-10607 - internal error +main.delayed : MDEV-20961 - Assertion failure +main.derived_cond_pushdown : MDEV-20532 - Floating point differences +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 +main.dyncol : MDEV-19455 - Extra warning +main.empty_server_name-8224 : Modified in 10.4.16 +main.errors : Modified in 10.4.16 +main.events_2 : MDEV-13277 - Crash +main.events_bugs : MDEV-12892 - Crash +main.events_restart : MDEV-12236 - Server shutdown problem +main.events_slowlog : MDEV-12821 - Wrong result +main.fast_prefix_index_fetch_innodb : Modified in 10.4.16 +main.flush : MDEV-19368 - mysqltest failed but provided no output +main.flush_ssl : MDEV-21276 - Aria recovery failure +main.func_gconcat : MDEV-21379 - Valgrind warnings +main.func_json : Modified in 10.4.16 +main.func_math : MDEV-20966 - Wrong error code; modified in 10.4.16 +main.func_test : Modified in 10.4.16 +main.gis : MDEV-13411 - wrong result on P8 +main.gis_notembedded : MDEV-21264 - Wrong result with non-default charset +main.grant : Modified in 10.4.16 +main.grant5 : Modified in 10.4.16 +main.host_cache_size_functionality : MDEV-10606 - sporadic failure on shutdown +main.implicit_commit : Modified in 10.4.16 +main.index_intersect_innodb : MDEV-10643 - failed with timeout +main.index_merge_innodb : MDEV-7142 - Plan mismatch +main.information_schema : Modified in 10.4.16 +main.innodb_ext_key : Modified in 10.4.16 +main.innodb_icp : MDEV-20168 - Wrong execution plans +main.innodb_icp_debug : Added in 10.4.16 +main.invisible_field : Modified in 10.4.16 +main.invisible_field_grant_completely : MDEV-22254 - Syscall param write points to uninitialised bytes +main.ipv4_and_ipv6 : MDEV-20964 - Wrong result +main.ipv6 : MDEV-20964 - Wrong result +main.join_cache : MDEV-17743 - Bad address from storage engine MyISAM +main.kill : Modified in 10.4.16 +main.kill-2 : MDEV-13257 - Wrong result +main.kill_processlist-6619 : MDEV-10793 - Wrong result +main.limit_rows_examined : Modified in 10.4.16 +main.loaddata : MDEV-19368 - mysqltest failed but provided no output +main.locale : MDEV-20521 - Missing warning +main.lock_view : Added in 10.4.16 +main.log_slow : MDEV-13263 - Wrong result +main.log_tables : Modified in 10.4.16 +main.log_tables-big : MDEV-13408 - wrong result +main.log_tables_upgrade : MDEV-20962 - Wrong result +main.mdev-504 : MDEV-15171 - warning +main.mdev375 : MDEV-10607 - sporadic "can't connect" +main.merge : MDEV-10607 - sporadic "can't connect" +main.multi_update_big : Modified in 10.4.16 +main.myisam_icp_debug : Added in 10.4.16 +main.myisam_repair : Added in 10.4.16 +main.mysql : MDEV-20156 - Wrong result +main.mysql_client_test : MDEV-19369 - error: 5888, status: 23, errno: 2; MDEV-19511 - Big endian issue +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_cp932 : MDEV-21275 - Wrong result +main.mysql_upgrade : MDEV-20161 - Wrong result; MDEV-20166 - FATAL ERROR: Upgrade failed; modified in 10.4.16 +main.mysql_upgrade-6984 : MDEV-22514 - Wrong result +main.mysql_upgrade_no_innodb : MDEV-20537 - Wrong result +main.mysql_upgrade_noengine : MDEV-14355 - Wrong result +main.mysql_upgrade_view : MDEV-20161 - Wrong result; MDEV-23392 - Wrong result +main.mysqladmin : MDEV-20535 - Wrong result +main.mysqlbinlog_row_minimal : Modified in 10.4.16 +main.mysqlcheck : MDEV-20164 - Wrong result +main.mysqld--help : Modified in 10.4.16 +main.mysqld_option_err : MDEV-21236 - Wrong error; MDEV-21571 - Crash on bootstrap +main.mysqldump : MDEV-14800 - Stack smashing detected; modified in 10.4.16 +main.mysqldump-max : MDEV-21272 - Wrong result +main.mysqlhotcopy_myisam : MDEV-10995 - Hang on debug +main.mysqlshow : MDEV-20965 - Wrong result +main.mysqlslap : MDEV-11801 - timeout +main.mysqltest : MDEV-13887 - Wrong result +main.named_pipe : Modified in 10.4.16 +main.old-mode : MDEV-19373 - Wrong result +main.openssl_6975 : MDEV-17184 - Failures with OpenSSL 1.1.1 +main.order_by : Modified in 10.4.16 +main.order_by_optimizer_innodb : MDEV-10683 - Wrong result +main.parser : Modified in 10.4.16 +main.partition : Modified in 10.4.16 +main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock +main.partition_innodb : MDEV-20169 - Wrong result; MDEV-23427 - Server crash +main.partition_innodb_plugin : MDEV-12901 - Valgrind warnings +main.partition_innodb_semi_consistent : MDEV-19411 - Failed to start mysqld.1 +main.plugin_auth : MDEV-20957 - Upgrade file was not properly created +main.plugin_auth_qa_2 : MDEV-20165 - Wrong result +main.plugin_innodb : Modified in 10.4.16 +main.pool_of_threads : MDEV-18135 - SSL error: key too small; modified in 10.4.16 +main.precedence : Added in 10.4.16 +main.precedence_bugs : Added in 10.4.16 +main.processlist_notembedded : Modified in 10.4.16 +main.ps : MDEV-11017 - sporadic wrong Prepared_stmt_count +main.ps_error : MDEV-24079 - Memory not freed +main.query_cache : MDEV-16180 - Wrong result +main.query_cache_debug : MDEV-15281 - Query cache is disabled +main.range : Modified in 10.4.16 +main.range_innodb : MDEV-23371 - Server crash +main.range_vs_index_merge_innodb : MDEV-15283 - Server has gone away +main.rowid_filter : Modified in 10.4.16 +main.rowid_filter_innodb : MDEV-20538 - Wrong result +main.rowid_filter_innodb_debug : Added in 10.4.16 +main.rowid_filter_myisam_debug : Added in 10.4.16 +main.select : MDEV-20532 - Floating point differences +main.select_jcl6 : MDEV-20532 - Floating point differences +main.select_pkeycache : MDEV-20532 - Floating point differences +main.set_statement : MDEV-13183 - Wrong result +main.set_statement_notembedded : MDEV-19414 - Wrong result; modified in 10.4.16 +main.shm : MDEV-12727 - Mismatch, ERROR 2013 +main.show_explain : MDEV-10674 - Wrong result code +main.sp : MDEV-7866 - Mismatch; modified in 10.4.16 +main.sp-destruct : Modified in 10.4.16 +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 : MDEV-20958 - Wrong result +main.ssl_ca : MDEV-10895 - SSL connection error on Power +main.ssl_cipher : MDEV-17184 - Failures with OpenSSL 1.1.1 +main.ssl_timeout : MDEV-11244 - Crash +main.stat_tables_par_innodb : MDEV-14155 - Wrong rounding +main.status : MDEV-13255 - Wrong result +main.subselect : MDEV-20551 - Valgrind failure +main.subselect4 : Modified in 10.4.16 +main.subselect_innodb : MDEV-10614 - Wrong result; modified in 10.4.16 +main.sum_distinct-big : Modified in 10.4.16 +main.tc_heuristic_recover : MDEV-14189 - Wrong result +main.temp_table_symlink : MDEV-24058 - Wrong error code; added in 10.4.16 +main.type_blob : MDEV-15195 - Wrong result; modified in 10.4.16 +main.type_date : Modified in 10.4.16 +main.type_datetime : Modified in 10.4.16 +main.type_datetime_hires : MDEV-10687 - Timeout +main.type_float : MDEV-20532 - Floating point differences; modified in 10.4.16 +main.type_newdecimal : MDEV-20532 - Floating point differences; modified in 10.4.16 +main.type_ranges : MDEV-20532 - Floating point differences +main.type_temporal_innodb : MDEV-24025 - Wrong result +main.type_time : Modified in 10.4.16 +main.udf : Modified in 10.4.16 +main.upgrade_MDEV-19650 : Re-enabled in 10.4.16 +main.userstat : MDEV-12904 - SSL errors +main.view : Modified in 10.4.16 +main.wait_timeout : MDEV-19023 - Lost connection to MySQL server during query +main.win : Modified in 10.4.16 +main.windows_debug : Added in 10.4.16 +main.xa : MDEV-11769 - lock wait timeout #----------------------------------------------------------------------- @@ -260,37 +214,37 @@ archive-test_sql_discovery.discover : MDEV-16817 - Table marked as crashed #----------------------------------------------------------------------- -binlog.binlog_commit_wait : MDEV-10150 - Mismatch -binlog.binlog_innodb : MDEV-22516 - Wrong result -binlog.binlog_invalid_read_in_rotate : MDEV-22455 - Server crash -binlog.binlog_ioerr : MDEV-20159 - Assertion failure -binlog.binlog_killed : MDEV-12925 - Wrong result -binlog.binlog_max_extension : MDEV-19762 - Crash on shutdown -binlog.binlog_mysqlbinlog_row_frag : Modified in 10.4.14 -binlog.binlog_mysqlbinlog_row_innodb : MDEV-20530 - Binary files differ -binlog.binlog_mysqlbinlog_row_myisam : MDEV-20530 - Binary files differ -binlog.binlog_no_uniqfile_crash : Added in 10.4.14 -binlog.binlog_parallel_replication_marks_row : Include file modified in 10.4.14 -binlog.binlog_parallel_replication_marks_stm_mix : Include file modified in 10.4.14 -binlog.binlog_row_binlog : MDEV-23402 - Wrong result -binlog.binlog_show_binlog_event_random_pos : MDEV-22473 - Server crash -binlog.binlog_stm_binlog : MDEV-20412 - Wrong result -binlog.binlog_xa_recover : MDEV-8517 - Extra checkpoint -binlog.flashback-largebinlog : MDEV-19764 - Out of memory -binlog.load_data_stm_view : MDEV-16948 - Wrong result -binlog.show_concurrent_rotate : MDEV-20215 - Wrong result +binlog.binlog_commit_wait : MDEV-10150 - Mismatch +binlog.binlog_innodb : MDEV-22516 - Wrong result +binlog.binlog_ioerr : MDEV-20159 - Assertion failure +binlog.binlog_killed : MDEV-12925 - Wrong result +binlog.binlog_max_extension : MDEV-19762 - Crash on shutdown +binlog.binlog_mysqlbinlog_row : Modified in 10.4.16 +binlog.binlog_mysqlbinlog_row_frag : Modified in 10.4.16 +binlog.binlog_mysqlbinlog_row_innodb : MDEV-20530 - Binary files differ +binlog.binlog_mysqlbinlog_row_myisam : MDEV-20530 - Binary files differ +binlog.binlog_no_uniqfile_crash : MDEV-24078 - Server crash upon shutdown +binlog.binlog_recover_checksum_error : Added in 10.4.16 +binlog.binlog_row_binlog : MDEV-23402 - Wrong result +binlog.binlog_show_binlog_event_random_pos : Modified in 10.4.16 +binlog.binlog_stm_binlog : MDEV-20412 - Wrong result +binlog.binlog_stm_mix_innodb_myisam : MDEV-24057 - Wrong result +binlog.binlog_xa_recover : MDEV-8517 - Extra checkpoint +binlog.flashback-largebinlog : MDEV-19764 - Out of memory +binlog.load_data_stm_view : MDEV-16948 - Wrong result +binlog.show_concurrent_rotate : MDEV-20215 - Wrong result #----------------------------------------------------------------------- binlog_encryption.binlog_xa_recover : MDEV-12908 - Extra checkpoint -binlog_encryption.encrypted_master : MDEV-14201 - Extra warnings +binlog_encryption.encrypted_master : MDEV-23637 - Assertion failure; MDEV-14201 - Extra warnings binlog_encryption.encrypted_master_switch_to_unencrypted : MDEV-14190 - Can't init tc log binlog_encryption.encrypted_slave : MDEV-18135 - SSL error: key too small 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; include file modified in 10.4.14 +binlog_encryption.rpl_binlog_errors : MDEV-12742 - Crash binlog_encryption.rpl_checksum : MDEV-16951 - Wrong result -binlog_encryption.rpl_corruption : MDEV-20159 - Assertion failure; MDEV-20953 - Wrong error code; include file modified in 10.4.13 +binlog_encryption.rpl_corruption : MDEV-20159 - Assertion failure; MDEV-20953 - Wrong error code binlog_encryption.rpl_gtid_basic : MDEV-16947 - Server failed to start binlog_encryption.rpl_incident : MDEV-21569 - mutex: LOCK_global_system_variables unlocking binlog_encryption.rpl_loadfile : MDEV-16645 - Timeout in include @@ -308,44 +262,31 @@ binlog_encryption.rpl_typeconv : MDEV-14362 - Lost c #----------------------------------------------------------------------- -compat/maxdb.* : Added to the main set in 10.4.14 -compat/maxdb.rpl_mariadb_timestamp : Added in 10.4.14 -compat/maxdb.type_timestamp : Added in 10.4.14 - -#----------------------------------------------------------------------- - -compat/oracle.binlog_ptr_mysqlbinlog : Added in 10.4.14 -compat/oracle.parser : Modified in 10.4.14 -compat/oracle.rpl_mariadb_date : Added in 10.4.14 -compat/oracle.sp : Modified in 10.4.14 -compat/oracle.sp-cursor-rowtype : Modified in 10.4.14 -compat/oracle.type_date : Modified in 10.4.14 +compat/oracle.parser : Modified in 10.4.16 +compat/oracle.sp-package : Modified in 10.4.16 #----------------------------------------------------------------------- connect.alter : MDEV-18135 - SSL error: key too small connect.drop-open-error : MDEV-18135 - SSL error: key too small connect.json : MDEV-18135 - SSL error: key too small -connect.mysql_index : Modified in 10.4.13 connect.part_file : MDEV-18135 - SSL error: key too small connect.part_table : MDEV-18135 - SSL error: key too small connect.pivot : MDEV-14803 - Failed to discover table connect.secure_file_priv : MDEV-18135 - SSL error: key too small +connect.updelx : Modified in 10.4.16 connect.vcol : MDEV-12374 - Fails on Windows connect.zip : MDEV-13884 - Wrong result #----------------------------------------------------------------------- -csv.read_only : Modified in 10.4.14 - -#----------------------------------------------------------------------- - disks.disks_notembedded : MDEV-21587 - Wrong result #----------------------------------------------------------------------- encryption.corrupted_during_recovery : MDEV-20159 - Assertion failure -encryption.create_or_replace : MDEV-16115 - Trying to access tablespace +encryption.create_or_replace : MDEV-24081 - Lock wait timeout exceeded; modified in 10.4.16 +encryption.create_or_replace_big : Added in 10.4.16 encryption.debug_key_management : MDEV-13841 - Timeout encryption.encrypt_and_grep : MDEV-13765 - Wrong result encryption.innochecksum : MDEV-13644 - Assertion failure @@ -357,7 +298,8 @@ encryption.innodb-first-page-read : MDEV-14356 - Timeout in wait encryption.innodb-force-corrupt : MDEV-17286 - SSL error encryption.innodb-missing-key : MDEV-14728 - SSL error encryption.innodb-page_encryption : MDEV-10641 - mutex problem -encryption.innodb-page_encryption_log_encryption : MDEV-17339 - Crash on restart +encryption.innodb-page_encryption_compression : Modified in 10.4.16 +encryption.innodb-page_encryption_log_encryption : MDEV-17339 - Crash on restart; modified in 10.4.16 encryption.innodb-read-only : MDEV-16563 - Crash on startup encryption.innodb-redo-badkey : MDEV-12898 - Server hang on startup encryption.innodb-redo-nokeys : MDEV-20159 - Assertion failure @@ -366,20 +308,20 @@ encryption.innodb-spatial-index : MDEV-13746 - Wrong result 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; modified in 10.4.14 +encryption.innodb_encrypt_temporary_tables : MDEV-20142 - Wrong result 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_filekeys : MDEV-15673 - Timeout encryption.innodb_encryption_is : MDEV-12898 - Server hang on startup encryption.innodb_encryption_row_compressed : MDEV-16113 - Crash -encryption.innodb_encryption_tables : MDEV-17339 - Crash on restart; modified in 10.4.14 +encryption.innodb_encryption_tables : MDEV-17339 - Crash on restart encryption.innodb_first_page : MDEV-10689 - Crash encryption.innodb_onlinealter_encryption : MDEV-17287 - SIGABRT on server restart encryption.innodb_scrub : MDEV-8139 - scrubbing tests need fixing (fixed in 10.5+) encryption.innodb_scrub_background : MDEV-8139 - scrubbing tests need fixing (fixed in 10.5+) encryption.innodb_scrub_compressed : MDEV-8139 - scrubbing tests need fixing (fixed in 10.5+) -encryption.tempfiles_encrypted : Added in 10.4.14 +encryption.tempfiles_encrypted : Modified in 10.4.16 #----------------------------------------------------------------------- @@ -402,8 +344,7 @@ federated.federated_innodb : MDEV-10617 - Wrong checksum federated.federated_partition : MDEV-10417 - Fails on Mips federated.federated_transactions : MDEV-10617 - Wrong checksum federated.federatedx : MDEV-10617 - Wrong checksum -federated.federatedx_create_handlers : Modified in 10.4.14 -federated.federatedx_versioning : Modified in 10.4.14 +federated.federatedx_create_handlers : Modified in 10.4.16 #----------------------------------------------------------------------- @@ -430,49 +371,50 @@ galera_3nodes.* : Suite is not stable yet #----------------------------------------------------------------------- -gcol.gcol_bugfixes : Modified in 10.4.14 +gcol.gcol_keys_innodb : Include file modified in 10.4.16 +gcol.gcol_keys_myisam : Include file modified in 10.4.16 +gcol.gcol_partition_innodb : Include file modified in 10.4.16 +gcol.gcol_update : Include file modified in 10.4.16 gcol.innodb_virtual_basic : MDEV-16950 - Failing assertion gcol.innodb_virtual_debug : MDEV-23404 - Server crash -gcol.innodb_virtual_debug_purge : MDEV-16952 - Wrong result; modified in 10.4.14 +gcol.innodb_virtual_debug_purge : Include file modified in 10.4.16 +gcol.innodb_virtual_fk : MDEV-20640 - Assertion failure; modified in 10.4.16 gcol.innodb_virtual_fk_restart : MDEV-17466 - Assertion failure -gcol.innodb_virtual_purge : MDEV-22952 - Lock wait timeout +gcol.innodb_virtual_index : Modified in 10.4.16 +gcol.innodb_virtual_purge : MDEV-22952 - Lock wait timeout; include file modified in 10.4.16 gcol.main_alter_table : MDEV-23403 - Wrong result #----------------------------------------------------------------------- innodb.101_compatibility : MDEV-13891 - Wrong result -innodb.alter_algorithm : Modified in 10.4.13 -innodb.alter_algorithm2 : Added in 10.4.13 innodb.alter_copy : MDEV-16181 - Assertion failure -innodb.alter_crash : MDEV-16944 - The process cannot access the file; modified in 10.4.14 +innodb.alter_crash : MDEV-16944 - The process cannot access the file innodb.alter_large_dml : MDEV-20148 - Debug sync point wait timed out -innodb.alter_missing_tablespace : Modified in 10.4.13 -innodb.alter_primary_key : Added in 10.4.14 -innodb.analyze_table : Modified in 10.4.14 +innodb.alter_table : Modified in 10.4.16 innodb.binlog_consistent : MDEV-10618 - Server fails to start innodb.blob-crash : MDEV-20481 - Crash during recovery -innodb.buf_pool_resize_oom : Added in 10.4.13 -innodb.corrupted_during_recovery : Modified in 10.4.13 innodb.create-index : MDEV-20159 - Assertion failure -innodb.default_row_format_alter : Modified in 10.4.14 innodb.default_row_format_compatibility : MDEV-20159 - Assertion failure innodb.doublewrite : MDEV-12905 - Server crash -innodb.foreign_key : Modified in 10.4.13 -innodb.foreign_key_debug : Added in 10.4.13 +innodb.foreign-keys : Modified in 10.4.16 +innodb.foreign_key : Modified in 10.4.16 innodb.group_commit_crash : MDEV-14191 - InnoDB registration failed +innodb.group_commit_crash_no_optimize_thread : MDEV-11770 - Checksum mismatch innodb.ibuf_not_empty : MDEV-19021 - Wrong result +innodb.innodb : Modified in 10.4.16 innodb.innodb-32k-crash : MDEV-20194 - Extra warnings +innodb.innodb-64k : Modified in 10.4.16 innodb.innodb-64k-crash : MDEV-13872 - Failure and crash on startup -innodb.innodb-alter : Modified in 10.4.14 innodb.innodb-alter-debug : MDEV-13182 - InnoDB: adjusting FSP_SPACE_FLAGS innodb.innodb-alter-table : MDEV-10619 - Testcase timeout -innodb.innodb-alter-timestamp : Modified in 10.4.13 innodb.innodb-bigblob : MDEV-18655 - ASAN unknown crash -innodb.innodb-blob : MDEV-12053 - Client crash; modified in 10.4.13 +innodb.innodb-blob : MDEV-12053 - Client crash innodb.innodb-change-buffer-recovery : MDEV-19115 - Lost connection to MySQL server during query innodb.innodb-dict : MDEV-20159 - Assertion failure innodb.innodb-fk : MDEV-13832 - Assertion failure on shutdown innodb.innodb-get-fk : MDEV-13276 - Server crash +innodb.innodb-index : Include file modified in 10.4.16 +innodb.innodb-index-debug : Include file modified in 10.4.16 innodb.innodb-index-online : MDEV-14809 - Cannot save statistics innodb.innodb-page_compression_default : MDEV-13644 - Assertion failure innodb.innodb-page_compression_lzma : MDEV-14353 - Wrong result @@ -481,23 +423,20 @@ innodb.innodb-page_compression_tables : MDEV-13644 - Assertion failure innodb.innodb-page_compression_zip : MDEV-10641 - mutex problem innodb.innodb-table-online : MDEV-13894 - Wrong result innodb.innodb-timeout : MDEV-20159 - Assertion failure -innodb.innodb-ucs2 : MDEV-23370 - Server crash -innodb.innodb-wl5522 : MDEV-13644 - Assertion failure; modified in 10.4.13 +innodb.innodb-wl5522 : MDEV-13644 - Assertion failure innodb.innodb-wl5522-1 : MDEV-22945 - Server crash -innodb.innodb-wl5522-debug : MDEV-14200 - Wrong errno; modified in 10.4.13 +innodb.innodb-wl5522-debug : MDEV-14200 - Wrong errno innodb.innodb_buffer_pool_dump_pct : MDEV-20139 - Timeout in wait_condition.inc -innodb.innodb_buffer_pool_load_now : Added in 10.4.13 innodb.innodb_buffer_pool_resize : MDEV-16964 - Assertion failure -innodb.innodb_buffer_pool_resize_debug : MDEV-22515 - Timeout in wait_condition; added in 10.4.13 +innodb.innodb_buffer_pool_resize_debug : MDEV-22515 - Timeout in wait_condition innodb.innodb_buffer_pool_resize_with_chunks : MDEV-16964 - Assertion failure innodb.innodb_bug14147491 : MDEV-11808 - Index is corrupt innodb.innodb_bug30423 : MDEV-7311 - Wrong result innodb.innodb_bug47167 : MDEV-20524 - Table 'user' is marked as crashed and should be repaired innodb.innodb_bug48024 : MDEV-14352 - Assertion failure innodb.innodb_bulk_create_index_replication : MDEV-15273 - Slave failed to start -innodb.innodb_defrag_concurrent : Modified in 10.4.13 innodb.innodb_defrag_stats_many_tables : MDEV-14198 - Table is full -innodb.innodb_force_recovery_rollback : MDEV-22889 - Wrong result; added in 10.4.14 +innodb.innodb_force_recovery_rollback : MDEV-22889 - Wrong result innodb.innodb_information_schema : MDEV-8851 - Wrong result innodb.innodb_max_recordsize_32k : MDEV-14801 - Operation failed innodb.innodb_max_recordsize_64k : MDEV-15203 - Wrong result @@ -505,149 +444,124 @@ innodb.innodb_monitor : MDEV-10939 - Testcase timeout innodb.innodb_mysql : MDEV-19873 - Wrong result innodb.innodb_simulate_comp_failures_small : MDEV-20526 - ASAN use-after-poison innodb.innodb_stats : MDEV-10682 - wrong result -innodb.innodb_stats_persistent : MDEV-17745 - Wrong result; MDEV-21567 - Wrong result in execution plan +innodb.innodb_stats_drop_locked : Modified in 10.4.16 +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 -innodb.innodb_sys_var_valgrind : Added in 10.4.13 +innodb.innodb_trx_weight : Configuration deleted in 10.4.16 innodb.innodb_zip_innochecksum2 : MDEV-13882 - Warning: difficult to find free blocks -innodb.instant_alter : Modified in 10.4.13 -innodb.instant_alter_bugs : Modified in 10.4.14 -innodb.instant_alter_charset : Modified in 10.4.14 -innodb.instant_alter_debug : Modified in 10.4.13 -innodb.instant_alter_extend : MDEV-20963 - Binary files differ; modified in 10.4.14 -innodb.instant_alter_index_rename : Modified in 10.4.13 -innodb.instant_alter_limit : Modified in 10.4.14 -innodb.leaf_page_corrupted_during_recovery : Modified in 10.4.14 +innodb.instant_alter_bugs : Modified in 10.4.16 +innodb.instant_alter_crash : Modified in 10.4.16 +innodb.instant_alter_extend : MDEV-20963 - Binary files differ +innodb.instant_alter_index_rename : Modified in 10.4.16 +innodb.instant_alter_purge : Modified in 10.4.16 innodb.log_corruption : MDEV-13251 - Wrong result innodb.log_data_file_size : MDEV-14204 - Server failed to start; MDEV-20648 - Assertion failure innodb.log_file : MDEV-20159 - Assertion failure innodb.log_file_name : MDEV-14193 - Exception -innodb.log_file_name_debug : Modified in 10.4.13 innodb.log_file_size : MDEV-15668 - Not found pattern innodb.monitor : MDEV-16179 - Wrong result -innodb.mvcc : Modified in 10.4.14 innodb.page_id_innochecksum : MDEV-20159 - Assertion failure innodb.purge_secondary : MDEV-15681 - Wrong result innodb.purge_thread_shutdown : MDEV-13792 - Wrong result -innodb.read_only_recover_committed : Modified in 10.4.14 innodb.read_only_recovery : MDEV-13886 - Server crash innodb.recovery_shutdown : MDEV-15671 - Checksum mismatch in datafile -innodb.row_format_redundant : MDEV-15192 - Trying to access missing tablespace +innodb.row_format_redundant : MDEV-15192 - Trying to access missing tablespace; modified in 10.4.16 +innodb.stats_persistent : Added in 10.4.16 innodb.table_definition_cache_debug : MDEV-14206 - Extra warning -innodb.table_flags : MDEV-13572 - Wrong result; MDEV-19374 - Server failed to start +innodb.table_flags : MDEV-13572 - Wrong result; MDEV-19374 - Server failed to start; modified in 10.4.16 +innodb.temp_table_savepoint : MDEV-24077 - Assertion failure innodb.temporary_table : MDEV-13265 - Wrong result -innodb.truncate_foreign : Modified in 10.4.14 +innodb.truncate : Modified in 10.4.16 innodb.undo_truncate : MDEV-17340 - Server hung; MDEV-20840 - Sporadic timeout innodb.undo_truncate_recover : MDEV-17679 - Server has gone away; MDEV-19200 - Shutdown fails +innodb.update-cascade : Combinations added in 10.4.16 innodb.update_time : MDEV-14804 - Wrong result -innodb.xa_recovery : MDEV-15279 - mysqld got exception; modified in 10.4.14 -innodb.xa_recovery_debug : Modified in 10.4.14 +innodb.xa_recovery : MDEV-15279 - mysqld got exception #----------------------------------------------------------------------- -innodb_fts.innodb-fts-ddl : Modified in 10.4.14 -innodb_fts.innodb_fts_misc : Modified in 10.4.13 +innodb_fts.basic : Modified in 10.4.16 +innodb_fts.fulltext2 : MDEV-24074 - Server crash +innodb_fts.innodb_fts_misc_1 : Modified in 10.4.16 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.misc_debug : Modified in 10.4.13 -innodb_fts.misc_debug2 : Added in 10.4.13 -innodb_fts.stopword : Added in 10.4.13 -innodb_fts.sync : Modified in 10.4.13 innodb_fts.sync_ddl : MDEV-21568 - Errno: 2000; MDEV-18654 - Assertion failure #----------------------------------------------------------------------- innodb_gis.alter_spatial_index : MDEV-13745 - Server crash -innodb_gis.bug16236208 : Modified in 10.4.13 -innodb_gis.bug16266012 : Modified in 10.4.13 -innodb_gis.geometry : Modified in 10.4.13 -innodb_gis.gis_split_inf : Modified in 10.4.13 innodb_gis.gis_split_nan : MDEV-21678 - Cannot get geometry object -innodb_gis.point_big : Re-enabled in 10.4.13 +innodb_gis.rtree_add_index : Include file modified in 10.4.16 +innodb_gis.rtree_compress : Include file modified in 10.4.16 innodb_gis.rtree_compress2 : MDEV-16269 - Wrong result innodb_gis.rtree_concurrent_srch : MDEV-15284 - Wrong result with embedded -innodb_gis.rtree_multi_pk : Modified in 10.4.13 -innodb_gis.rtree_purge : MDEV-15275 - Timeout +innodb_gis.rtree_purge : MDEV-15275 - Timeout; include file modified in 10.4.16 innodb_gis.rtree_recovery : MDEV-15274 - Error on check -innodb_gis.rtree_split : MDEV-14208 - Too many arguments; modified in 10.4.13 -innodb_gis.rtree_undo : MDEV-14456 - Timeout in include file +innodb_gis.rtree_split : MDEV-14208 - Too many arguments +innodb_gis.rtree_undo : MDEV-14456 - Timeout in include file; include file modified in 10.4.16 innodb_gis.types : MDEV-15679 - Table is marked as crashed #----------------------------------------------------------------------- innodb_zip.cmp_per_index : MDEV-14490 - Table is marked as crashed -innodb_zip.create_options : MDEV-23370 - Server crash; MDEV-21329 - Assertion failure +innodb_zip.create_options : MDEV-21329 - Assertion failure; MDEV-24076 - Assertion failure innodb_zip.index_large_prefix_4k : MDEV-21679 - Row size too large innodb_zip.innochecksum : MDEV-14486 - Server failed to shut down innodb_zip.innochecksum_3 : MDEV-13279 - Extra warnings -innodb_zip.recover : MDEV-22512 - Server failed to restart -innodb_zip.wl5522_debug_zip : MDEV-11600 - Operating system error number 2; modified in 10.4.13 -innodb_zip.wl5522_zip : Modified in 10.4.13 +innodb_zip.recover : MDEV-22512 - Server failed to restart (fixed in 10.5+) +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 #----------------------------------------------------------------------- -maria.bulk_insert_crash : Added in 10.4.14 -maria.encrypt-no-key : Added in 10.4.14 -maria.icp : Include file modified in 10.4.13 +maria.alter : Modified in 10.4.16 +maria.create : Modified in 10.4.16 maria.insert_select : MDEV-12757 - Timeout maria.insert_select-7314 : MDEV-16492 - Timeout maria.maria : MDEV-14430 - Extra warning -maria.maria-no-logging : MDEV-20196 - Crash on shutdown or server can't start +maria.maria-no-logging : MDEV-20196 - Crash on shutdown or server can't start; modified in 10.4.16 #----------------------------------------------------------------------- -mariabackup.* : suite.pm modified in 10.4.13 mariabackup.absolute_ibdata_paths : MDEV-16571 - Wrong result -mariabackup.apply-log-only : MDEV-20135 - Timeout; modified in 10.4.14 -mariabackup.apply-log-only-incr : Modified in 10.4.14 -mariabackup.backup_lock_wait_timeout : Added in 10.4.13 -mariabackup.binlog : Modified in 10.4.14 +mariabackup.apply-log-only : MDEV-20135 - Timeout +mariabackup.backup_ssl : MDEV-24073 - Server crash upon shutdown mariabackup.create_with_data_directory_during_backup : MDEV-20159 - Assertion failure mariabackup.data_directory : MDEV-15270 - Error on exec +mariabackup.ddl_incremental_encrypted : Added in 10.4.16 mariabackup.full_backup : MDEV-16571 - Wrong result -mariabackup.huge_lsn : MDEV-18569 - Table doesn't exist; modified in 10.4.14 -mariabackup.incremental_backup : MDEV-21222 - Memory allocation failure; modified in 10.4.14 -mariabackup.incremental_ddl_before_backup : Modified in 10.4.14 -mariabackup.incremental_ddl_during_backup : Modified in 10.4.14 +mariabackup.huge_lsn : MDEV-18569 - Table doesn't exist +mariabackup.incremental_backup : MDEV-21222 - Memory allocation failure +mariabackup.incremental_ddl_during_backup : Modified in 10.4.16 mariabackup.incremental_encrypted : MDEV-15667 - timeout mariabackup.incremental_rocksdb : MDEV-20954 - Cannot access the file -mariabackup.innodb_xa_rollback : Added in 10.4.13 +mariabackup.innodb_redo_overwrite : MDEV-24023 - Wrong result; added in 10.4.16 mariabackup.log_checksum_mismatch : MDEV-16571 - Wrong result -mariabackup.mdev-14447 : MDEV-15201 - Timeout; modified in 10.4.14 -mariabackup.options_check : Added in 10.4.14 -mariabackup.partial_exclude : MDEV-15270 - Error on exec; modified in 10.4.13 -mariabackup.undo_space_id : Modified in 10.4.14 -mariabackup.unencrypted_page_compressed : MDEV-18653 - Wrong error +mariabackup.mdev-14447 : MDEV-15201 - Timeout +mariabackup.mlog_index_load : Modified in 10.4.16 +mariabackup.partial_exclude : MDEV-15270 - Error on exec +mariabackup.rpl_slave_info : Added in 10.4.16 +mariabackup.unencrypted_page_compressed : MDEV-18653 - Wrong error; include file modified in 10.4.16 mariabackup.xb_compressed_encrypted : MDEV-14812 - Segmentation fault mariabackup.xb_file_key_management : MDEV-16571 - Wrong result -mariabackup.xb_fulltext_encrypted : Modified in 10.4.14 mariabackup.xb_page_compress : MDEV-14810 - status: 1, errno: 11 -mariabackup.xb_partition : MDEV-17584 - Crash upon shutdown; modified in 10.4.14 +mariabackup.xb_partition : MDEV-17584 - Crash upon shutdown mariabackup.xb_rocksdb : MDEV-17338 - Server hung on shutdown #----------------------------------------------------------------------- -mroonga/storage.column_datetime_32bit_2038 : Wrong result on Alpha -mroonga/storage.column_datetime_32bit_before_unix_epoch : Wrong result on Alpha -mroonga/storage.column_datetime_32bit_max : Wrong result on Alpha -mroonga/storage.column_datetime_32bit_out_of_range : Wrong result on Alpha -mroonga/storage.index_multiple_column_unique_date_32bit_equal : Wrong result on Alpha -mroonga/storage.index_multiple_column_unique_date_order_32bit_desc : Wrong result on Alpha -mroonga/storage.index_multiple_column_unique_datetime_index_read : MDEV-8643 - Valgrind -mroonga/storage.optimization_count_skip_index_between : Modified in 10.4.13 -mroonga/storage.optimization_count_skip_index_greater : Modified in 10.4.13 -mroonga/storage.optimization_count_skip_index_greater_equal : Modified in 10.4.13 -mroonga/storage.optimization_count_skip_index_less : Modified in 10.4.13 -mroonga/storage.optimization_count_skip_index_less_equal : Modified in 10.4.13 -mroonga/storage.optimization_count_skip_primary_key_between : Modified in 10.4.13 -mroonga/storage.optimization_count_skip_primary_key_greater : Modified in 10.4.13 -mroonga/storage.optimization_count_skip_primary_key_greater_equal : Modified in 10.4.13 -mroonga/storage.repair_table_no_index_file : MDEV-9364 - wrong result, MDEV-14807 - wrong error message -mroonga/storage.variable_max_n_records_for_estimate_not_found_in_limit : Modified in 10.4.13 +mroonga/storage.column_datetime_32bit_2038 : Wrong result on Alpha +mroonga/storage.column_datetime_32bit_before_unix_epoch : Wrong result on Alpha +mroonga/storage.column_datetime_32bit_max : Wrong result on Alpha +mroonga/storage.column_datetime_32bit_out_of_range : Wrong result on Alpha +mroonga/storage.index_multiple_column_unique_date_32bit_equal : Wrong result on Alpha +mroonga/storage.index_multiple_column_unique_date_order_32bit_desc : Wrong result on Alpha +mroonga/storage.index_multiple_column_unique_datetime_index_read : MDEV-8643 - Valgrind +mroonga/storage.repair_table_no_index_file : MDEV-9364 - wrong result, MDEV-14807 - wrong error message #----------------------------------------------------------------------- @@ -667,32 +581,22 @@ multi_source.status_vars : MDEV-4632 - failed while waiting for Slave_received_h #----------------------------------------------------------------------- -oqgraph.social : MDEV-22280 - Timeout; MDEV-22280 - Timeout +oqgraph.social : MDEV-22280 - Timeout #----------------------------------------------------------------------- -parts.longname : Modified in 10.4.14 -parts.partition_alter1_1_2_innodb : MDEV-18655 - ASAN unknown crash -parts.partition_alter1_1_innodb : MDEV-18655 - ASAN unknown crash -parts.partition_alter1_2_innodb : MDEV-18655 - ASAN unknown crash -parts.partition_alter2_2_maria : MDEV-14364 - Lost connection to MySQL server during query -parts.partition_alter_instant : Added in 10.4.13 -parts.partition_auto_increment_archive : MDEV-16491 - Marked as crashed and should be repaired; include file modified in 10.4.14 -parts.partition_auto_increment_blackhole : Include file modified in 10.4.14 -parts.partition_auto_increment_innodb : Include file modified in 10.4.14 -parts.partition_auto_increment_maria : MDEV-14430 - Extra warning; include file modified in 10.4.14 -parts.partition_auto_increment_memory : Include file modified in 10.4.14 -parts.partition_auto_increment_myisam : Include file modified in 10.4.14 -parts.partition_basic_innodb : MDEV-20214 - ASAN error -parts.partition_debug : Modified in 10.4.14 -parts.partition_debug_innodb : MDEV-10891 - Can't create UNIX socket; MDEV-15095 - Table doesn't exist -parts.partition_exch_qa_10 : MDEV-11765 - wrong result -parts.partition_innodb_status_file : MDEV-12901 - Valgrind -parts.partition_special_innodb : MDEV-16942 - Timeout; modified in 10.4.13 - -#----------------------------------------------------------------------- - -percona.* : MDEV-10997 - Not maintained +parts.partition_alter1_1_2_innodb : MDEV-18655 - ASAN unknown crash +parts.partition_alter1_1_innodb : MDEV-18655 - ASAN unknown crash +parts.partition_alter1_2_innodb : MDEV-18655 - ASAN unknown crash +parts.partition_alter2_2_maria : MDEV-14364 - Lost connection to MySQL server during query +parts.partition_auto_increment_archive : MDEV-16491 - Marked as crashed and should be repaired +parts.partition_auto_increment_maria : MDEV-14430 - Extra warning +parts.partition_basic_innodb : MDEV-20214 - ASAN error +parts.partition_debug_innodb : MDEV-10891 - Can't create UNIX socket; MDEV-15095 - Table doesn't exist +parts.partition_exch_qa_10 : MDEV-11765 - wrong result +parts.partition_innodb_status_file : MDEV-12901 - Valgrind +parts.partition_special_innodb : MDEV-16942 - Timeout +parts.reorganize : Added in 10.4.16 #----------------------------------------------------------------------- @@ -706,13 +610,14 @@ perfschema.hostcache_ipv4_addrinfo_again_allow : MDEV-12759 - Crash perfschema.hostcache_ipv6_addrinfo_again_allow : MDEV-12752 - Crash perfschema.hostcache_ipv6_addrinfo_bad_allow : MDEV-13260 - Crash perfschema.hostcache_ipv6_ssl : MDEV-10696 - Crash +perfschema.nesting : MDEV-23458 - Wrong result perfschema.pfs_upgrade_event : MDEV-20957 - Wrong result perfschema.pfs_upgrade_func : MDEV-20957 - Upgrade file was not properly created perfschema.pfs_upgrade_proc : MDEV-20533 - Upgrade file was not properly created perfschema.pfs_upgrade_table : MDEV-20533 - Exec failed perfschema.pfs_upgrade_view : MDEV-20533 - Upgrade file was not properly created perfschema.privilege_table_io : MDEV-13184 - Extra lines -perfschema.relaylog : MDEV-18134 - Wrong result +perfschema.relaylog : MDEV-18134 - Wrong result; MDEV-24075 - Extra warning perfschema.rpl_gtid_func : MDEV-16897 - Wrong result perfschema.socket_instances_func : MDEV-20140 - Wrong result perfschema.socket_summary_by_event_name_func : MDEV-10622 - Wrong result @@ -730,17 +635,16 @@ perfschema_stress.* : MDEV-10996 - Not maintained #----------------------------------------------------------------------- -period.alter : Modified in 10.4.13 -period.update : Modified in 10.4.13 -period.versioning : MDEV-20159 - Assertion failure; include file modified in 10.4.14 +period.delete : Modified in 10.4.16 +period.update : Modified in 10.4.16 +period.versioning : MDEV-20159 - Assertion failure #----------------------------------------------------------------------- -plugins.audit_null_debug : Modified in 10.4.14 plugins.feedback_plugin_send : MDEV-7932, MDEV-11118 - Connection problems and such -plugins.multiauth : MDEV-20163 - Plugin could not be loaded; modified in 10.4.13 +plugins.multiauth : MDEV-20163 - Plugin could not be loaded plugins.processlist : MDEV-16574 - Wrong result -plugins.server_audit : MDEV-14295 - Wrong result; modified in 10.4.13 +plugins.server_audit : MDEV-14295 - Wrong result; modified in 10.4.16 plugins.thread_pool_server_audit : MDEV-14295 - Wrong result #----------------------------------------------------------------------- @@ -780,135 +684,128 @@ rocksdb_sys_vars.rocksdb_rate_limiter_bytes_per_sec_basic : MDEV-16639 - Crash #----------------------------------------------------------------------- -roles.create_and_grant_role : MDEV-11772 - wrong result -roles.drop_current_role : Added in 10.4.14 -roles.grant_revoke_current : Modified in 10.4.13 -roles.set_default_role_invalid : Modified in 10.4.14 +roles.acl_load_mutex-5170 : Modified in 10.4.16 +roles.create_and_grant_role : MDEV-11772 - wrong result #----------------------------------------------------------------------- -rpl.circular_serverid0 : MDEV-19372 - ASAN heap-use-after-free; modified in 10.4.13 -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 -rpl.create_select : MDEV-14121 - Assertion failure -rpl.last_insert_id : MDEV-10625 - warnings in error log -rpl.parallel_backup : Added in 10.4.14 -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_dump_slave_gtid_state_info : Added in 10.4.14 -rpl.rpl_binlog_errors : MDEV-12742 - Crash; include file modified in 10.4.13 -rpl.rpl_binlog_grant : MDEV-21274 - Lost connection at handshake -rpl.rpl_binlog_index : MDEV-9501 - Failed registering on master -rpl.rpl_bug41902 : Configuration deleted in 10.4.13 -rpl.rpl_cant_read_event_incident : MDEV-20960 - Abort on shutdown -rpl.rpl_checksum_cache : MDEV-22510 - Server crash -rpl.rpl_circular_for_4_hosts : MDEV-20536 - Server crash -rpl.rpl_colSize : MDEV-16112 - Server crash -rpl.rpl_conditional_comments : Modified in 10.4.13 -rpl.rpl_corruption : MDEV-20527 - Slave stopped with wrong error code; include file modified in 10.4.13 -rpl.rpl_create_tmp_table_if_not_exists : MDEV-20159 - Assertion failure -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.4.13 -rpl.rpl_domain_id_filter_master_crash : MDEV-19043 - Table marked as crashed -rpl.rpl_domain_id_filter_restart : MDEV-10684 - Wrong result; MDEV-19043 - Table marked as crashed -rpl.rpl_drop_db_fail : MDEV-16898 - Slave fails to start -rpl.rpl_dump_request_retry_warning : Added in 10.4.14 -rpl.rpl_extra_col_master_innodb : MDEV-16570 - Extra warning -rpl.rpl_fail_register : Modified in 10.4.14 -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 : Re-enabled in 10.4.13; include file modified in 10.4.13 -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; MDEV-23103 - Could not delete gtid domain -rpl.rpl_gtid_errorhandling : MDEV-13261 - Crash -rpl.rpl_gtid_mdev9033 : MDEV-10680 - warnings -rpl.rpl_gtid_reconnect : MDEV-14497 - Crash -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.4.13 -rpl.rpl_gtid_until : MDEV-10625 - warnings in error log -rpl.rpl_ignore_grant : MDEV-20159 - Assertion failure -rpl.rpl_ignore_table : Modified in 10.4.13 -rpl.rpl_ignore_table_update : MDEV-20159 - Assertion failure -rpl.rpl_innodb_bug30888 : MDEV-10417 - Fails on Mips -rpl.rpl_insert : MDEV-9329 - Fails on Ubuntu/s390x -rpl.rpl_insert_delayed : MDEV-9329 - Fails on Ubuntu/s390x -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_ipv4_as_ipv6 : MDEV-20147 - Incorrect checksum for freed object -rpl.rpl_mariadb_slave_capability : MDEV-11018 - Extra lines in binlog -rpl.rpl_mdev12179 : MDEV-19043 - Table marked as crashed -rpl.rpl_mdev6020 : MDEV-15272 - Server crash -rpl.rpl_mixed_mixing_engines : MDEV-21266 - Timeout -rpl.rpl_non_direct_row_mixing_engines : MDEV-16561 - Timeout in master_pos_wait -rpl.rpl_old_master : MDEV-22956 - Failing assertion -rpl.rpl_parallel : MDEV-10653 - Timeouts -rpl.rpl_parallel2 : MDEV-17390 - Operation cannot be performed; re-enabled in 10.4.14; modified in 10.4.14 -rpl.rpl_parallel_conflicts : MDEV-15272 - Server crash -rpl.rpl_parallel_mdev6589 : MDEV-12979 - Assertion failure -rpl.rpl_parallel_multilevel : MDEV-20160 - Server crash -rpl.rpl_parallel_multilevel2 : MDEV-14723 - Timeout -rpl.rpl_parallel_optimistic : MDEV-15278 - Failed to sync with master -rpl.rpl_parallel_optimistic_nobinlog : MDEV-15278 - Failed to sync with master -rpl.rpl_parallel_optimistic_until : MDEV-23021 - Query didn't return a result set; added in 10.4.14 -rpl.rpl_parallel_retry : MDEV-11119 - Crash; MDEV-17109 - Timeout -rpl.rpl_parallel_temptable : MDEV-10356 - Crash; MDEV-19076 - Wrong result -rpl.rpl_partition_innodb : MDEV-10417 - Fails on Mips -rpl.rpl_password_boundaries : MDEV-11534 - Slave IO warnings -rpl.rpl_read_only : MDEV-20159 - Assertion failure -rpl.rpl_row_001 : MDEV-16653 - MTR's 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_corruption : MDEV-21569 - mutex: LOCK_global_system_variables unlocking; modified in 10.4.13 -rpl.rpl_row_drop_create_temp_table : MDEV-14487 - Wrong result -rpl.rpl_row_end_of_statement_loss : MDEV-21237 - Server crash -rpl.rpl_row_img_blobs : MDEV-13875 - command "diff_files" failed -rpl.rpl_row_img_eng_min : MDEV-13875 - diff_files failed -rpl.rpl_row_img_eng_noblob : MDEV-13875 - command "diff_files" failed -rpl.rpl_row_index_choice : MDEV-15196 - Slave crash -rpl.rpl_row_sp001 : MDEV-9329 - Fails on Ubuntu/s390x -rpl.rpl_row_until : MDEV-14052 - Master will not send events with checksum -rpl.rpl_row_virt : Added in 10.4.14 -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_skip_repl : MDEV-23371 - Server crash -rpl.rpl_semi_sync_uninstall_plugin : MDEV-7140 - Assorted failures -rpl.rpl_semi_sync_wait_no_slave : MDEV-20159 - Assertion failure -rpl.rpl_semi_sync_wait_point : MDEV-11807 - timeout in wait condition -rpl.rpl_semisync_ali_issues : MDEV-16272 - Wrong result -rpl.rpl_show_slave_hosts : MDEV-10681 - Crash -rpl.rpl_shutdown_wait_slaves : MDEV-22517 - Timeout on sync_with_master -rpl.rpl_skip_replication : MDEV-23372 - Extra warning -rpl.rpl_slave_grp_exec : MDEV-10514 - Deadlock -rpl.rpl_slave_load_in : MDEV-20159 - Assertion failure -rpl.rpl_slow_query_log : MDEV-13250 - Test abort -rpl.rpl_sp_effects : MDEV-13249 - Crash -rpl.rpl_start_stop_slave : MDEV-13567 - Sync slave timeout -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.4.13 -rpl.rpl_temporal_mysql56_to_mariadb53 : MDEV-9501 - Failed registering on master -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 -rpl.rpl_upgrade_master_info : MDEV-16567 - Assertion failure -rpl.rpl_user_variables : MDEV-20522 - Wrong result -rpl.rpl_variables : MDEV-20150 - Server crash -rpl.sec_behind_master-5114 : MDEV-13878 - Wrong result -rpl.show_status_stop_slave_race-7126 : MDEV-17438 - Timeout +rpl.circular_serverid0 : MDEV-19372 - ASAN heap-use-after-free +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 +rpl.create_select : MDEV-14121 - Assertion failure +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_grant : MDEV-21274 - Lost connection at handshake +rpl.rpl_binlog_index : Modified in 10.4.16 +rpl.rpl_cant_read_event_incident : MDEV-20960 - Abort on shutdown +rpl.rpl_checksum_cache : MDEV-22510 - Server crash +rpl.rpl_circular_for_4_hosts : MDEV-20536 - Server crash +rpl.rpl_colSize : MDEV-16112 - Server crash +rpl.rpl_corruption : MDEV-20527 - Slave stopped with wrong error code +rpl.rpl_create_tmp_table_if_not_exists : MDEV-20159 - Assertion failure +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 +rpl.rpl_domain_id_filter_master_crash : MDEV-19043 - Table marked as crashed +rpl.rpl_domain_id_filter_restart : MDEV-10684 - Wrong result; MDEV-19043 - Table marked as crashed +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-23372 - Extra warning +rpl.rpl_filter_tables_dynamic : Modified in 10.4.16 +rpl.rpl_filter_wild_tables_dynamic : Modified in 10.4.16 +rpl.rpl_flushlog_loop : MDEV-21570 - Server crash +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-13643 - Lost connection; modified in 10.4.16 +rpl.rpl_gtid_delete_domain : MDEV-14463 - Timeout; MDEV-23103 - Could not delete gtid domain; modified in 10.4.16 +rpl.rpl_gtid_errorhandling : MDEV-13261 - Crash +rpl.rpl_gtid_mdev9033 : MDEV-10680 - warnings +rpl.rpl_gtid_reconnect : MDEV-14497 - Crash +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_until : MDEV-10625 - warnings in error log +rpl.rpl_ignore_grant : MDEV-20159 - Assertion failure +rpl.rpl_ignore_table_update : MDEV-20159 - Assertion failure +rpl.rpl_innodb_bug30888 : MDEV-10417 - Fails on Mips +rpl.rpl_insert : MDEV-9329 - Fails on Ubuntu/s390x +rpl.rpl_insert_delayed : MDEV-9329 - Fails on Ubuntu/s390x +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_ipv4_as_ipv6 : MDEV-20147 - Incorrect checksum for freed object +rpl.rpl_mariadb_slave_capability : MDEV-11018 - Extra lines in binlog +rpl.rpl_mdev12179 : MDEV-19043 - Table marked as crashed +rpl.rpl_mdev6020 : MDEV-23426 - Server crash, ASAN failures; MDEV-15272 - Server crash +rpl.rpl_mixed_mixing_engines : MDEV-21266 - Timeout +rpl.rpl_mysql_upgrade : Modified in 10.4.16 +rpl.rpl_non_direct_row_mixing_engines : MDEV-16561 - Timeout in master_pos_wait +rpl.rpl_old_master : MDEV-22956 - Failing assertion +rpl.rpl_parallel : MDEV-10653 - Timeouts +rpl.rpl_parallel2 : MDEV-17390 - Operation cannot be performed +rpl.rpl_parallel_conflicts : MDEV-15272 - Server crash +rpl.rpl_parallel_mdev6589 : MDEV-12979 - Assertion failure +rpl.rpl_parallel_multilevel : MDEV-20160 - Server crash +rpl.rpl_parallel_multilevel2 : MDEV-14723 - Timeout +rpl.rpl_parallel_optimistic : MDEV-15278 - Failed to sync with master +rpl.rpl_parallel_optimistic_nobinlog : MDEV-15278 - Failed to sync with master +rpl.rpl_parallel_optimistic_until : MDEV-23021 - Query didn't return a result set +rpl.rpl_parallel_retry : MDEV-11119 - Crash; MDEV-17109 - Timeout; modified in 10.4.16 +rpl.rpl_parallel_temptable : MDEV-10356 - Crash; MDEV-19076 - Wrong result +rpl.rpl_partition_innodb : MDEV-10417 - Fails on Mips +rpl.rpl_password_boundaries : MDEV-11534 - Slave IO warnings +rpl.rpl_read_only : MDEV-20159 - Assertion failure +rpl.rpl_rewrt_db : MDEV-24060 - Server did not start +rpl.rpl_row_001 : MDEV-16653 - MTR's 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_corruption : MDEV-21569 - mutex: LOCK_global_system_variables unlocking +rpl.rpl_row_drop_create_temp_table : MDEV-14487 - Wrong result +rpl.rpl_row_end_of_statement_loss : MDEV-21237 - Server crash +rpl.rpl_row_img_blobs : MDEV-13875 - command "diff_files" failed +rpl.rpl_row_img_eng_min : MDEV-13875 - diff_files failed +rpl.rpl_row_img_eng_noblob : MDEV-13875 - command "diff_files" failed +rpl.rpl_row_index_choice : MDEV-15196 - Slave crash +rpl.rpl_row_sp001 : MDEV-9329 - Fails on Ubuntu/s390x +rpl.rpl_row_until : MDEV-14052 - Master will not send events with checksum +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_skip_repl : MDEV-23371 - Server crash +rpl.rpl_semi_sync_uninstall_plugin : MDEV-7140 - Assorted failures +rpl.rpl_semi_sync_wait_no_slave : MDEV-20159 - Assertion failure +rpl.rpl_semi_sync_wait_point : MDEV-11807 - timeout in wait condition +rpl.rpl_semisync_ali_issues : MDEV-16272 - Wrong result +rpl.rpl_show_slave_hosts : MDEV-10681 - Crash +rpl.rpl_shutdown_wait_slaves : MDEV-22517 - Timeout on sync_with_master +rpl.rpl_skip_replication : MDEV-23372 - Extra warning +rpl.rpl_slave_grp_exec : MDEV-10514 - Deadlock; re-enabled in 10.4.16; modified in 10.4.16 +rpl.rpl_slave_load_in : MDEV-20159 - Assertion failure +rpl.rpl_slave_load_tmpdir_not_exist : MDEV-23372 - Extra warning +rpl.rpl_slow_query_log : MDEV-13250 - Test abort +rpl.rpl_sp_effects : MDEV-13249 - Crash +rpl.rpl_start_stop_slave : MDEV-13567 - Sync slave timeout; modified in 10.4.16 +rpl.rpl_stm_relay_ign_space : MDEV-14360 - Test assertion +rpl.rpl_stm_stop_middle_group : MDEV-13791 - Server crash +rpl.rpl_sync : MDEV-10633 - Database page corruption +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 +rpl.rpl_upgrade_master_info : MDEV-16567 - Assertion failure +rpl.rpl_user_variables : MDEV-20522 - Wrong result +rpl.rpl_variables : MDEV-20150 - Server crash +rpl.sec_behind_master-5114 : MDEV-13878 - Wrong result +rpl.show_status_stop_slave_race-7126 : Modified in 10.4.16 #----------------------------------------------------------------------- -rpl-tokudb.* : MDEV-14354 - Tests fail with tcmalloc +rpl-tokudb.* : MDEV-14354 - Tests failing with tcmalloc rpl-tokudb.rpl_deadlock_tokudb : MDEV-20529 - mysqltest failed but provided no output rpl-tokudb.rpl_tokudb_commit_after_flush : MDEV-16966 - Server crash @@ -929,22 +826,19 @@ spider.basic_sql : MDEV-11186 - Internal check fails #----------------------------------------------------------------------- -spider/bg.direct_aggregate : MDEV-7098 - Packets out of order -spider/bg.direct_aggregate_part : MDEV-7098 - Trying to unlock mutex that wasn't locked -spider/bg.ha : MDEV-9329 - failures on s390x -spider/bg.ha_part : MDEV-9329 - Fails on Ubuntu/s390x -spider/bg.spider3_fixes : MDEV-12639 - Syntax error -spider/bg.spider3_fixes_part : MDEV-7098 - Trying to unlock mutex -spider/bg.spider_fixes : MDEV-7098 -Mutex problem, MDEV-9329 - failures on s390x -spider/bg.spider_fixes_part : MDEV-7098 - Trying to unlock mutex that wasn't locked -spider/bg.vp_fixes : MDEV-9329 - Fails on Ubuntu/s390x +spider/bg.* : MDEV-24059 - Timeout +spider/bg.ha : MDEV-9329 - failures on s390x +spider/bg.ha_part : MDEV-9329 - Fails on Ubuntu/s390x +spider/bg.spider3_fixes : MDEV-12639 - Syntax error +spider/bg.spider_fixes : MDEV-9329 - failures on s390x +spider/bg.vp_fixes : MDEV-9329 - Fails on Ubuntu/s390x #----------------------------------------------------------------------- -spider/bugfix.mdev_20502 : Added in 10.4.13 -spider/bugfix.mdev_21884 : Added in 10.4.13 -spider/bugfix.return_found_rows_insert : Modified in 10.4.13 -spider/bugfix.return_found_rows_update : Modified in 10.4.13 +spider/bugfix.direct_sql_with_comma_pwd : Added in 10.4.16 +spider/bugfix.mdev_20100 : Added in 10.4.16 +spider/bugfix.mdev_22246 : Added in 10.4.16 +spider/bugfix.xa_cmd : Added in 10.4.16 #----------------------------------------------------------------------- @@ -952,12 +846,10 @@ spider/handler.* : MDEV-10987, MDEV-10990 - Tests have not been maintained #----------------------------------------------------------------------- -sql_sequence.alter : Modified in 10.4.14 sql_sequence.concurrent_create : MDEV-16635 - Server crash -sql_sequence.create : Modified in 10.4.14 -sql_sequence.kill : MDEV-23393 - Server crash; added in 10.4.14 +sql_sequence.kill : MDEV-23393 - Server crash +sql_sequence.next : Modified in 10.4.16 sql_sequence.read_only : MDEV-22956 - Failing assertion -sql_sequence.rebuild : Modified in 10.4.13 #----------------------------------------------------------------------- @@ -965,27 +857,24 @@ storage_engine.* : Tests are not always timely maintained #----------------------------------------------------------------------- -stress.* : Added to the main set in 10.4.14 stress.ddl_innodb : MDEV-10635 - Testcase timeout -stress.misc : Added in 10.4.14 #----------------------------------------------------------------------- -sys_vars.alter_algorithm_basic : Added in 10.4.13 sys_vars.autocommit_func2 : MDEV-9329 - Fails on Ubuntu/s390x sys_vars.host_cache_size_auto : MDEV-20112 - Wrong result sys_vars.innodb_buffer_pool_dump_at_shutdown_basic : MDEV-14280 - Unexpected error sys_vars.innodb_checksum_algorithm_basic : MDEV-21568 - Errno: 2000 -sys_vars.innodb_instant_alter_column_allowed_basic : Added in 10.4.13 sys_vars.keep_files_on_create_basic : MDEV-10676 - timeout sys_vars.log_slow_admin_statements_func : MDEV-12235 - Server crash -sys_vars.max_sort_length_basic : Modified in 10.4.14 -sys_vars.optimizer_switch_basic : Modified in 10.4.14 -sys_vars.rpl_init_slave_func : MDEV-10149 - Test assertion -sys_vars.session_track_system_variables_basic : Modified in 10.4.14 +sys_vars.replicate_do_db_basic : Modified in 10.4.16 +sys_vars.rpl_init_slave_func : Modified in 10.4.16 +sys_vars.session_track_system_variables_basic : Modified in 10.4.16 sys_vars.slow_query_log_func : MDEV-14273 - Wrong result sys_vars.thread_cache_size_func : MDEV-11775 - Wrong result sys_vars.wait_timeout_func : MDEV-12896 - Wrong result +sys_vars.wsrep_cluster_address_basic : Modified in 10.4.16 +sys_vars.wsrep_on_basic : Configuration deleted in 10.4.16 #----------------------------------------------------------------------- @@ -1009,7 +898,6 @@ tokudb.locks-select-update-1 : MDEV-13406 - Lock wait timeout tokudb.rows-32m-rand-insert : MDEV-12640 - Crash tokudb.rows-32m-seq-insert : MDEV-12640 - Crash tokudb.savepoint-5 : MDEV-15280 - Wrong result -tokudb.type_blob : Modified in 10.4.13 tokudb.type_datetime : MDEV-15193 - Wrong result #----------------------------------------------------------------------- @@ -1028,13 +916,12 @@ tokudb_bugs.frm_store : MDEV-12823 - Valgrind tokudb_bugs.frm_store2 : MDEV-12823 - Valgrind tokudb_bugs.frm_store3 : MDEV-12823 - Valgrind tokudb_bugs.xa : MDEV-11804 - Lock wait timeout -tokudb_bugs.xa-3 : MDEV-22512 - Server failed to restart -tokudb_bugs.xa-4 : MDEV-22512 - Server failed to restart +tokudb_bugs.xa-3 : MDEV-22512 - Server failed to restart (fixed in 10.5+) +tokudb_bugs.xa-4 : MDEV-22512 - Server failed to restart (fixed in 10.5+) #----------------------------------------------------------------------- -tokudb_parts.partition_alter4_tokudb : MDEV-12640 - Lost connection -tokudb_parts.partition_auto_increment_tokudb : Include file modified in 10.4.14 +tokudb_parts.partition_alter4_tokudb : MDEV-12640 - Lost connection #----------------------------------------------------------------------- @@ -1060,43 +947,29 @@ unit.mf_iocache : MDEV-20952 - ASAN stack-buffer-overflow vcol.not_supported : MDEV-10639 - Testcase timeout vcol.vcol_keys_innodb : MDEV-10639 - Testcase timeout -vcol.vcol_keys_myisam : Modified in 10.4.14 -vcol.vcol_misc : MDEV-16651 - Wrong error message; modified in 10.4.14 +vcol.vcol_misc : MDEV-16651 - Wrong error message; modified in 10.4.16 #----------------------------------------------------------------------- -versioning.alter : Include file modified in 10.4.14 -versioning.auto_increment : Include file modified in 10.4.14 -versioning.commit_id : Include file modified in 10.4.14 -versioning.create : Include file modified in 10.4.14 -versioning.delete : Include file modified in 10.4.14 -versioning.delete_history : Include file modified in 10.4.14 -versioning.engines : Combinations modified in 10.4.14 -versioning.foreign : Include file modified in 10.4.14 -versioning.insert : Include file modified in 10.4.14 -versioning.online : Include file modified in 10.4.14 -versioning.partition : Modified in 10.4.14 -versioning.partition_innodb : Modified in 10.4.14 -versioning.partition_rotation : Modified in 10.4.14 -versioning.replace : Include file modified in 10.4.14 -versioning.select : Modified in 10.4.14 -versioning.select2 : Modified in 10.4.14 -versioning.sysvars : Modified in 10.4.14 -versioning.update : MDEV-22475 - Wrong result code; modified in 10.4.14 -versioning.update-big : Include file modified in 10.4.14 -versioning.view : Modified in 10.4.14 +versioning.create : Modified in 10.4.16 +versioning.select : Modified in 10.4.16 +versioning.sysvars : Modified in 10.4.16 +versioning.update : MDEV-22475 - Wrong result code +versioning.view : Modified in 10.4.16 #----------------------------------------------------------------------- -wsrep.* : suite.pm modified in 10.4.13 -wsrep.MDEV-20625 : Added in 10.4.13 +wsrep.MDEV-22443 : Added in 10.4.16 +wsrep.MDEV-23081 : Added in 10.4.16 +wsrep.MDEV-23092 : Added in 10.4.16 +wsrep.MDEV-23466 : Added in 10.4.16 wsrep.foreign_key : MDEV-14725 - WSREP has not yet prepared node +wsrep.mdev_22681 : Added in 10.4.16 wsrep.mdev_6832 : MDEV-14195 - Check testcase failed wsrep.pool_of_threads : MDEV-17345 - WSREP has not yet prepared node for application use -wsrep.trans : Modified in 10.4.13 -wsrep.variables : MDEV-17585 - Deadlock +wsrep.variables : Modified in 10.4.16 +wsrep.variables_debug : Added in 10.4.16 #----------------------------------------------------------------------- -wsrep_info.* : suite.pm modified in 10.4.13 wsrep_info.plugin : MDEV-22470 - WSREP: no nodes coming from prim view, prim not possible From 19a847d40c03213fd05693b1b43d974ce0bfe6bf Mon Sep 17 00:00:00 2001 From: Oleksandr Byelkin Date: Thu, 5 Nov 2020 17:37:55 +0100 Subject: [PATCH 2/8] MDEV-19838: followup to make happy following protocol implementations: - mysqlnd from PHP < 7.3 - mysql-connector-python any version - mysql-connector-java any version Relaxed check about garbage at the end of the packet in case of no parameters. Added check for array binding. Fixed test according to the new paradigm (allow junk at the end of the packet) --- sql/sql_prepare.cc | 21 +++++++++++++++++---- tests/mysql_client_test.c | 7 +++++-- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc index 11edd577309..4bf8142959d 100644 --- a/sql/sql_prepare.cc +++ b/sql/sql_prepare.cc @@ -3271,10 +3271,19 @@ void mysqld_stmt_execute(THD *thd, char *packet_arg, uint packet_length) void mysqld_stmt_bulk_execute(THD *thd, char *packet_arg, uint packet_length) { uchar *packet= (uchar*)packet_arg; // GCC 4.0.1 workaround + DBUG_ENTER("mysqld_stmt_execute_bulk"); + + const uint packet_header_lenght= 4 + 2; //ID & 2 bytes of flags + + if (packet_length < packet_header_lenght) + { + my_error(ER_MALFORMED_PACKET, MYF(0)); + DBUG_VOID_RETURN; + } + ulong stmt_id= uint4korr(packet); uint flags= (uint) uint2korr(packet + 4); uchar *packet_end= packet + packet_length; - DBUG_ENTER("mysqld_stmt_execute_bulk"); if (!(thd->client_capabilities & MARIADB_CLIENT_STMT_BULK_OPERATIONS)) @@ -3282,16 +3291,18 @@ void mysqld_stmt_bulk_execute(THD *thd, char *packet_arg, uint packet_length) DBUG_PRINT("error", ("An attempt to execute bulk operation without support")); my_error(ER_UNSUPPORTED_PS, MYF(0)); + DBUG_VOID_RETURN; } /* Check for implemented parameters */ if (flags & (~STMT_BULK_FLAG_CLIENT_SEND_TYPES)) { DBUG_PRINT("error", ("unsupported bulk execute flags %x", flags)); my_error(ER_UNSUPPORTED_PS, MYF(0)); + DBUG_VOID_RETURN; } /* stmt id and two bytes of flags */ - packet+= 4 + 2; + packet+= packet_header_lenght; mysql_stmt_execute_common(thd, stmt_id, packet, packet_end, 0, TRUE, (flags & STMT_BULK_FLAG_CLIENT_SEND_TYPES)); DBUG_VOID_RETURN; @@ -3368,9 +3379,11 @@ stmt_execute_packet_sanity_check(Prepared_statement *stmt, { /* If there is no parameters, this should be normally already end - of the packet. If it's not - then error + of the packet, but it is not a problem if something left (popular + mistake in protocol implementation) because we will not read anymore + from the buffer. */ - return (packet_end > packet); + return false; } return false; } diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index 058168eedd5..93f23236dbc 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -20032,8 +20032,11 @@ static void test_mdev19838() " VALUES " "(0x1111111111111111)", -1); - /* Expecting an error if parameters are sent */ - DIE_UNLESS(rc != 0 || paramCount == 0); + /* + We allow junk at the end of the packet in case of + no parameters. So it will succeed. + */ + DIE_UNLESS(rc == 0); } mysql_stmt_close(stmt); From 2845b656a3ed058bc424ca371760fb17b2a28703 Mon Sep 17 00:00:00 2001 From: Oleksandr Byelkin Date: Thu, 5 Nov 2020 17:49:58 +0100 Subject: [PATCH 3/8] Bump the version --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index a1f0ad08a61..b451aa8a789 100644 --- a/VERSION +++ b/VERSION @@ -1,3 +1,3 @@ MYSQL_VERSION_MAJOR=10 MYSQL_VERSION_MINOR=2 -MYSQL_VERSION_PATCH=35 +MYSQL_VERSION_PATCH=36 From f81eef62e7742806e5e74b5f37f35b7cd2f82291 Mon Sep 17 00:00:00 2001 From: Sergei Petrunia Date: Mon, 9 Nov 2020 18:47:55 +0300 Subject: [PATCH 4/8] MDEV-24117: Memory management problem in statistics state for ... IN Part#1: Revert the patch that caused it: commit 291be494744abe90f4bdf6b5a35c4c26ee8ddda5 Author: Igor Babaev Date: Thu Sep 24 22:02:00 2020 -0700 MDEV-23811: With large number of indexes optimizer chooses an inefficient plan --- mysql-test/r/range.result | 74 +------------------ mysql-test/r/range_mrr_icp.result | 74 +------------------ .../r/range_vs_index_merge_innodb.result | 2 +- mysql-test/t/range.test | 42 ----------- sql/opt_range.cc | 20 ++--- 5 files changed, 11 insertions(+), 201 deletions(-) diff --git a/mysql-test/r/range.result b/mysql-test/r/range.result index 7299982e72d..26ea2c6d323 100644 --- a/mysql-test/r/range.result +++ b/mysql-test/r/range.result @@ -1274,7 +1274,7 @@ SELECT * FROM t1 WHERE 5 <= a AND b = 3 OR 3 <= a; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range a a 5 NULL 3 Using where; Using index +1 SIMPLE t1 range a a 5 NULL 4 Using where; Using index SELECT * FROM t1 WHERE 3 <= a AND a <= 5 OR 5 <= a AND b = 3 OR @@ -3054,77 +3054,5 @@ a b set eq_range_index_dive_limit=default; drop table t1; # -# MDEV-23811: Both disjunct of WHERE condition contain range conditions -# for the same index such that the second range condition -# fully covers the first one. Additionally one of the disjuncts -# contains a range condition for the other index. -# -create table t1 ( -pk int primary key auto_increment, a int, b int, -index idx1(a), index idx2(b) -); -insert into t1(a,b) values -(5,50), (1,10), (3,30), (7,70), (8,80), (4,40), (2,20), (6,60); -insert into t1(a,b) select a+10, b+100 from t1; -insert into t1(a,b) select a+20, b+200 from t1; -insert into t1(a,b) select a+30, b+300 from t1; -insert into t1(a,b) select a,b from t1; -analyze table t1; -Table Op Msg_type Msg_text -test.t1 analyze status OK -explain select * from t1 where ((a between 3 and 4) and b < 100) or (a between 2 and 5); -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where -select * from t1 where ((a between 3 and 4) and b < 100) or (a between 2 and 5); -pk a b -7 2 20 -71 2 20 -3 3 30 -67 3 30 -6 4 40 -70 4 40 -1 5 50 -65 5 50 -explain select * from t1 where (a between 2 and 5) or ((a between 3 and 4) and b < 100); -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where -select * from t1 where (a between 2 and 5) or ((a between 3 and 4) and b < 100); -pk a b -7 2 20 -71 2 20 -3 3 30 -67 3 30 -6 4 40 -70 4 40 -1 5 50 -65 5 50 -explain select * from t1 where (a between 3 and 4) or ((a between 2 and 5) and b < 100); -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where -select * from t1 where (a between 3 and 4) or ((a between 2 and 5) and b < 100); -pk a b -7 2 20 -71 2 20 -3 3 30 -67 3 30 -6 4 40 -70 4 40 -1 5 50 -65 5 50 -explain select * from t1 where ((a between 2 and 5) and b < 100) or (a between 3 and 4); -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where -select * from t1 where ((a between 2 and 5) and b < 100) or (a between 3 and 4); -pk a b -7 2 20 -71 2 20 -3 3 30 -67 3 30 -6 4 40 -70 4 40 -1 5 50 -65 5 50 -drop table t1; -# # End of 10.2 tests # diff --git a/mysql-test/r/range_mrr_icp.result b/mysql-test/r/range_mrr_icp.result index cdaaa5e8ab7..fe4eb99f31f 100644 --- a/mysql-test/r/range_mrr_icp.result +++ b/mysql-test/r/range_mrr_icp.result @@ -1276,7 +1276,7 @@ SELECT * FROM t1 WHERE 5 <= a AND b = 3 OR 3 <= a; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range a a 5 NULL 3 Using where; Using index +1 SIMPLE t1 range a a 5 NULL 4 Using where; Using index SELECT * FROM t1 WHERE 3 <= a AND a <= 5 OR 5 <= a AND b = 3 OR @@ -3066,78 +3066,6 @@ a b set eq_range_index_dive_limit=default; drop table t1; # -# MDEV-23811: Both disjunct of WHERE condition contain range conditions -# for the same index such that the second range condition -# fully covers the first one. Additionally one of the disjuncts -# contains a range condition for the other index. -# -create table t1 ( -pk int primary key auto_increment, a int, b int, -index idx1(a), index idx2(b) -); -insert into t1(a,b) values -(5,50), (1,10), (3,30), (7,70), (8,80), (4,40), (2,20), (6,60); -insert into t1(a,b) select a+10, b+100 from t1; -insert into t1(a,b) select a+20, b+200 from t1; -insert into t1(a,b) select a+30, b+300 from t1; -insert into t1(a,b) select a,b from t1; -analyze table t1; -Table Op Msg_type Msg_text -test.t1 analyze status OK -explain select * from t1 where ((a between 3 and 4) and b < 100) or (a between 2 and 5); -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where; Rowid-ordered scan -select * from t1 where ((a between 3 and 4) and b < 100) or (a between 2 and 5); -pk a b -1 5 50 -3 3 30 -6 4 40 -7 2 20 -65 5 50 -67 3 30 -70 4 40 -71 2 20 -explain select * from t1 where (a between 2 and 5) or ((a between 3 and 4) and b < 100); -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where; Rowid-ordered scan -select * from t1 where (a between 2 and 5) or ((a between 3 and 4) and b < 100); -pk a b -1 5 50 -3 3 30 -6 4 40 -7 2 20 -65 5 50 -67 3 30 -70 4 40 -71 2 20 -explain select * from t1 where (a between 3 and 4) or ((a between 2 and 5) and b < 100); -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where; Rowid-ordered scan -select * from t1 where (a between 3 and 4) or ((a between 2 and 5) and b < 100); -pk a b -1 5 50 -3 3 30 -6 4 40 -7 2 20 -65 5 50 -67 3 30 -70 4 40 -71 2 20 -explain select * from t1 where ((a between 2 and 5) and b < 100) or (a between 3 and 4); -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where; Rowid-ordered scan -select * from t1 where ((a between 2 and 5) and b < 100) or (a between 3 and 4); -pk a b -1 5 50 -3 3 30 -6 4 40 -7 2 20 -65 5 50 -67 3 30 -70 4 40 -71 2 20 -drop table t1; -# # End of 10.2 tests # set optimizer_switch=@mrr_icp_extra_tmp; diff --git a/mysql-test/r/range_vs_index_merge_innodb.result b/mysql-test/r/range_vs_index_merge_innodb.result index 916c30bb770..581f512768c 100644 --- a/mysql-test/r/range_vs_index_merge_innodb.result +++ b/mysql-test/r/range_vs_index_merge_innodb.result @@ -369,7 +369,7 @@ WHERE ((ID < 200) AND (Name LIKE 'Ha%' OR (Country > 'A' AND Country < 'ARG'))) OR ((ID BETWEEN 100 AND 200) AND (Name LIKE 'Pa%' OR (Population > 103000 AND Population < 104000))); id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE City range PRIMARY,Population,Country,Name PRIMARY 4 NULL 200 Using where +1 SIMPLE City index_merge PRIMARY,Population,Country,Name Name,Population,PRIMARY 39,4,4 NULL 307 Using sort_union(Name,Population,PRIMARY); Using where SELECT * FROM City USE INDEX () WHERE ((ID < 10) AND (Name LIKE 'H%' OR (Country > 'A' AND Country < 'ARG'))) OR ((ID BETWEEN 100 AND 110) AND diff --git a/mysql-test/t/range.test b/mysql-test/t/range.test index 0d2fbe24835..67d876d5f10 100644 --- a/mysql-test/t/range.test +++ b/mysql-test/t/range.test @@ -2095,48 +2095,6 @@ set eq_range_index_dive_limit=default; drop table t1; ---echo # ---echo # MDEV-23811: Both disjunct of WHERE condition contain range conditions ---echo # for the same index such that the second range condition ---echo # fully covers the first one. Additionally one of the disjuncts ---echo # contains a range condition for the other index. ---echo # - -create table t1 ( - pk int primary key auto_increment, a int, b int, - index idx1(a), index idx2(b) -); -insert into t1(a,b) values - (5,50), (1,10), (3,30), (7,70), (8,80), (4,40), (2,20), (6,60); -insert into t1(a,b) select a+10, b+100 from t1; -insert into t1(a,b) select a+20, b+200 from t1; -insert into t1(a,b) select a+30, b+300 from t1; -insert into t1(a,b) select a,b from t1; - -analyze table t1; - -let $q1= -select * from t1 where ((a between 3 and 4) and b < 100) or (a between 2 and 5); -eval explain $q1; -eval $q1; - -let $q2= -select * from t1 where (a between 2 and 5) or ((a between 3 and 4) and b < 100); -eval explain $q2; -eval $q2; - -let $q3= -select * from t1 where (a between 3 and 4) or ((a between 2 and 5) and b < 100); -eval explain $q3; -eval $q3; - -let $q4= -select * from t1 where ((a between 2 and 5) and b < 100) or (a between 3 and 4); -eval explain $q4; -eval $q4; - -drop table t1; - --echo # --echo # End of 10.2 tests --echo # diff --git a/sql/opt_range.cc b/sql/opt_range.cc index cd58202ef5f..e933d2af355 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -1852,9 +1852,6 @@ SEL_ARG::SEL_ARG(SEL_ARG &arg) :Sql_alloc() next_key_part=arg.next_key_part; max_part_no= arg.max_part_no; use_count=1; elements=1; - next= 0; - if (next_key_part) - ++next_key_part->use_count; } @@ -8872,15 +8869,9 @@ tree_or(RANGE_OPT_PARAM *param,SEL_TREE *tree1,SEL_TREE *tree2) } bool no_imerge_from_ranges= FALSE; - SEL_TREE *rt1= tree1; - SEL_TREE *rt2= tree2; /* Build the range part of the tree for the formula (1) */ if (sel_trees_can_be_ored(param, tree1, tree2, &ored_keys)) { - if (no_merges1) - rt1= new SEL_TREE(tree1, TRUE, param); - if (no_merges2) - rt2= new SEL_TREE(tree2, TRUE, param); bool must_be_ored= sel_trees_must_be_ored(param, tree1, tree2, ored_keys); no_imerge_from_ranges= must_be_ored; @@ -8938,6 +8929,12 @@ tree_or(RANGE_OPT_PARAM *param,SEL_TREE *tree1,SEL_TREE *tree2) else if (!no_ranges1 && !no_ranges2 && !no_imerge_from_ranges) { /* Build the imerge part of the tree for the formula (1) */ + SEL_TREE *rt1= tree1; + SEL_TREE *rt2= tree2; + if (no_merges1) + rt1= new SEL_TREE(tree1, TRUE, param); + if (no_merges2) + rt2= new SEL_TREE(tree2, TRUE, param); if (!rt1 || !rt2 || result->merges.push_back(imerge_from_ranges) || imerge_from_ranges->or_sel_tree(param, rt1) || @@ -9600,11 +9597,10 @@ key_or(RANGE_OPT_PARAM *param, SEL_ARG *key1,SEL_ARG *key2) if (!tmp->next_key_part) { - SEL_ARG *key2_next= key2->next; if (key2->use_count) { SEL_ARG *key2_cpy= new SEL_ARG(*key2); - if (!key2_cpy) + if (key2_cpy) return 0; key2= key2_cpy; } @@ -9625,7 +9621,7 @@ key_or(RANGE_OPT_PARAM *param, SEL_ARG *key1,SEL_ARG *key2) Move on to next range in key2 */ key2->increment_use_count(-1); // Free not used tree - key2=key2_next; + key2=key2->next; continue; } else From 1404f3bea796c8479cf401cb36d518658600ddca Mon Sep 17 00:00:00 2001 From: Sergei Petrunia Date: Mon, 9 Nov 2020 19:27:56 +0300 Subject: [PATCH 5/8] MDEV-24117: Memory management problem ...: Add a testcase Add a testcase. --- mysql-test/r/range.result | 33 ++++++++++++++++++++++ mysql-test/r/range_mrr_icp.result | 33 ++++++++++++++++++++++ mysql-test/t/range.test | 46 +++++++++++++++++++++++++++++++ 3 files changed, 112 insertions(+) diff --git a/mysql-test/r/range.result b/mysql-test/r/range.result index 26ea2c6d323..b3324601e47 100644 --- a/mysql-test/r/range.result +++ b/mysql-test/r/range.result @@ -3054,5 +3054,38 @@ a b set eq_range_index_dive_limit=default; drop table t1; # +# MDEV-24117: Memory management problem in statistics state... +# (just the testcase) +# +create table t0(a int); +insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); +create table t1(a int); +insert into t1 +select A.a + B.a* 10 + C.a * 100 + D.a * 1000 +from t0 A, t0 B, t0 C, t0 D +where D.a<4; +create table t2 ( +a int, +b int, +key(a) +); +insert into t2 values (1,1),(2,2),(3,3); +set @query=(select group_concat(a) from t1); +set @tmp_24117= @@max_session_mem_used; +# +# On debug build, the usage was +# - 2.8M without the bug +# - 1G with the bug. +set max_session_mem_used=64*1024*1024; +set @query=concat('explain select * from t2 where a in (', @query, ')'); +prepare s from @query; +# This should not fail with an error: +execute s; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ALL a NULL NULL NULL 3 Using where +set max_session_mem_used=@tmp_24117; +deallocate prepare s; +drop table t0,t1,t2; +# # End of 10.2 tests # diff --git a/mysql-test/r/range_mrr_icp.result b/mysql-test/r/range_mrr_icp.result index fe4eb99f31f..d614a3397ee 100644 --- a/mysql-test/r/range_mrr_icp.result +++ b/mysql-test/r/range_mrr_icp.result @@ -3066,6 +3066,39 @@ a b set eq_range_index_dive_limit=default; drop table t1; # +# MDEV-24117: Memory management problem in statistics state... +# (just the testcase) +# +create table t0(a int); +insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); +create table t1(a int); +insert into t1 +select A.a + B.a* 10 + C.a * 100 + D.a * 1000 +from t0 A, t0 B, t0 C, t0 D +where D.a<4; +create table t2 ( +a int, +b int, +key(a) +); +insert into t2 values (1,1),(2,2),(3,3); +set @query=(select group_concat(a) from t1); +set @tmp_24117= @@max_session_mem_used; +# +# On debug build, the usage was +# - 2.8M without the bug +# - 1G with the bug. +set max_session_mem_used=64*1024*1024; +set @query=concat('explain select * from t2 where a in (', @query, ')'); +prepare s from @query; +# This should not fail with an error: +execute s; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ALL a NULL NULL NULL 3 Using where +set max_session_mem_used=@tmp_24117; +deallocate prepare s; +drop table t0,t1,t2; +# # End of 10.2 tests # set optimizer_switch=@mrr_icp_extra_tmp; diff --git a/mysql-test/t/range.test b/mysql-test/t/range.test index 67d876d5f10..f34ac2049e1 100644 --- a/mysql-test/t/range.test +++ b/mysql-test/t/range.test @@ -2095,6 +2095,52 @@ set eq_range_index_dive_limit=default; drop table t1; +--echo # +--echo # MDEV-24117: Memory management problem in statistics state... +--echo # (just the testcase) +--echo # + +create table t0(a int); +insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); + +create table t1(a int); + +# 4K rows +insert into t1 +select A.a + B.a* 10 + C.a * 100 + D.a * 1000 +from t0 A, t0 B, t0 C, t0 D +where D.a<4; + +create table t2 ( + a int, + b int, + key(a) +); + +insert into t2 values (1,1),(2,2),(3,3); + +set @query=(select group_concat(a) from t1); + +set @tmp_24117= @@max_session_mem_used; + +--echo # +--echo # On debug build, the usage was +--echo # - 2.8M without the bug +--echo # - 1G with the bug. + +set max_session_mem_used=64*1024*1024; + +set @query=concat('explain select * from t2 where a in (', @query, ')'); + +prepare s from @query; + +--echo # This should not fail with an error: +execute s; +set max_session_mem_used=@tmp_24117; + +deallocate prepare s; + +drop table t0,t1,t2; --echo # --echo # End of 10.2 tests --echo # From bea84aefb0563a10a310ea81d46c372919345c10 Mon Sep 17 00:00:00 2001 From: Igor Babaev Date: Mon, 9 Nov 2020 13:51:32 -0800 Subject: [PATCH 6/8] MDEV-23811: With large number of indexes optimizer chooses an inefficient plan This bug could manifest itself for a query with WHERE condition containing top level OR formula such that each conjunct contained a single-range condition supported by the same index. One of these range conditions must be fully covered by another range condition that is used later in the OR formula. Additionally at least one of these condition should be ANDed with a sargable range condition supported by a different index. There were several attempts to fix related problems for OR conditions after the backport of range optimizer code from MySQL (commit 0e19f3e36f7842583feb6bead2c2600cd620bced). Unfortunately the first of these fixes contained typo remained unnoticed until recently. This typo bug led to rejection of valid range accesses. This patch fixed this typo bug. The fix revealed another two bugs: one in a constructor for SEL_ARG, the other in the function tree_or(). Both are fixed in this patch. --- mysql-test/r/range.result | 72 +++++++++++++++++++ mysql-test/r/range_mrr_icp.result | 72 +++++++++++++++++++ .../r/range_vs_index_merge_innodb.result | 2 +- mysql-test/t/range.test | 42 +++++++++++ sql/opt_range.cc | 10 ++- 5 files changed, 194 insertions(+), 4 deletions(-) diff --git a/mysql-test/r/range.result b/mysql-test/r/range.result index b3324601e47..9ea0dc12a0b 100644 --- a/mysql-test/r/range.result +++ b/mysql-test/r/range.result @@ -3087,5 +3087,77 @@ set max_session_mem_used=@tmp_24117; deallocate prepare s; drop table t0,t1,t2; # +# MDEV-23811: Both disjunct of WHERE condition contain range conditions +# for the same index such that the second range condition +# fully covers the first one. Additionally one of the disjuncts +# contains a range condition for the other index. +# +create table t1 ( +pk int primary key auto_increment, a int, b int, +index idx1(a), index idx2(b) +); +insert into t1(a,b) values +(5,50), (1,10), (3,30), (7,70), (8,80), (4,40), (2,20), (6,60); +insert into t1(a,b) select a+10, b+100 from t1; +insert into t1(a,b) select a+20, b+200 from t1; +insert into t1(a,b) select a+30, b+300 from t1; +insert into t1(a,b) select a,b from t1; +analyze table t1; +Table Op Msg_type Msg_text +test.t1 analyze status OK +explain select * from t1 where ((a between 3 and 4) and b < 100) or (a between 2 and 5); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where +select * from t1 where ((a between 3 and 4) and b < 100) or (a between 2 and 5); +pk a b +7 2 20 +71 2 20 +3 3 30 +67 3 30 +6 4 40 +70 4 40 +1 5 50 +65 5 50 +explain select * from t1 where (a between 2 and 5) or ((a between 3 and 4) and b < 100); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where +select * from t1 where (a between 2 and 5) or ((a between 3 and 4) and b < 100); +pk a b +7 2 20 +71 2 20 +3 3 30 +67 3 30 +6 4 40 +70 4 40 +1 5 50 +65 5 50 +explain select * from t1 where (a between 3 and 4) or ((a between 2 and 5) and b < 100); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where +select * from t1 where (a between 3 and 4) or ((a between 2 and 5) and b < 100); +pk a b +7 2 20 +71 2 20 +3 3 30 +67 3 30 +6 4 40 +70 4 40 +1 5 50 +65 5 50 +explain select * from t1 where ((a between 2 and 5) and b < 100) or (a between 3 and 4); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where +select * from t1 where ((a between 2 and 5) and b < 100) or (a between 3 and 4); +pk a b +7 2 20 +71 2 20 +3 3 30 +67 3 30 +6 4 40 +70 4 40 +1 5 50 +65 5 50 +drop table t1; +# # End of 10.2 tests # diff --git a/mysql-test/r/range_mrr_icp.result b/mysql-test/r/range_mrr_icp.result index d614a3397ee..55613261ce9 100644 --- a/mysql-test/r/range_mrr_icp.result +++ b/mysql-test/r/range_mrr_icp.result @@ -3099,6 +3099,78 @@ set max_session_mem_used=@tmp_24117; deallocate prepare s; drop table t0,t1,t2; # +# MDEV-23811: Both disjunct of WHERE condition contain range conditions +# for the same index such that the second range condition +# fully covers the first one. Additionally one of the disjuncts +# contains a range condition for the other index. +# +create table t1 ( +pk int primary key auto_increment, a int, b int, +index idx1(a), index idx2(b) +); +insert into t1(a,b) values +(5,50), (1,10), (3,30), (7,70), (8,80), (4,40), (2,20), (6,60); +insert into t1(a,b) select a+10, b+100 from t1; +insert into t1(a,b) select a+20, b+200 from t1; +insert into t1(a,b) select a+30, b+300 from t1; +insert into t1(a,b) select a,b from t1; +analyze table t1; +Table Op Msg_type Msg_text +test.t1 analyze status OK +explain select * from t1 where ((a between 3 and 4) and b < 100) or (a between 2 and 5); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where; Rowid-ordered scan +select * from t1 where ((a between 3 and 4) and b < 100) or (a between 2 and 5); +pk a b +1 5 50 +3 3 30 +6 4 40 +7 2 20 +65 5 50 +67 3 30 +70 4 40 +71 2 20 +explain select * from t1 where (a between 2 and 5) or ((a between 3 and 4) and b < 100); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where; Rowid-ordered scan +select * from t1 where (a between 2 and 5) or ((a between 3 and 4) and b < 100); +pk a b +1 5 50 +3 3 30 +6 4 40 +7 2 20 +65 5 50 +67 3 30 +70 4 40 +71 2 20 +explain select * from t1 where (a between 3 and 4) or ((a between 2 and 5) and b < 100); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where; Rowid-ordered scan +select * from t1 where (a between 3 and 4) or ((a between 2 and 5) and b < 100); +pk a b +1 5 50 +3 3 30 +6 4 40 +7 2 20 +65 5 50 +67 3 30 +70 4 40 +71 2 20 +explain select * from t1 where ((a between 2 and 5) and b < 100) or (a between 3 and 4); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range idx1,idx2 idx1 5 NULL 11 Using index condition; Using where; Rowid-ordered scan +select * from t1 where ((a between 2 and 5) and b < 100) or (a between 3 and 4); +pk a b +1 5 50 +3 3 30 +6 4 40 +7 2 20 +65 5 50 +67 3 30 +70 4 40 +71 2 20 +drop table t1; +# # End of 10.2 tests # set optimizer_switch=@mrr_icp_extra_tmp; diff --git a/mysql-test/r/range_vs_index_merge_innodb.result b/mysql-test/r/range_vs_index_merge_innodb.result index 581f512768c..916c30bb770 100644 --- a/mysql-test/r/range_vs_index_merge_innodb.result +++ b/mysql-test/r/range_vs_index_merge_innodb.result @@ -369,7 +369,7 @@ WHERE ((ID < 200) AND (Name LIKE 'Ha%' OR (Country > 'A' AND Country < 'ARG'))) OR ((ID BETWEEN 100 AND 200) AND (Name LIKE 'Pa%' OR (Population > 103000 AND Population < 104000))); id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE City index_merge PRIMARY,Population,Country,Name Name,Population,PRIMARY 39,4,4 NULL 307 Using sort_union(Name,Population,PRIMARY); Using where +1 SIMPLE City range PRIMARY,Population,Country,Name PRIMARY 4 NULL 200 Using where SELECT * FROM City USE INDEX () WHERE ((ID < 10) AND (Name LIKE 'H%' OR (Country > 'A' AND Country < 'ARG'))) OR ((ID BETWEEN 100 AND 110) AND diff --git a/mysql-test/t/range.test b/mysql-test/t/range.test index f34ac2049e1..264f7c784ce 100644 --- a/mysql-test/t/range.test +++ b/mysql-test/t/range.test @@ -2141,6 +2141,48 @@ set max_session_mem_used=@tmp_24117; deallocate prepare s; drop table t0,t1,t2; +--echo # +--echo # MDEV-23811: Both disjunct of WHERE condition contain range conditions +--echo # for the same index such that the second range condition +--echo # fully covers the first one. Additionally one of the disjuncts +--echo # contains a range condition for the other index. +--echo # + +create table t1 ( + pk int primary key auto_increment, a int, b int, + index idx1(a), index idx2(b) +); +insert into t1(a,b) values + (5,50), (1,10), (3,30), (7,70), (8,80), (4,40), (2,20), (6,60); +insert into t1(a,b) select a+10, b+100 from t1; +insert into t1(a,b) select a+20, b+200 from t1; +insert into t1(a,b) select a+30, b+300 from t1; +insert into t1(a,b) select a,b from t1; + +analyze table t1; + +let $q1= +select * from t1 where ((a between 3 and 4) and b < 100) or (a between 2 and 5); +eval explain $q1; +eval $q1; + +let $q2= +select * from t1 where (a between 2 and 5) or ((a between 3 and 4) and b < 100); +eval explain $q2; +eval $q2; + +let $q3= +select * from t1 where (a between 3 and 4) or ((a between 2 and 5) and b < 100); +eval explain $q3; +eval $q3; + +let $q4= +select * from t1 where ((a between 2 and 5) and b < 100) or (a between 3 and 4); +eval explain $q4; +eval $q4; + +drop table t1; + --echo # --echo # End of 10.2 tests --echo # diff --git a/sql/opt_range.cc b/sql/opt_range.cc index e933d2af355..798b1f284bc 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -1852,6 +1852,9 @@ SEL_ARG::SEL_ARG(SEL_ARG &arg) :Sql_alloc() next_key_part=arg.next_key_part; max_part_no= arg.max_part_no; use_count=1; elements=1; + next= 0; + if (next_key_part) + ++next_key_part->use_count; } @@ -9597,10 +9600,11 @@ key_or(RANGE_OPT_PARAM *param, SEL_ARG *key1,SEL_ARG *key2) if (!tmp->next_key_part) { - if (key2->use_count) + SEL_ARG *key2_next= key2->next; + if (key2_shared) { SEL_ARG *key2_cpy= new SEL_ARG(*key2); - if (key2_cpy) + if (!key2_cpy) return 0; key2= key2_cpy; } @@ -9621,7 +9625,7 @@ key_or(RANGE_OPT_PARAM *param, SEL_ARG *key1,SEL_ARG *key2) Move on to next range in key2 */ key2->increment_use_count(-1); // Free not used tree - key2=key2->next; + key2=key2_next; continue; } else From a0536d4253ff096b82ab1da01471784b4ab3b253 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Fri, 6 Nov 2020 14:29:09 +0200 Subject: [PATCH 7/8] MDEV-24096 InnoDB assertion 'first_free <= srv_page_size - 8' MDEV-23672 (commit 7eda55619654b76add275695e0a6039e60876e81) introduced a regression that can corrupt not only undo log pages, but anything that resides in the InnoDB buffer pool. trx_undo_left(): Add debug assertions for the assumptions. If the pointer is out of bounds, we will return a positive number, not a negative one. Thus, once a page overflow occurs, further overflow to adjacent pages will be allowed. This allows us to remove some more relaxed debug assertions from some callers. trx_undo_log_v_idx(): Correctly calculate the size limit. --- storage/innobase/trx/trx0rec.cc | 42 ++++++++++++++++----------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/storage/innobase/trx/trx0rec.cc b/storage/innobase/trx/trx0rec.cc index eb7d0967901..bf85121d947 100644 --- a/storage/innobase/trx/trx0rec.cc +++ b/storage/innobase/trx/trx0rec.cc @@ -143,15 +143,18 @@ trx_undo_parse_add_undo_rec( } /** Calculate the free space left for extending an undo log record. -@param[in] undo_block undo log page -@param[in] ptr current end of the undo page +@param undo_block undo log page +@param ptr current end of the undo page @return bytes left */ -static ulint trx_undo_left(const buf_block_t* undo_block, const byte* ptr) +static ulint trx_undo_left(const buf_block_t *undo_block, const byte *ptr) { - /* The 10 is a safety margin, in case we have some small - calculation error below */ - return srv_page_size - ulint(ptr - undo_block->frame) - - (10 + FIL_PAGE_DATA_END); + ut_ad(ptr >= &undo_block->frame[TRX_UNDO_PAGE_HDR]); + ut_ad(ptr <= &undo_block->frame[srv_page_size - 10 - FIL_PAGE_DATA_END]); + + /* The 10 is supposed to be an extra safety margin (and needed for + compatibility with older versions) */ + return srv_page_size - ulint(ptr - undo_block->frame) - + (10 + FIL_PAGE_DATA_END); } /**********************************************************************//** @@ -175,9 +178,6 @@ trx_undo_page_set_next_prev_and_add( that points to the next free offset value within undo_page.*/ - ut_ad(ptr > undo_block->frame); - ut_ad(ptr < undo_block->frame + srv_page_size); - if (UNIV_UNLIKELY(trx_undo_left(undo_block, ptr) < 2)) { return(0); } @@ -234,17 +234,15 @@ trx_undo_log_v_idx( ut_ad(!vcol->v_indexes.empty()); - /* Size to reserve, max 5 bytes for each index id and position, plus - 5 bytes for num of indexes, 2 bytes for write total length. - 1 byte for undo log record format version marker */ - ulint size = 5 + 2 + (first_v_col ? 1 : 0); + ulint size = first_v_col ? 1 + 2 : 2; const ulint avail = trx_undo_left(undo_block, ptr); - if (avail < size) { + /* The mach_write_compressed(ptr, flen) in + trx_undo_page_report_modify() will consume additional 1 to 5 bytes. */ + if (avail < size + 5) { return(NULL); } - size = 0; ulint n_idx = 0; for (const auto& v_index : vcol->v_indexes) { n_idx++; @@ -252,12 +250,14 @@ trx_undo_log_v_idx( size += mach_get_compressed_size(uint32_t(v_index.index->id)); size += mach_get_compressed_size(v_index.nth_field); } - size += 2 + mach_get_compressed_size(n_idx); - if (avail < size) { + size += mach_get_compressed_size(n_idx); + + if (avail < size + 5) { return(NULL); } + ut_d(const byte* orig_ptr = ptr); if (first_v_col) { /* write the version marker */ @@ -280,6 +280,8 @@ trx_undo_log_v_idx( ptr += mach_write_compressed(ptr, v_index.nth_field); } + ut_ad(orig_ptr + size == ptr); + mach_write_to_2(old_ptr, ulint(ptr - old_ptr)); return(ptr); @@ -497,8 +499,6 @@ trx_undo_page_report_insert( + undo_block->frame); ptr = undo_block->frame + first_free; - ut_ad(first_free <= srv_page_size); - if (trx_undo_left(undo_block, ptr) < 2 + 1 + 11 + 11) { /* Not enough space for writing the general parameters */ return(0); @@ -905,8 +905,6 @@ trx_undo_page_report_modify( + undo_block->frame); ptr = undo_block->frame + first_free; - ut_ad(first_free <= srv_page_size); - if (trx_undo_left(undo_block, ptr) < 50) { /* NOTE: the value 50 must be big enough so that the general fields written below fit on the undo log page */ From dba846ce2a4c57363c4f0256b0e6d2dd1a55ac40 Mon Sep 17 00:00:00 2001 From: Sergei Petrunia Date: Tue, 10 Nov 2020 12:29:20 +0300 Subject: [PATCH 8/8] MDEV-24117: Memory management problem (in range optimizer) Adjust the testcase for MariaDB 10.3+ : prevent IN-to-subquery conversion optimization from working. --- mysql-test/main/range.result | 2 +- mysql-test/main/range.test | 2 +- mysql-test/main/range_mrr_icp.result | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mysql-test/main/range.result b/mysql-test/main/range.result index 26f871e7c96..a54b76c0b3f 100644 --- a/mysql-test/main/range.result +++ b/mysql-test/main/range.result @@ -3056,7 +3056,7 @@ set @tmp_24117= @@max_session_mem_used; # - 2.8M without the bug # - 1G with the bug. set max_session_mem_used=64*1024*1024; -set @query=concat('explain select * from t2 where a in (', @query, ')'); +set @query=concat('explain select * from t2 where a=1 or a in (', @query, ')'); prepare s from @query; # This should not fail with an error: execute s; diff --git a/mysql-test/main/range.test b/mysql-test/main/range.test index f03c21ad9c1..c850498d7f2 100644 --- a/mysql-test/main/range.test +++ b/mysql-test/main/range.test @@ -2102,7 +2102,7 @@ set @tmp_24117= @@max_session_mem_used; set max_session_mem_used=64*1024*1024; -set @query=concat('explain select * from t2 where a in (', @query, ')'); +set @query=concat('explain select * from t2 where a=1 or a in (', @query, ')'); prepare s from @query; diff --git a/mysql-test/main/range_mrr_icp.result b/mysql-test/main/range_mrr_icp.result index 25cafc4b5a7..98e95e75d37 100644 --- a/mysql-test/main/range_mrr_icp.result +++ b/mysql-test/main/range_mrr_icp.result @@ -3068,7 +3068,7 @@ set @tmp_24117= @@max_session_mem_used; # - 2.8M without the bug # - 1G with the bug. set max_session_mem_used=64*1024*1024; -set @query=concat('explain select * from t2 where a in (', @query, ')'); +set @query=concat('explain select * from t2 where a=1 or a in (', @query, ')'); prepare s from @query; # This should not fail with an error: execute s;