From 578b6ba02af4ecd0468e452578cebf3a2a506216 Mon Sep 17 00:00:00 2001 From: Julius Goryavsky Date: Tue, 14 Jan 2020 14:23:15 +0100 Subject: [PATCH 01/21] MDEV-19457: sys_vars.wsrep_provider_basic failed in buildbot If the initialization of the wsrep provider failed, in some cases the internal variable wrep_inited indicating that the initialization has already been completed is still set to "1", which then leads to confusion in the initialization status. To solve the problem, we should set this variable to "1" only if the wsrep provider initialization really completed successfully. An earlier issue has already been fixed for branch 10.4, and this patch contains a fix for earlier versions (where Galera 3.x is used). --- sql/wsrep_mysqld.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sql/wsrep_mysqld.cc b/sql/wsrep_mysqld.cc index 0627127c6e0..c256467706b 100644 --- a/sql/wsrep_mysqld.cc +++ b/sql/wsrep_mysqld.cc @@ -599,7 +599,6 @@ int wsrep_init() { // enable normal operation in case no provider is specified wsrep_ready_set(TRUE); - wsrep_inited= 1; global_system_variables.wsrep_on = 0; wsrep_init_args args; args.logger_cb = wsrep_log_cb; @@ -610,10 +609,15 @@ int wsrep_init() { DBUG_PRINT("wsrep",("wsrep::init() failed: %d", rcode)); WSREP_ERROR("wsrep::init() failed: %d, must shutdown", rcode); + wsrep_ready_set(FALSE); wsrep->free(wsrep); free(wsrep); wsrep = NULL; } + else + { + wsrep_inited= 1; + } return rcode; } else From 982294ac1680938ac9223fb64a64e21f0cbc322a Mon Sep 17 00:00:00 2001 From: Julius Goryavsky Date: Tue, 14 Jan 2020 13:57:14 +0100 Subject: [PATCH 02/21] MDEV-17601: MariaDB Galera does not expect 'mbstream' as streamfmt Setting "streamfmt=mbstream" in the "[sst]" section causes SST to fail because the format automatically switches to 'tar' by default (insead of mbstream). To fix this, we need to add mbstream to the list of valid values for the format, making it synonymous with xbstream. This must be done both in the SST script and when parsing the options of the corresponding utilities. --- extra/mariabackup/CMakeLists.txt | 2 +- extra/mariabackup/innobackupex.cc | 9 +++++---- extra/mariabackup/xtrabackup.cc | 5 +++-- scripts/wsrep_sst_mariabackup.sh | 4 ++-- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/extra/mariabackup/CMakeLists.txt b/extra/mariabackup/CMakeLists.txt index 9e5b8506658..edbb4e28ab2 100644 --- a/extra/mariabackup/CMakeLists.txt +++ b/extra/mariabackup/CMakeLists.txt @@ -94,7 +94,7 @@ ENDIF() ######################################################################## -# xbstream binary +# mbstream binary ######################################################################## MYSQL_ADD_EXECUTABLE(mbstream ds_buffer.c diff --git a/extra/mariabackup/innobackupex.cc b/extra/mariabackup/innobackupex.cc index 5382f876f74..e3cb7fa5cde 100644 --- a/extra/mariabackup/innobackupex.cc +++ b/extra/mariabackup/innobackupex.cc @@ -600,8 +600,8 @@ static struct my_option ibx_long_options[] = {"stream", OPT_STREAM, "This option specifies the format in which to " "do the streamed backup. The option accepts a string argument. The " "backup will be done to STDOUT in the specified format. Currently, " - "the only supported formats are tar and xbstream. This option is " - "passed directly to xtrabackup's --stream option.", + "the only supported formats are tar and mbstream/xbstream. This " + "option is passed directly to xtrabackup's --stream option.", (uchar*) &ibx_xtrabackup_stream_str, (uchar*) &ibx_xtrabackup_stream_str, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, @@ -669,7 +669,7 @@ innobackupex [--compress] [--compress-threads=NUMBER-OF-THREADS] [--compress-chu [--include=REGEXP] [--user=NAME]\n\ [--password=WORD] [--port=PORT] [--socket=SOCKET]\n\ [--no-timestamp] [--ibbackup=IBBACKUP-BINARY]\n\ - [--slave-info] [--galera-info] [--stream=tar|xbstream]\n\ + [--slave-info] [--galera-info] [--stream=tar|mbstream|xbstream]\n\ [--defaults-file=MY.CNF] [--defaults-group=GROUP-NAME]\n\ [--databases=LIST] [--no-lock] \n\ [--tmpdir=DIRECTORY] [--tables-file=FILE]\n\ @@ -765,7 +765,8 @@ ibx_get_one_option(int optid, } break; case OPT_STREAM: - if (!strcasecmp(argument, "xbstream")) + if (!strcasecmp(argument, "mbstream") || + !strcasecmp(argument, "xbstream")) xtrabackup_stream_fmt = XB_STREAM_FMT_XBSTREAM; else { ibx_msg("Invalid --stream argument: %s\n", argument); diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc index b9cb8a8007a..137ae021381 100644 --- a/extra/mariabackup/xtrabackup.cc +++ b/extra/mariabackup/xtrabackup.cc @@ -675,7 +675,7 @@ struct my_option xb_client_options[] = {"stream", OPT_XTRA_STREAM, "Stream all backup files to the standard output " "in the specified format." - "Supported format is 'xbstream'." + "Supported format is 'mbstream' or 'xbstream'." , (G_PTR*) &xtrabackup_stream_str, (G_PTR*) &xtrabackup_stream_str, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, @@ -1398,7 +1398,8 @@ xb_get_one_option(int optid, xtrabackup_target_dir= xtrabackup_real_target_dir; break; case OPT_XTRA_STREAM: - if (!strcasecmp(argument, "xbstream")) + if (!strcasecmp(argument, "mbstream") || + !strcasecmp(argument, "xbstream")) xtrabackup_stream_fmt = XB_STREAM_FMT_XBSTREAM; else { diff --git a/scripts/wsrep_sst_mariabackup.sh b/scripts/wsrep_sst_mariabackup.sh index 59d2e12817b..a2d10beee06 100644 --- a/scripts/wsrep_sst_mariabackup.sh +++ b/scripts/wsrep_sst_mariabackup.sh @@ -386,8 +386,8 @@ read_cnf() get_stream() { - if [[ $sfmt == 'xbstream' ]];then - wsrep_log_info "Streaming with xbstream" + if [[ $sfmt == 'mbstream' || $sfmt == 'xbstream' ]];then + wsrep_log_info "Streaming with ${sfmt}" if [[ "$WSREP_SST_OPT_ROLE" == "joiner" ]];then strmcmd="${XBSTREAM_BIN} -x" else From 42049f9d397b1e82d7ba5de8ac01acea537b0924 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Mon, 20 Jan 2020 14:30:13 +0100 Subject: [PATCH 03/21] cleanup: simplify install_layout.cmake --- cmake/install_layout.cmake | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake index 7c3036be0a0..d1bb477c072 100644 --- a/cmake/install_layout.cmake +++ b/cmake/install_layout.cmake @@ -139,11 +139,10 @@ SET(INSTALL_SYSCONF2DIR_RPM "/etc/my.cnf.d") # IF(CMAKE_SIZEOF_VOID_P EQUAL 8) SET(INSTALL_LIBDIR_RPM "lib64") - SET(INSTALL_PLUGINDIR_RPM "lib64/mysql/plugin") ELSE() SET(INSTALL_LIBDIR_RPM "lib") - SET(INSTALL_PLUGINDIR_RPM "lib/mysql/plugin") ENDIF() +SET(INSTALL_PLUGINDIR_RPM "${INSTALL_LIBDIR_RPM}/mysql/plugin") # SET(INSTALL_INCLUDEDIR_RPM "include/mysql") # @@ -235,17 +234,18 @@ SET(OLD_INSTALL_LAYOUT ${INSTALL_LAYOUT} CACHE INTERNAL "") # Set INSTALL_FOODIR variables for chosen layout (for example, INSTALL_BINDIR # will be defined as ${INSTALL_BINDIR_STANDALONE} by default if STANDALONE # layout is chosen) -FOREACH(var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN SYSCONF SYSCONF2 - INFO MYSQLTEST SQLBENCH DOCREADME SUPPORTFILES MYSQLDATA UNIX_ADDR - SYSTEMD_UNIT SYSTEMD_SYSUSERS SYSTEMD_TMPFILES) - SET(INSTALL_${var}DIR ${INSTALL_${var}DIR_${INSTALL_LAYOUT}} - CACHE STRING "${var} installation directory" ${FORCE}) - MARK_AS_ADVANCED(INSTALL_${var}DIR) +GET_CMAKE_PROPERTY(ALL_VARS VARIABLES) +FOREACH (V ${ALL_VARS}) + IF (V MATCHES "^(INSTALL_([A-Z_0-9]+)DIR)_${INSTALL_LAYOUT}$") + SET(var ${CMAKE_MATCH_1}) + SET(${var} "${${V}}" CACHE STRING "${CMAKE_MATCH_2} installation directory" ${FORCE}) + MARK_AS_ADVANCED(${var}) - IF(IS_ABSOLUTE ${INSTALL_${var}DIR}) - SET(INSTALL_${var}DIRABS ${INSTALL_${var}DIR}) - ELSE() - SET(INSTALL_${var}DIRABS "${CMAKE_INSTALL_PREFIX}/${INSTALL_${var}DIR}") + IF(IS_ABSOLUTE "${${var}}") + SET(${var}ABS "${${var}}") + ELSE() + SET(${var}ABS "${CMAKE_INSTALL_PREFIX}/${${var}}") + ENDIF() ENDIF() ENDFOREACH() From 8870f18e1df8774b76c30792f6c7bf04230f2a58 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Mon, 20 Jan 2020 15:10:39 +0100 Subject: [PATCH 04/21] MDEV-17292 Package the pam_user_map module --- cmake/cpack_rpm.cmake | 3 +++ cmake/install_layout.cmake | 6 ++++++ debian/mariadb-server-10.2.install | 2 ++ plugin/auth_pam/CMakeLists.txt | 10 ++++++++++ plugin/auth_pam/mapper/user_map.conf | 13 +++++++++++++ 5 files changed, 34 insertions(+) create mode 100644 plugin/auth_pam/mapper/user_map.conf diff --git a/cmake/cpack_rpm.cmake b/cmake/cpack_rpm.cmake index 82fadd6b689..8a2313cd20c 100644 --- a/cmake/cpack_rpm.cmake +++ b/cmake/cpack_rpm.cmake @@ -100,8 +100,11 @@ SET(ignored "%ignore /etc" "%ignore /etc/init.d" "%ignore /etc/logrotate.d" + "%ignore /etc/security" "%ignore /etc/systemd" "%ignore /etc/systemd/system" + "%ignore /lib" + "%ignore /lib/security" "%ignore ${CMAKE_INSTALL_PREFIX}" "%ignore ${CMAKE_INSTALL_PREFIX}/bin" "%ignore ${CMAKE_INSTALL_PREFIX}/include" diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake index d1bb477c072..57c57992f18 100644 --- a/cmake/install_layout.cmake +++ b/cmake/install_layout.cmake @@ -163,6 +163,7 @@ SET(INSTALL_UNIX_ADDRDIR_RPM "${INSTALL_MYSQLDATADIR_RPM}/mysql.sock" SET(INSTALL_SYSTEMD_UNITDIR_RPM "/usr/lib/systemd/system") SET(INSTALL_SYSTEMD_SYSUSERSDIR_RPM "/usr/lib/sysusers.d") SET(INSTALL_SYSTEMD_TMPFILESDIR_RPM "/usr/lib/tmpfiles.d") +SET(INSTALL_PAMDIR_RPM "/lib/security") # # DEB layout @@ -195,6 +196,11 @@ SET(INSTALL_UNIX_ADDRDIR_DEB "/var/run/mysqld/mysqld.sock") SET(INSTALL_SYSTEMD_UNITDIR_DEB "/lib/systemd/system") SET(INSTALL_SYSTEMD_SYSUSERSDIR_DEB "/usr/lib/sysusers.d") SET(INSTALL_SYSTEMD_TMPFILESDIR_DEB "/usr/lib/tmpfiles.d") +IF(CMAKE_SIZEOF_VOID_P EQUAL 8) + SET(INSTALL_PAMDIR_DEB "/lib/x86_64-linux-gnu/security") +ELSE() + SET(INSTALL_PAMDIR_DEB "/lib/i386-linux-gnu/security") +ENDIF() # # SVR4 layout diff --git a/debian/mariadb-server-10.2.install b/debian/mariadb-server-10.2.install index 1ac1c67472c..d35fdf87b94 100644 --- a/debian/mariadb-server-10.2.install +++ b/debian/mariadb-server-10.2.install @@ -3,7 +3,9 @@ debian/additions/debian-start.inc.sh usr/share/mysql debian/additions/echo_stderr usr/share/mysql debian/additions/mysqld_safe_syslog.cnf etc/mysql/conf.d etc/apparmor.d/usr.sbin.mysqld +etc/security/user_map.conf lib/systemd/system/mariadb@bootstrap.service.d/use_galera_new_cluster.conf +lib/*/security/pam_user_map.so usr/bin/aria_chk usr/bin/aria_dump_log usr/bin/aria_ftdump diff --git a/plugin/auth_pam/CMakeLists.txt b/plugin/auth_pam/CMakeLists.txt index 606fef002e7..0efb0b07feb 100644 --- a/plugin/auth_pam/CMakeLists.txt +++ b/plugin/auth_pam/CMakeLists.txt @@ -10,5 +10,15 @@ IF(HAVE_PAM_APPL_H) ENDIF(HAVE_STRNDUP) FIND_LIBRARY(PAM_LIBRARY pam) MYSQL_ADD_PLUGIN(auth_pam auth_pam.c LINK_LIBRARIES pam MODULE_ONLY) + + IF(TARGET auth_pam) + ADD_LIBRARY(pam_user_map MODULE mapper/pam_user_map.c) + TARGET_LINK_LIBRARIES(pam_user_map pam) + SET_TARGET_PROPERTIES (pam_user_map PROPERTIES PREFIX "") + IF(INSTALL_PAMDIR) + INSTALL(TARGETS pam_user_map DESTINATION ${INSTALL_PAMDIR} COMPONENT Server) + INSTALL(FILES mapper/user_map.conf DESTINATION /etc/security COMPONENT Server) + ENDIF() + ENDIF() ENDIF(HAVE_PAM_APPL_H) diff --git a/plugin/auth_pam/mapper/user_map.conf b/plugin/auth_pam/mapper/user_map.conf new file mode 100644 index 00000000000..4af8fb0fe10 --- /dev/null +++ b/plugin/auth_pam/mapper/user_map.conf @@ -0,0 +1,13 @@ +# +# Configuration file for pam_user_map.so +# +# defines mapping in the form +# +# orig_user_name: mapped_user_name +# +# or (to map all users in a specific group) +# +# @group_name: mapped_user_name +# +# comments and empty lines are ignored +# From 10a5e1eccb9cfe7b86436254c958b2b40a246b52 Mon Sep 17 00:00:00 2001 From: Alice Sherepa Date: Thu, 16 Jan 2020 23:37:15 +0100 Subject: [PATCH 05/21] MDEV-21360 save/restore debud_dbug instead of total reset at the end of the test --- .../extra/binlog_tests/binlog_index.inc | 4 +- mysql-test/extra/rpl_tests/rpl_corruption.inc | 7 +-- mysql-test/extra/rpl_tests/rpl_parallel.inc | 21 ++++----- .../rpl_tests/rpl_stop_middle_group.test | 4 +- mysql-test/suite/binlog/r/binlog_index.result | 3 +- .../binlog_encryption/binlog_index.result | 3 +- .../binlog_encryption/rpl_corruption.result | 6 +-- .../binlog_encryption/rpl_parallel.result | 19 ++++---- .../rpl_parallel_ignored_errors.result | 2 +- .../innodb_fts/r/concurrent_insert.result | 2 +- .../suite/innodb_fts/r/sync_block.result | 4 +- .../suite/innodb_fts/t/concurrent_insert.test | 2 +- mysql-test/suite/innodb_fts/t/sync_block.test | 4 +- .../include/rpl_parallel_ignored_errors.inc | 2 +- .../suite/rpl/r/circular_serverid0.result | 2 +- mysql-test/suite/rpl/r/rpl_corruption.result | 6 +-- .../r/rpl_domain_id_filter_io_crash.result | 2 + .../rpl_domain_id_filter_master_crash.result | 1 - .../suite/rpl/r/rpl_gtid_reconnect.result | 2 +- .../rpl/r/rpl_mariadb_slave_capability.result | 6 +-- mysql-test/suite/rpl/r/rpl_parallel.result | 19 ++++---- .../rpl/r/rpl_parallel_ignored_errors.result | 2 +- .../rpl/r/rpl_parallel_optimistic.result | 2 +- .../rpl/r/rpl_stm_stop_middle_group.result | 3 +- .../suite/rpl/t/circular_serverid0.test | 3 +- .../rpl/t/rpl_domain_id_filter_io_crash.test | 3 +- .../t/rpl_domain_id_filter_master_crash.test | 1 - .../suite/rpl/t/rpl_gtid_reconnect.test | 2 +- .../rpl/t/rpl_mariadb_slave_capability.test | 8 ++-- .../suite/rpl/t/rpl_parallel_optimistic.test | 2 +- .../suite/rpl/t/rpl_stm_lcase_tblnames.test | 2 +- .../suite/sys_vars/r/debug_dbug_func.result | 44 +++++++++---------- .../suite/sys_vars/t/debug_dbug_func.test | 30 ++++++------- 33 files changed, 110 insertions(+), 113 deletions(-) diff --git a/mysql-test/extra/binlog_tests/binlog_index.inc b/mysql-test/extra/binlog_tests/binlog_index.inc index 50215aef9a9..47adcb8df7a 100644 --- a/mysql-test/extra/binlog_tests/binlog_index.inc +++ b/mysql-test/extra/binlog_tests/binlog_index.inc @@ -22,7 +22,7 @@ call mtr.add_suppression('Could not open .*'); call mtr.add_suppression('MYSQL_BIN_LOG::purge_logs failed to clean registers before purging logs.'); flush tables; -let $old=`select @@debug`; +SET @saved_dbug = @@SESSION.debug_dbug; RESET MASTER; @@ -273,6 +273,6 @@ SELECT @index; -- replace_regex /\.[\\\/]master/master/ SELECT @index; -eval SET SESSION debug_dbug="$old"; +SET @@SESSION.debug_dbug = @saved_dbug; --echo End of tests diff --git a/mysql-test/extra/rpl_tests/rpl_corruption.inc b/mysql-test/extra/rpl_tests/rpl_corruption.inc index 88f683ed53d..c97b3b35766 100644 --- a/mysql-test/extra/rpl_tests/rpl_corruption.inc +++ b/mysql-test/extra/rpl_tests/rpl_corruption.inc @@ -74,6 +74,7 @@ while ($i) { # Emulate corruption in binlog file when SHOW BINLOG EVENTS is executing --echo # 2. Corruption in master binlog and SHOW BINLOG EVENTS set @saved_dbug = @@global.debug_dbug; + SET GLOBAL debug_dbug="+d,corrupt_read_log_event_char"; --echo SHOW BINLOG EVENTS; --disable_query_log @@ -131,12 +132,13 @@ let $slave_io_errno= 1595,1743; # ER_SLAVE_RELAY_LOG_WRITE_FAILURE, ER_NETWORK_R --source include/wait_for_slave_io_error.inc --connection master SET GLOBAL debug_dbug="-d,corrupt_read_log_event2_set"; -SET GLOBAL debug_dbug= ""; +SET GLOBAL debug_dbug=@saved_dbug; SET GLOBAL master_verify_checksum=1; # Emulate corruption in network --echo # 5. Slave. Corruption in network --connection slave +SET @saved_dbug_slave = @@GLOBAL.debug_dbug; SET GLOBAL debug_dbug="+d,corrupt_queue_event"; START SLAVE IO_THREAD; let $slave_io_errno= 1595,1743; # ER_SLAVE_RELAY_LOG_WRITE_FAILURE, ER_NETWORK_READ_EVENT_CHECKSUM_FAILURE @@ -153,7 +155,7 @@ let $slave_sql_errno= 1593; --source include/wait_for_slave_sql_error.inc SET GLOBAL debug_dbug="-d,corrupt_read_log_event_char"; -SET GLOBAL debug_dbug= ""; +SET GLOBAL debug_dbug=@saved_dbug_slave; # Start normal replication and compare same table on master # and slave @@ -172,6 +174,5 @@ set @@global.debug_dbug = @saved_dbug; SET GLOBAL master_verify_checksum = @old_master_verify_checksum; DROP TABLE t1; --sync_slave_with_master -set @@global.debug_dbug = @saved_dbug; --source include/rpl_end.inc diff --git a/mysql-test/extra/rpl_tests/rpl_parallel.inc b/mysql-test/extra/rpl_tests/rpl_parallel.inc index 42354343084..e2dbb7c3f18 100644 --- a/mysql-test/extra/rpl_tests/rpl_parallel.inc +++ b/mysql-test/extra/rpl_tests/rpl_parallel.inc @@ -1651,7 +1651,6 @@ SELECT * FROM t2 WHERE a >= 40 ORDER BY a; --sync_with_master SELECT * FROM t2 WHERE a >= 40 ORDER BY a; --source include/stop_slave.inc -SET GLOBAL debug_dbug=@old_dbug; SET DEBUG_SYNC= 'RESET'; SET GLOBAL slave_parallel_threads=0; SET GLOBAL slave_parallel_threads=10; @@ -1951,7 +1950,6 @@ SELECT * FROM t2 WHERE a >= 1040 ORDER BY a; --source include/stop_slave.inc SET GLOBAL debug_dbug=@old_dbug; - --echo *** MDEV-6676 - test disabling domain-based parallel replication *** --connection server_1 # Let's do a bunch of transactions that will conflict if run out-of-order in @@ -2000,7 +1998,7 @@ SET GLOBAL debug_dbug= '+d,inject_analyze_table_sleep'; # so sleep is ok here. And it's in general not possible to trigger reliably # the race with debug_sync, since the bugfix makes the race impossible). -SET @old_dbug= @@SESSION.debug_dbug; +SET @old_dbug_slave= @@SESSION.debug_dbug; SET SESSION debug_dbug="+d,binlog_force_commit_id"; # Group commit with cid=10000, two event groups. @@ -2012,7 +2010,7 @@ INSERT INTO t3 VALUES (120, 0); SET @commit_id= 10001; INSERT INTO t3 VALUES (121, 0); -SET SESSION debug_dbug=@old_dbug; +SET SESSION debug_dbug=@old_dbug_slave; SELECT * FROM t3 WHERE a >= 120 ORDER BY a; --source include/save_master_gtid.inc @@ -2044,7 +2042,7 @@ SET GLOBAL debug_dbug= '+d,inject_record_gtid_serverid_100_sleep'; # We inject a small sleep in the corresponding record_gtid() to make the race # easier to hit. -SET @old_dbug= @@SESSION.debug_dbug; +SET @old_dbug_slave= @@SESSION.debug_dbug; SET SESSION debug_dbug="+d,binlog_force_commit_id"; # Group commit with cid=10010, two event groups. @@ -2059,8 +2057,7 @@ INSERT INTO t3 VALUES (130, 0); SET @commit_id= 10011; INSERT INTO t3 VALUES (131, 0); -SET SESSION debug_dbug=@old_dbug; - +SET SESSION debug_dbug=@old_dbug_slave; SELECT * FROM t3 WHERE a >= 130 ORDER BY a; --source include/save_master_gtid.inc @@ -2097,7 +2094,7 @@ SET GLOBAL debug_dbug= '+d,inject_mdev8031'; # complete. Finally an extra KILL check catches an unhandled, lingering # deadlock kill. So rather artificial, but at least it exercises the # relevant code paths. -SET @old_dbug= @@SESSION.debug_dbug; +SET @old_dbug_slave= @@SESSION.debug_dbug; SET SESSION debug_dbug="+d,binlog_force_commit_id"; SET @commit_id= 10200; @@ -2119,7 +2116,7 @@ UPDATE t3 SET b=b+1 WHERE a=204; UPDATE t3 SET b=b+1 WHERE a=203; UPDATE t3 SET b=b+1 WHERE a=205; UPDATE t3 SET b=b+1 WHERE a=205; -SET SESSION debug_dbug=@old_dbug; +SET SESSION debug_dbug=@old_dbug_slave; SELECT * FROM t3 WHERE a>=200 ORDER BY a; --source include/save_master_gtid.inc @@ -2144,7 +2141,7 @@ SET @old_max= @@GLOBAL.max_relay_log_size; SET GLOBAL max_relay_log_size= 4096; --connection server_1 -SET @old_dbug= @@SESSION.debug_dbug; +SET @old_dbug_slave= @@SESSION.debug_dbug; SET SESSION debug_dbug="+d,binlog_force_commit_id"; --let $large= `SELECT REPEAT("*", 8192)` @@ -2167,7 +2164,7 @@ eval UPDATE t3 SET b=b+1 WHERE a=203 /* $large */; eval UPDATE t3 SET b=b+1 WHERE a=205 /* $large */; eval UPDATE t3 SET b=b+1 WHERE a=205 /* $large */; --enable_query_log -SET SESSION debug_dbug=@old_dbug; +SET SESSION debug_dbug=@old_dbug_slave; SELECT * FROM t3 WHERE a>=200 ORDER BY a; --source include/save_master_gtid.inc @@ -2178,7 +2175,7 @@ SELECT * FROM t3 WHERE a>=200 ORDER BY a; SELECT * FROM t3 WHERE a>=200 ORDER BY a; --source include/stop_slave.inc -SET GLOBAL debug_dbug= @old_debg; +SET GLOBAL debug_dbug= @old_dbug; SET GLOBAL max_relay_log_size= @old_max; --source include/start_slave.inc diff --git a/mysql-test/extra/rpl_tests/rpl_stop_middle_group.test b/mysql-test/extra/rpl_tests/rpl_stop_middle_group.test index 43c561c5b85..5c88c14d9b5 100644 --- a/mysql-test/extra/rpl_tests/rpl_stop_middle_group.test +++ b/mysql-test/extra/rpl_tests/rpl_stop_middle_group.test @@ -13,6 +13,7 @@ create table tm (a int auto_increment primary key) engine=myisam; create table ti (a int auto_increment primary key) engine=innodb; sync_slave_with_master; +SET @saved_dbug = @@GLOBAL.debug_dbug; set @@global.debug_dbug="+d,stop_slave_middle_group"; connection master; @@ -135,8 +136,7 @@ eval SELECT "$error" AS Last_SQL_Error, @check as `true`; select max(a) as two from tm; select max(a) as one from ti; -set @@global.debug_dbug="-d"; - +SET @@GLOBAL.debug_dbug = @saved_dbug; # # clean-up # diff --git a/mysql-test/suite/binlog/r/binlog_index.result b/mysql-test/suite/binlog/r/binlog_index.result index bb5d9ff74f1..1f3428e6eef 100644 --- a/mysql-test/suite/binlog/r/binlog_index.result +++ b/mysql-test/suite/binlog/r/binlog_index.result @@ -5,6 +5,7 @@ call mtr.add_suppression('Turning logging off for the whole duration of the MySQ call mtr.add_suppression('Could not open .*'); call mtr.add_suppression('MYSQL_BIN_LOG::purge_logs failed to clean registers before purging logs.'); flush tables; +SET @saved_dbug = @@SESSION.debug_dbug; RESET MASTER; flush logs; flush logs; @@ -183,5 +184,5 @@ master-bin.000011 master-bin.000012 master-bin.000013 -SET SESSION debug_dbug=""; +SET @@SESSION.debug_dbug = @saved_dbug; End of tests diff --git a/mysql-test/suite/binlog_encryption/binlog_index.result b/mysql-test/suite/binlog_encryption/binlog_index.result index bb5d9ff74f1..1f3428e6eef 100644 --- a/mysql-test/suite/binlog_encryption/binlog_index.result +++ b/mysql-test/suite/binlog_encryption/binlog_index.result @@ -5,6 +5,7 @@ call mtr.add_suppression('Turning logging off for the whole duration of the MySQ call mtr.add_suppression('Could not open .*'); call mtr.add_suppression('MYSQL_BIN_LOG::purge_logs failed to clean registers before purging logs.'); flush tables; +SET @saved_dbug = @@SESSION.debug_dbug; RESET MASTER; flush logs; flush logs; @@ -183,5 +184,5 @@ master-bin.000011 master-bin.000012 master-bin.000013 -SET SESSION debug_dbug=""; +SET @@SESSION.debug_dbug = @saved_dbug; End of tests diff --git a/mysql-test/suite/binlog_encryption/rpl_corruption.result b/mysql-test/suite/binlog_encryption/rpl_corruption.result index db72bb304fc..f32b7c58ad1 100644 --- a/mysql-test/suite/binlog_encryption/rpl_corruption.result +++ b/mysql-test/suite/binlog_encryption/rpl_corruption.result @@ -34,10 +34,11 @@ START SLAVE IO_THREAD; include/wait_for_slave_io_error.inc [errno=1595,1743] connection master; SET GLOBAL debug_dbug="-d,corrupt_read_log_event2_set"; -SET GLOBAL debug_dbug= ""; +SET GLOBAL debug_dbug=@saved_dbug; SET GLOBAL master_verify_checksum=1; # 5. Slave. Corruption in network connection slave; +SET @saved_dbug_slave = @@GLOBAL.debug_dbug; SET GLOBAL debug_dbug="+d,corrupt_queue_event"; START SLAVE IO_THREAD; include/wait_for_slave_io_error.inc [errno=1595,1743] @@ -47,7 +48,7 @@ SET GLOBAL debug_dbug="+d,corrupt_read_log_event_char"; START SLAVE SQL_THREAD; include/wait_for_slave_sql_error.inc [errno=1593] SET GLOBAL debug_dbug="-d,corrupt_read_log_event_char"; -SET GLOBAL debug_dbug= ""; +SET GLOBAL debug_dbug=@saved_dbug_slave; # 7. Seek diff for tables on master and slave connection slave; include/start_slave.inc @@ -60,5 +61,4 @@ set @@global.debug_dbug = @saved_dbug; SET GLOBAL master_verify_checksum = @old_master_verify_checksum; DROP TABLE t1; connection slave; -set @@global.debug_dbug = @saved_dbug; include/rpl_end.inc diff --git a/mysql-test/suite/binlog_encryption/rpl_parallel.result b/mysql-test/suite/binlog_encryption/rpl_parallel.result index 20f3facea27..20d7687ec3f 100644 --- a/mysql-test/suite/binlog_encryption/rpl_parallel.result +++ b/mysql-test/suite/binlog_encryption/rpl_parallel.result @@ -1227,7 +1227,6 @@ a 45 46 include/stop_slave.inc -SET GLOBAL debug_dbug=@old_dbug; SET DEBUG_SYNC= 'RESET'; SET GLOBAL slave_parallel_threads=0; SET GLOBAL slave_parallel_threads=10; @@ -1513,7 +1512,7 @@ SET GLOBAL slave_parallel_threads=10; SET @old_dbug= @@GLOBAL.debug_dbug; SET GLOBAL debug_dbug= '+d,inject_analyze_table_sleep'; connection server_1; -SET @old_dbug= @@SESSION.debug_dbug; +SET @old_dbug_slave= @@SESSION.debug_dbug; SET SESSION debug_dbug="+d,binlog_force_commit_id"; SET @commit_id= 10000; ANALYZE TABLE t2; @@ -1522,7 +1521,7 @@ test.t2 analyze status OK INSERT INTO t3 VALUES (120, 0); SET @commit_id= 10001; INSERT INTO t3 VALUES (121, 0); -SET SESSION debug_dbug=@old_dbug; +SET SESSION debug_dbug=@old_dbug_slave; SELECT * FROM t3 WHERE a >= 120 ORDER BY a; a b 120 0 @@ -1544,7 +1543,7 @@ include/stop_slave.inc SET @old_dbug= @@GLOBAL.debug_dbug; SET GLOBAL debug_dbug= '+d,inject_record_gtid_serverid_100_sleep'; connection server_1; -SET @old_dbug= @@SESSION.debug_dbug; +SET @old_dbug_slave= @@SESSION.debug_dbug; SET SESSION debug_dbug="+d,binlog_force_commit_id"; SET @old_server_id= @@SESSION.server_id; SET SESSION server_id= 100; @@ -1554,7 +1553,7 @@ SET SESSION server_id= @old_server_id; INSERT INTO t3 VALUES (130, 0); SET @commit_id= 10011; INSERT INTO t3 VALUES (131, 0); -SET SESSION debug_dbug=@old_dbug; +SET SESSION debug_dbug=@old_dbug_slave; SELECT * FROM t3 WHERE a >= 130 ORDER BY a; a b 130 0 @@ -1580,7 +1579,7 @@ include/stop_slave.inc SET @old_dbug= @@GLOBAL.debug_dbug; SET GLOBAL debug_dbug= '+d,inject_mdev8031'; connection server_1; -SET @old_dbug= @@SESSION.debug_dbug; +SET @old_dbug_slave= @@SESSION.debug_dbug; SET SESSION debug_dbug="+d,binlog_force_commit_id"; SET @commit_id= 10200; INSERT INTO t3 VALUES (203, 1); @@ -1601,7 +1600,7 @@ UPDATE t3 SET b=b+1 WHERE a=204; UPDATE t3 SET b=b+1 WHERE a=203; UPDATE t3 SET b=b+1 WHERE a=205; UPDATE t3 SET b=b+1 WHERE a=205; -SET SESSION debug_dbug=@old_dbug; +SET SESSION debug_dbug=@old_dbug_slave; SELECT * FROM t3 WHERE a>=200 ORDER BY a; a b 201 3 @@ -1631,11 +1630,11 @@ SET GLOBAL debug_dbug= '+d,inject_retry_event_group_open_binlog_kill'; SET @old_max= @@GLOBAL.max_relay_log_size; SET GLOBAL max_relay_log_size= 4096; connection server_1; -SET @old_dbug= @@SESSION.debug_dbug; +SET @old_dbug_slave= @@SESSION.debug_dbug; SET SESSION debug_dbug="+d,binlog_force_commit_id"; SET @commit_id= 10210; Omit long queries that cause relaylog rotations and transaction retries... -SET SESSION debug_dbug=@old_dbug; +SET SESSION debug_dbug=@old_dbug_slave; SELECT * FROM t3 WHERE a>=200 ORDER BY a; a b 201 6 @@ -1655,7 +1654,7 @@ a b 204 7 205 5 include/stop_slave.inc -SET GLOBAL debug_dbug= @old_debg; +SET GLOBAL debug_dbug= @old_dbug; SET GLOBAL max_relay_log_size= @old_max; include/start_slave.inc *** MDEV-8725: Assertion on ROLLBACK statement in the binary log *** diff --git a/mysql-test/suite/binlog_encryption/rpl_parallel_ignored_errors.result b/mysql-test/suite/binlog_encryption/rpl_parallel_ignored_errors.result index 570d2534ed7..3dd5a3ea83c 100644 --- a/mysql-test/suite/binlog_encryption/rpl_parallel_ignored_errors.result +++ b/mysql-test/suite/binlog_encryption/rpl_parallel_ignored_errors.result @@ -4,7 +4,7 @@ connection server_2; include/stop_slave.inc SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads; SET @old_parallel_mode=@@GLOBAL.slave_parallel_mode; -SET @old_dbug= @@GLOBAL.debug_dbug; +SET @old_debug= @@GLOBAL.debug_dbug; SET GLOBAL slave_parallel_mode='optimistic'; SET GLOBAL slave_parallel_threads= 3; CHANGE MASTER TO master_use_gtid=slave_pos; diff --git a/mysql-test/suite/innodb_fts/r/concurrent_insert.result b/mysql-test/suite/innodb_fts/r/concurrent_insert.result index 9be7ba35f30..e91ea02b1de 100644 --- a/mysql-test/suite/innodb_fts/r/concurrent_insert.result +++ b/mysql-test/suite/innodb_fts/r/concurrent_insert.result @@ -29,7 +29,7 @@ ALTER TABLE t2 drop index idx1; connection default; set DEBUG_SYNC= 'now SIGNAL fts_drop_index'; connection con1; -SET @@GLOBAL.debug_dbug = @saved_dbug; drop table t1, t2; connection default; set DEBUG_SYNC=RESET; +SET @@GLOBAL.debug_dbug = @saved_dbug; diff --git a/mysql-test/suite/innodb_fts/r/sync_block.result b/mysql-test/suite/innodb_fts/r/sync_block.result index f9f695c42f4..65bee127e80 100644 --- a/mysql-test/suite/innodb_fts/r/sync_block.result +++ b/mysql-test/suite/innodb_fts/r/sync_block.result @@ -39,7 +39,7 @@ SLEEP(2) SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02'; sql_text INSERT INTO t1(title) VALUES('mysql database') -SET GLOBAL debug_dbug = @old_debug_dbug; +SET GLOBAL debug_dbug = @old_debug; TRUNCATE TABLE mysql.slow_log; DROP TABLE t1; # Case 2: Sync blocks DML(insert) on other tables. @@ -71,7 +71,7 @@ SLEEP(2) # slow log results should be empty here. SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02'; sql_text -SET GLOBAL debug_dbug = @old_debug_dbug; +SET GLOBAL debug_dbug = @old_debug; TRUNCATE TABLE mysql.slow_log; DROP TABLE t1,t2; disconnect con1; diff --git a/mysql-test/suite/innodb_fts/t/concurrent_insert.test b/mysql-test/suite/innodb_fts/t/concurrent_insert.test index 1505767d835..35debd87cea 100644 --- a/mysql-test/suite/innodb_fts/t/concurrent_insert.test +++ b/mysql-test/suite/innodb_fts/t/concurrent_insert.test @@ -46,7 +46,7 @@ set DEBUG_SYNC= 'now SIGNAL fts_drop_index'; connection con1; reap; -SET @@GLOBAL.debug_dbug = @saved_dbug; drop table t1, t2; connection default; set DEBUG_SYNC=RESET; +SET @@GLOBAL.debug_dbug = @saved_dbug; diff --git a/mysql-test/suite/innodb_fts/t/sync_block.test b/mysql-test/suite/innodb_fts/t/sync_block.test index 1dd3c2bc38e..895d2ba8a59 100644 --- a/mysql-test/suite/innodb_fts/t/sync_block.test +++ b/mysql-test/suite/innodb_fts/t/sync_block.test @@ -61,7 +61,7 @@ SELECT SLEEP(2); -- echo # slow log results should only contain INSERT INTO t1. SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02'; -SET GLOBAL debug_dbug = @old_debug_dbug; +SET GLOBAL debug_dbug = @old_debug; TRUNCATE TABLE mysql.slow_log; DROP TABLE t1; @@ -107,7 +107,7 @@ SELECT SLEEP(2); -- echo # slow log results should be empty here. SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02'; -SET GLOBAL debug_dbug = @old_debug_dbug; +SET GLOBAL debug_dbug = @old_debug; TRUNCATE TABLE mysql.slow_log; DROP TABLE t1,t2; diff --git a/mysql-test/suite/rpl/include/rpl_parallel_ignored_errors.inc b/mysql-test/suite/rpl/include/rpl_parallel_ignored_errors.inc index 25da12f30a3..7a6a758a508 100644 --- a/mysql-test/suite/rpl/include/rpl_parallel_ignored_errors.inc +++ b/mysql-test/suite/rpl/include/rpl_parallel_ignored_errors.inc @@ -47,7 +47,7 @@ --source include/stop_slave.inc SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads; SET @old_parallel_mode=@@GLOBAL.slave_parallel_mode; -SET @old_dbug= @@GLOBAL.debug_dbug; +SET @old_debug= @@GLOBAL.debug_dbug; SET GLOBAL slave_parallel_mode='optimistic'; SET GLOBAL slave_parallel_threads= 3; CHANGE MASTER TO master_use_gtid=slave_pos; diff --git a/mysql-test/suite/rpl/r/circular_serverid0.result b/mysql-test/suite/rpl/r/circular_serverid0.result index 112f9359ac4..928a0a48888 100644 --- a/mysql-test/suite/rpl/r/circular_serverid0.result +++ b/mysql-test/suite/rpl/r/circular_serverid0.result @@ -1,9 +1,9 @@ include/rpl_init.inc [topology=1->2->1] include/rpl_connect.inc [creating M4] include/rpl_connect.inc [creating M2] -SET @old_debug= @@global.debug; connection M2; STOP SLAVE; +SET @old_debug= @@global.debug; SET GLOBAL debug_dbug= "+d,dbug.rows_events_to_delay_relay_logging"; START SLAVE IO_THREAD; include/wait_for_slave_io_to_start.inc diff --git a/mysql-test/suite/rpl/r/rpl_corruption.result b/mysql-test/suite/rpl/r/rpl_corruption.result index db72bb304fc..f32b7c58ad1 100644 --- a/mysql-test/suite/rpl/r/rpl_corruption.result +++ b/mysql-test/suite/rpl/r/rpl_corruption.result @@ -34,10 +34,11 @@ START SLAVE IO_THREAD; include/wait_for_slave_io_error.inc [errno=1595,1743] connection master; SET GLOBAL debug_dbug="-d,corrupt_read_log_event2_set"; -SET GLOBAL debug_dbug= ""; +SET GLOBAL debug_dbug=@saved_dbug; SET GLOBAL master_verify_checksum=1; # 5. Slave. Corruption in network connection slave; +SET @saved_dbug_slave = @@GLOBAL.debug_dbug; SET GLOBAL debug_dbug="+d,corrupt_queue_event"; START SLAVE IO_THREAD; include/wait_for_slave_io_error.inc [errno=1595,1743] @@ -47,7 +48,7 @@ SET GLOBAL debug_dbug="+d,corrupt_read_log_event_char"; START SLAVE SQL_THREAD; include/wait_for_slave_sql_error.inc [errno=1593] SET GLOBAL debug_dbug="-d,corrupt_read_log_event_char"; -SET GLOBAL debug_dbug= ""; +SET GLOBAL debug_dbug=@saved_dbug_slave; # 7. Seek diff for tables on master and slave connection slave; include/start_slave.inc @@ -60,5 +61,4 @@ set @@global.debug_dbug = @saved_dbug; SET GLOBAL master_verify_checksum = @old_master_verify_checksum; DROP TABLE t1; connection slave; -set @@global.debug_dbug = @saved_dbug; include/rpl_end.inc diff --git a/mysql-test/suite/rpl/r/rpl_domain_id_filter_io_crash.result b/mysql-test/suite/rpl/r/rpl_domain_id_filter_io_crash.result index a2b1d03c4fd..b8415977154 100644 --- a/mysql-test/suite/rpl/r/rpl_domain_id_filter_io_crash.result +++ b/mysql-test/suite/rpl/r/rpl_domain_id_filter_io_crash.result @@ -26,6 +26,7 @@ CHANGE MASTER TO IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos; include/start_slave.inc DO_DOMAIN_IDS (AFTER) : IGNORE_DOMAIN_IDS (AFTER) : +SET @saved_dbug = @@GLOBAL.debug_dbug; SET @@global.debug_dbug="+d,kill_slave_io_before_commit"; connection master; START TRANSACTION; @@ -414,4 +415,5 @@ connection slave; include/stop_slave.inc CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(); include/start_slave.inc +SET @@GLOBAL.debug_dbug = @saved_dbug; include/rpl_end.inc diff --git a/mysql-test/suite/rpl/r/rpl_domain_id_filter_master_crash.result b/mysql-test/suite/rpl/r/rpl_domain_id_filter_master_crash.result index 457947cabe0..0a414cb3b1f 100644 --- a/mysql-test/suite/rpl/r/rpl_domain_id_filter_master_crash.result +++ b/mysql-test/suite/rpl/r/rpl_domain_id_filter_master_crash.result @@ -37,7 +37,6 @@ IGNORE_DOMAIN_IDS (AFTER) : 1 connection master; include/rpl_start_server.inc [server_number=1] # Master has restarted successfully -set @@global.debug_dbug="-d"; connection slave; include/stop_slave.inc include/start_slave.inc diff --git a/mysql-test/suite/rpl/r/rpl_gtid_reconnect.result b/mysql-test/suite/rpl/r/rpl_gtid_reconnect.result index d5037f8cf94..4f50d7c6d85 100644 --- a/mysql-test/suite/rpl/r/rpl_gtid_reconnect.result +++ b/mysql-test/suite/rpl/r/rpl_gtid_reconnect.result @@ -27,7 +27,7 @@ a connection server_1; include/kill_binlog_dump_threads.inc INSERT INTO t1 VALUES (10); -SET @old_dbug= @@GLOBAL.debug_dbug; +SET @old_debug= @@GLOBAL.debug_dbug; SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output"; SET GLOBAL debug_dbug="+d,gtid_force_reconnect_at_10_1_100"; connection server_2; diff --git a/mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result b/mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result index b96153a226a..d384422f88a 100644 --- a/mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result +++ b/mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result @@ -2,10 +2,10 @@ include/master-slave.inc [connection master] connection master; set @old_master_binlog_checksum= @@global.binlog_checksum; -set @old_slave_dbug= @@global.debug_dbug; connection slave; include/stop_slave.inc # Test slave with no capability gets dummy event, which is ignored. +set @old_dbug= @@global.debug_dbug; SET @@global.debug_dbug='+d,simulate_slave_capability_none'; include/start_slave.inc connection master; @@ -50,7 +50,7 @@ slave-relay-bin.000005 # Annotate_rows # # INSERT INTO t1 /* A comment just to m slave-relay-bin.000005 # Table_map # # table_id: # (test.t1) slave-relay-bin.000005 # Write_rows_v1 # # table_id: # flags: STMT_END_F slave-relay-bin.000005 # Query # # COMMIT -set @@global.debug_dbug= @old_slave_dbug; +set @@global.debug_dbug= @old_dbug; # Test dummy event is checksummed correctly. connection master; set @@global.binlog_checksum = CRC32; @@ -148,10 +148,10 @@ select @@global.log_slave_updates; select @@global.replicate_annotate_row_events; @@global.replicate_annotate_row_events 1 -set @@global.debug_dbug= @old_slave_dbug; Clean up. connection master; set @@global.binlog_checksum = @old_master_binlog_checksum; DROP TABLE t1, t2; connection slave; +set @@global.debug_dbug= @old_dbug; include/rpl_end.inc diff --git a/mysql-test/suite/rpl/r/rpl_parallel.result b/mysql-test/suite/rpl/r/rpl_parallel.result index d994e4fdef6..e1dbc15d3b9 100644 --- a/mysql-test/suite/rpl/r/rpl_parallel.result +++ b/mysql-test/suite/rpl/r/rpl_parallel.result @@ -1226,7 +1226,6 @@ a 45 46 include/stop_slave.inc -SET GLOBAL debug_dbug=@old_dbug; SET DEBUG_SYNC= 'RESET'; SET GLOBAL slave_parallel_threads=0; SET GLOBAL slave_parallel_threads=10; @@ -1512,7 +1511,7 @@ SET GLOBAL slave_parallel_threads=10; SET @old_dbug= @@GLOBAL.debug_dbug; SET GLOBAL debug_dbug= '+d,inject_analyze_table_sleep'; connection server_1; -SET @old_dbug= @@SESSION.debug_dbug; +SET @old_dbug_slave= @@SESSION.debug_dbug; SET SESSION debug_dbug="+d,binlog_force_commit_id"; SET @commit_id= 10000; ANALYZE TABLE t2; @@ -1521,7 +1520,7 @@ test.t2 analyze status OK INSERT INTO t3 VALUES (120, 0); SET @commit_id= 10001; INSERT INTO t3 VALUES (121, 0); -SET SESSION debug_dbug=@old_dbug; +SET SESSION debug_dbug=@old_dbug_slave; SELECT * FROM t3 WHERE a >= 120 ORDER BY a; a b 120 0 @@ -1543,7 +1542,7 @@ include/stop_slave.inc SET @old_dbug= @@GLOBAL.debug_dbug; SET GLOBAL debug_dbug= '+d,inject_record_gtid_serverid_100_sleep'; connection server_1; -SET @old_dbug= @@SESSION.debug_dbug; +SET @old_dbug_slave= @@SESSION.debug_dbug; SET SESSION debug_dbug="+d,binlog_force_commit_id"; SET @old_server_id= @@SESSION.server_id; SET SESSION server_id= 100; @@ -1553,7 +1552,7 @@ SET SESSION server_id= @old_server_id; INSERT INTO t3 VALUES (130, 0); SET @commit_id= 10011; INSERT INTO t3 VALUES (131, 0); -SET SESSION debug_dbug=@old_dbug; +SET SESSION debug_dbug=@old_dbug_slave; SELECT * FROM t3 WHERE a >= 130 ORDER BY a; a b 130 0 @@ -1579,7 +1578,7 @@ include/stop_slave.inc SET @old_dbug= @@GLOBAL.debug_dbug; SET GLOBAL debug_dbug= '+d,inject_mdev8031'; connection server_1; -SET @old_dbug= @@SESSION.debug_dbug; +SET @old_dbug_slave= @@SESSION.debug_dbug; SET SESSION debug_dbug="+d,binlog_force_commit_id"; SET @commit_id= 10200; INSERT INTO t3 VALUES (203, 1); @@ -1600,7 +1599,7 @@ UPDATE t3 SET b=b+1 WHERE a=204; UPDATE t3 SET b=b+1 WHERE a=203; UPDATE t3 SET b=b+1 WHERE a=205; UPDATE t3 SET b=b+1 WHERE a=205; -SET SESSION debug_dbug=@old_dbug; +SET SESSION debug_dbug=@old_dbug_slave; SELECT * FROM t3 WHERE a>=200 ORDER BY a; a b 201 3 @@ -1630,11 +1629,11 @@ SET GLOBAL debug_dbug= '+d,inject_retry_event_group_open_binlog_kill'; SET @old_max= @@GLOBAL.max_relay_log_size; SET GLOBAL max_relay_log_size= 4096; connection server_1; -SET @old_dbug= @@SESSION.debug_dbug; +SET @old_dbug_slave= @@SESSION.debug_dbug; SET SESSION debug_dbug="+d,binlog_force_commit_id"; SET @commit_id= 10210; Omit long queries that cause relaylog rotations and transaction retries... -SET SESSION debug_dbug=@old_dbug; +SET SESSION debug_dbug=@old_dbug_slave; SELECT * FROM t3 WHERE a>=200 ORDER BY a; a b 201 6 @@ -1654,7 +1653,7 @@ a b 204 7 205 5 include/stop_slave.inc -SET GLOBAL debug_dbug= @old_debg; +SET GLOBAL debug_dbug= @old_dbug; SET GLOBAL max_relay_log_size= @old_max; include/start_slave.inc *** MDEV-8725: Assertion on ROLLBACK statement in the binary log *** diff --git a/mysql-test/suite/rpl/r/rpl_parallel_ignored_errors.result b/mysql-test/suite/rpl/r/rpl_parallel_ignored_errors.result index 570d2534ed7..3dd5a3ea83c 100644 --- a/mysql-test/suite/rpl/r/rpl_parallel_ignored_errors.result +++ b/mysql-test/suite/rpl/r/rpl_parallel_ignored_errors.result @@ -4,7 +4,7 @@ connection server_2; include/stop_slave.inc SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads; SET @old_parallel_mode=@@GLOBAL.slave_parallel_mode; -SET @old_dbug= @@GLOBAL.debug_dbug; +SET @old_debug= @@GLOBAL.debug_dbug; SET GLOBAL slave_parallel_mode='optimistic'; SET GLOBAL slave_parallel_threads= 3; CHANGE MASTER TO master_use_gtid=slave_pos; diff --git a/mysql-test/suite/rpl/r/rpl_parallel_optimistic.result b/mysql-test/suite/rpl/r/rpl_parallel_optimistic.result index 5d514d23101..862851c7a49 100644 --- a/mysql-test/suite/rpl/r/rpl_parallel_optimistic.result +++ b/mysql-test/suite/rpl/r/rpl_parallel_optimistic.result @@ -352,7 +352,7 @@ include/save_master_gtid.inc connection server_2; include/sync_with_master_gtid.inc include/stop_slave.inc -SET @old_dbug= @@GLOBAL.debug_dbug; +SET @old_debug= @@GLOBAL.debug_dbug; SET GLOBAL debug_dbug= '+d,inject_analyze_table_sleep'; connection server_1; ALTER TABLE t2 COMMENT "123abc"; diff --git a/mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result b/mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result index f08f50f2467..b670a16bfcd 100644 --- a/mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result +++ b/mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result @@ -6,6 +6,7 @@ call mtr.add_suppression("Unsafe statement written to the binary log using state create table tm (a int auto_increment primary key) engine=myisam; create table ti (a int auto_increment primary key) engine=innodb; connection slave; +SET @saved_dbug = @@GLOBAL.debug_dbug; set @@global.debug_dbug="+d,stop_slave_middle_group"; connection master; begin; @@ -74,7 +75,7 @@ two select max(a) as one from ti; one 1 -set @@global.debug_dbug="-d"; +SET @@GLOBAL.debug_dbug = @saved_dbug; include/rpl_reset.inc connection master; drop table tm, ti; diff --git a/mysql-test/suite/rpl/t/circular_serverid0.test b/mysql-test/suite/rpl/t/circular_serverid0.test index 20ad58e2c52..097a2932404 100644 --- a/mysql-test/suite/rpl/t/circular_serverid0.test +++ b/mysql-test/suite/rpl/t/circular_serverid0.test @@ -22,10 +22,9 @@ # The parameter reflects binlog-row-event-max-size @cnf. --let $row_size=1024 -SET @old_debug= @@global.debug; - --connection M2 STOP SLAVE; +SET @old_debug= @@global.debug; SET GLOBAL debug_dbug= "+d,dbug.rows_events_to_delay_relay_logging"; START SLAVE IO_THREAD; --source include/wait_for_slave_io_to_start.inc diff --git a/mysql-test/suite/rpl/t/rpl_domain_id_filter_io_crash.test b/mysql-test/suite/rpl/t/rpl_domain_id_filter_io_crash.test index 9088866d28b..f3ba39fb330 100644 --- a/mysql-test/suite/rpl/t/rpl_domain_id_filter_io_crash.test +++ b/mysql-test/suite/rpl/t/rpl_domain_id_filter_io_crash.test @@ -35,6 +35,7 @@ let $ignore_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Ignor --echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after --echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after +SET @saved_dbug = @@GLOBAL.debug_dbug; SET @@global.debug_dbug="+d,kill_slave_io_before_commit"; connection master; @@ -379,5 +380,5 @@ connection slave; --source include/stop_slave.inc CHANGE MASTER TO DO_DOMAIN_IDS=(), IGNORE_DOMAIN_IDS=(); --source include/start_slave.inc - +SET @@GLOBAL.debug_dbug = @saved_dbug; --source include/rpl_end.inc diff --git a/mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test b/mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test index 3619ede2c01..6dafab192a0 100644 --- a/mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test +++ b/mysql-test/suite/rpl/t/rpl_domain_id_filter_master_crash.test @@ -64,7 +64,6 @@ connection master; #--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect --source include/wait_until_connected_again.inc --echo # Master has restarted successfully -set @@global.debug_dbug="-d"; save_master_pos; --connection slave diff --git a/mysql-test/suite/rpl/t/rpl_gtid_reconnect.test b/mysql-test/suite/rpl/t/rpl_gtid_reconnect.test index 22cf10afba3..bc28ebddf5e 100644 --- a/mysql-test/suite/rpl/t/rpl_gtid_reconnect.test +++ b/mysql-test/suite/rpl/t/rpl_gtid_reconnect.test @@ -42,7 +42,7 @@ SELECT * FROM t1 ORDER BY a; # interfere with our DBUG error injection. --source include/kill_binlog_dump_threads.inc INSERT INTO t1 VALUES (10); -SET @old_dbug= @@GLOBAL.debug_dbug; +SET @old_debug= @@GLOBAL.debug_dbug; SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output"; SET GLOBAL debug_dbug="+d,gtid_force_reconnect_at_10_1_100"; --save_master_pos diff --git a/mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test b/mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test index ed26e61d9b6..046a65f77db 100644 --- a/mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test +++ b/mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test @@ -5,9 +5,7 @@ --source include/master-slave.inc connection master; - set @old_master_binlog_checksum= @@global.binlog_checksum; -set @old_slave_dbug= @@global.debug_dbug; # MDEV-4475: Cannot replicate to old server when binlog contains # empty Gtid_list event @@ -16,6 +14,7 @@ set @old_slave_dbug= @@global.debug_dbug; connection slave; --source include/stop_slave.inc --echo # Test slave with no capability gets dummy event, which is ignored. +set @old_dbug= @@global.debug_dbug; SET @@global.debug_dbug='+d,simulate_slave_capability_none'; --source include/start_slave.inc @@ -52,7 +51,7 @@ let $binlog_file= query_get_value(SHOW SLAVE STATUS, Relay_Log_File, 1); let $binlog_start= $relaylog_start; let $binlog_limit=0,10; --source include/show_relaylog_events.inc -set @@global.debug_dbug= @old_slave_dbug; +set @@global.debug_dbug= @old_dbug; --echo # Test dummy event is checksummed correctly. @@ -150,11 +149,10 @@ let $binlog_limit=0,5; select @@global.log_slave_updates; select @@global.replicate_annotate_row_events; -set @@global.debug_dbug= @old_slave_dbug; - --echo Clean up. connection master; set @@global.binlog_checksum = @old_master_binlog_checksum; DROP TABLE t1, t2; sync_slave_with_master; +set @@global.debug_dbug= @old_dbug; --source include/rpl_end.inc diff --git a/mysql-test/suite/rpl/t/rpl_parallel_optimistic.test b/mysql-test/suite/rpl/t/rpl_parallel_optimistic.test index eef11be1f1b..ebf6eff2cc4 100644 --- a/mysql-test/suite/rpl/t/rpl_parallel_optimistic.test +++ b/mysql-test/suite/rpl/t/rpl_parallel_optimistic.test @@ -325,7 +325,7 @@ INSERT INTO t2 VALUES (1,1), (2,1), (3,1), (4,1), (5,1); --connection server_2 --source include/sync_with_master_gtid.inc --source include/stop_slave.inc -SET @old_dbug= @@GLOBAL.debug_dbug; +SET @old_debug= @@GLOBAL.debug_dbug; SET GLOBAL debug_dbug= '+d,inject_analyze_table_sleep'; --connection server_1 diff --git a/mysql-test/suite/rpl/t/rpl_stm_lcase_tblnames.test b/mysql-test/suite/rpl/t/rpl_stm_lcase_tblnames.test index 00df8e9d385..caaae06a8e9 100644 --- a/mysql-test/suite/rpl/t/rpl_stm_lcase_tblnames.test +++ b/mysql-test/suite/rpl/t/rpl_stm_lcase_tblnames.test @@ -3,10 +3,10 @@ # For details look into extra/rpl_tests/rpl_lower_case_table_names.test # +-- source include/have_binlog_format_mixed_or_statement.inc -- source include/master-slave.inc -- source include/have_innodb.inc -- source include/not_windows.inc --- source include/have_binlog_format_mixed_or_statement.inc -- let $engine=InnoDB -- source extra/rpl_tests/rpl_lower_case_table_names.test diff --git a/mysql-test/suite/sys_vars/r/debug_dbug_func.result b/mysql-test/suite/sys_vars/r/debug_dbug_func.result index 64b9c1a759b..d0c002cf111 100644 --- a/mysql-test/suite/sys_vars/r/debug_dbug_func.result +++ b/mysql-test/suite/sys_vars/r/debug_dbug_func.result @@ -1,55 +1,55 @@ -SET @old_debug = @@GLOBAL.debug; +SET @old_debug = @@GLOBAL.debug_dbug; SET debug_dbug= 'T'; -select @@debug; -@@debug +select @@debug_dbug; +@@debug_dbug T SET debug_dbug= '+P'; -select @@debug; -@@debug +select @@debug_dbug; +@@debug_dbug P:T SET debug_dbug= '-P'; -select @@debug; -@@debug +select @@debug_dbug; +@@debug_dbug T -SELECT @@session.debug, @@global.debug; -@@session.debug @@global.debug +SELECT @@session.debug_dbug, @@global.debug_dbug; +@@session.debug_dbug @@global.debug_dbug T SET SESSION debug_dbug= ''; -SELECT @@session.debug, @@global.debug; -@@session.debug @@global.debug +SELECT @@session.debug_dbug, @@global.debug_dbug; +@@session.debug_dbug @@global.debug_dbug # # Bug #52629: memory leak from sys_var_thd_dbug in # binlog.binlog_write_error # SET GLOBAL debug_dbug='d,injecting_fault_writing'; -SELECT @@global.debug; -@@global.debug +SELECT @@global.debug_dbug; +@@global.debug_dbug d,injecting_fault_writing SET GLOBAL debug_dbug=''; -SELECT @@global.debug; -@@global.debug +SELECT @@global.debug_dbug; +@@global.debug_dbug SET GLOBAL debug_dbug=@old_debug; # # Bug #56709: Memory leaks at running the 5.1 test suite # -SET @old_local_debug = @@debug; +SET @old_local_debug = @@debug_dbug; SET @@debug_dbug='d,foo'; -SELECT @@debug; -@@debug +SELECT @@debug_dbug; +@@debug_dbug d,foo SET @@debug_dbug=''; -SELECT @@debug; -@@debug +SELECT @@debug_dbug; +@@debug_dbug SET @@debug_dbug= @old_local_debug; End of 5.1 tests # # Bug#46165 server crash in dbug # -SET @old_globaldebug = @@global.debug; -SET @old_sessiondebug= @@session.debug; +SET @old_globaldebug = @@global.debug_dbug; +SET @old_sessiondebug= @@session.debug_dbug; # Test 1 - Bug test case, single connection SET GLOBAL debug_dbug= '+O,MYSQL_TMP_DIR/bug46165.1.trace'; SET SESSION debug_dbug= '-d:-t:-i'; diff --git a/mysql-test/suite/sys_vars/t/debug_dbug_func.test b/mysql-test/suite/sys_vars/t/debug_dbug_func.test index 136a4c5504d..a72636131ee 100644 --- a/mysql-test/suite/sys_vars/t/debug_dbug_func.test +++ b/mysql-test/suite/sys_vars/t/debug_dbug_func.test @@ -1,27 +1,27 @@ --source include/have_debug.inc -SET @old_debug = @@GLOBAL.debug; +SET @old_debug = @@GLOBAL.debug_dbug; # -# Bug#34678 @@debug variable's incremental mode +# Bug#34678 @@debug_dbug variable's incremental mode # SET debug_dbug= 'T'; -select @@debug; +select @@debug_dbug; SET debug_dbug= '+P'; -select @@debug; +select @@debug_dbug; SET debug_dbug= '-P'; -select @@debug; +select @@debug_dbug; # -# Bug#38054: "SET SESSION debug" modifies @@global.debug variable +# Bug#38054: "SET SESSION debug" modifies @@global.debug_dbug variable # -SELECT @@session.debug, @@global.debug; +SELECT @@session.debug_dbug, @@global.debug_dbug; SET SESSION debug_dbug= ''; -SELECT @@session.debug, @@global.debug; +SELECT @@session.debug_dbug, @@global.debug_dbug; --echo # --echo # Bug #52629: memory leak from sys_var_thd_dbug in @@ -29,9 +29,9 @@ SELECT @@session.debug, @@global.debug; --echo # SET GLOBAL debug_dbug='d,injecting_fault_writing'; -SELECT @@global.debug; +SELECT @@global.debug_dbug; SET GLOBAL debug_dbug=''; -SELECT @@global.debug; +SELECT @@global.debug_dbug; SET GLOBAL debug_dbug=@old_debug; @@ -39,12 +39,12 @@ SET GLOBAL debug_dbug=@old_debug; --echo # Bug #56709: Memory leaks at running the 5.1 test suite --echo # -SET @old_local_debug = @@debug; +SET @old_local_debug = @@debug_dbug; SET @@debug_dbug='d,foo'; -SELECT @@debug; +SELECT @@debug_dbug; SET @@debug_dbug=''; -SELECT @@debug; +SELECT @@debug_dbug; SET @@debug_dbug= @old_local_debug; @@ -55,8 +55,8 @@ SET @@debug_dbug= @old_local_debug; --echo # Bug#46165 server crash in dbug --echo # -SET @old_globaldebug = @@global.debug; -SET @old_sessiondebug= @@session.debug; +SET @old_globaldebug = @@global.debug_dbug; +SET @old_sessiondebug= @@session.debug_dbug; --echo # Test 1 - Bug test case, single connection --replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR From 90e7e6783b8a667012146e16f4d804a0c8b9ee8a Mon Sep 17 00:00:00 2001 From: Alice Sherepa Date: Mon, 20 Jan 2020 13:56:43 +0100 Subject: [PATCH 06/21] MDEV-21360 save/restore debud_dbug instead of total reset at the end of the test --- mysql-test/extra/rpl_tests/rpl_corruption.inc | 1 - mysql-test/extra/rpl_tests/rpl_parallel.inc | 1 + mysql-test/suite/binlog_encryption/rpl_parallel.result | 1 + mysql-test/suite/rpl/r/rpl_parallel.result | 1 + 4 files changed, 3 insertions(+), 1 deletion(-) diff --git a/mysql-test/extra/rpl_tests/rpl_corruption.inc b/mysql-test/extra/rpl_tests/rpl_corruption.inc index c97b3b35766..4106bb45eef 100644 --- a/mysql-test/extra/rpl_tests/rpl_corruption.inc +++ b/mysql-test/extra/rpl_tests/rpl_corruption.inc @@ -74,7 +74,6 @@ while ($i) { # Emulate corruption in binlog file when SHOW BINLOG EVENTS is executing --echo # 2. Corruption in master binlog and SHOW BINLOG EVENTS set @saved_dbug = @@global.debug_dbug; - SET GLOBAL debug_dbug="+d,corrupt_read_log_event_char"; --echo SHOW BINLOG EVENTS; --disable_query_log diff --git a/mysql-test/extra/rpl_tests/rpl_parallel.inc b/mysql-test/extra/rpl_tests/rpl_parallel.inc index e2dbb7c3f18..b88d2126d4d 100644 --- a/mysql-test/extra/rpl_tests/rpl_parallel.inc +++ b/mysql-test/extra/rpl_tests/rpl_parallel.inc @@ -1651,6 +1651,7 @@ SELECT * FROM t2 WHERE a >= 40 ORDER BY a; --sync_with_master SELECT * FROM t2 WHERE a >= 40 ORDER BY a; --source include/stop_slave.inc +SET GLOBAL debug_dbug=@old_dbug; SET DEBUG_SYNC= 'RESET'; SET GLOBAL slave_parallel_threads=0; SET GLOBAL slave_parallel_threads=10; diff --git a/mysql-test/suite/binlog_encryption/rpl_parallel.result b/mysql-test/suite/binlog_encryption/rpl_parallel.result index 20d7687ec3f..12e5455c6c1 100644 --- a/mysql-test/suite/binlog_encryption/rpl_parallel.result +++ b/mysql-test/suite/binlog_encryption/rpl_parallel.result @@ -1227,6 +1227,7 @@ a 45 46 include/stop_slave.inc +SET GLOBAL debug_dbug=@old_dbug; SET DEBUG_SYNC= 'RESET'; SET GLOBAL slave_parallel_threads=0; SET GLOBAL slave_parallel_threads=10; diff --git a/mysql-test/suite/rpl/r/rpl_parallel.result b/mysql-test/suite/rpl/r/rpl_parallel.result index e1dbc15d3b9..657b3ba7448 100644 --- a/mysql-test/suite/rpl/r/rpl_parallel.result +++ b/mysql-test/suite/rpl/r/rpl_parallel.result @@ -1226,6 +1226,7 @@ a 45 46 include/stop_slave.inc +SET GLOBAL debug_dbug=@old_dbug; SET DEBUG_SYNC= 'RESET'; SET GLOBAL slave_parallel_threads=0; SET GLOBAL slave_parallel_threads=10; From 4e7f3fb8332c42c3beb2376ee0d90f559f1e7470 Mon Sep 17 00:00:00 2001 From: Vlad Lesin Date: Mon, 20 Jan 2020 22:56:01 +0300 Subject: [PATCH 07/21] MDEV-14183: aria_pack segfaults in compress_maria_file Column definition order in st_maria_share::columndef can differ from order of fields in record(see also st_maria_share::column_nr, st_maria_columndef::column_nr, _ma_column_nr_write(), _ma_column_nr_read()). This was not taken into account in aria_pack tool. The fix is to initialize elements of HUFF_COUNTS array in the correct order. --- .../suite/maria/aria_pack_mdev14183.result | 22 +++++++++++++++++++ .../suite/maria/aria_pack_mdev14183.test | 22 +++++++++++++++++++ storage/maria/maria_pack.c | 16 ++++++++------ 3 files changed, 53 insertions(+), 7 deletions(-) create mode 100644 mysql-test/suite/maria/aria_pack_mdev14183.result create mode 100644 mysql-test/suite/maria/aria_pack_mdev14183.test diff --git a/mysql-test/suite/maria/aria_pack_mdev14183.result b/mysql-test/suite/maria/aria_pack_mdev14183.result new file mode 100644 index 00000000000..cd1decdef75 --- /dev/null +++ b/mysql-test/suite/maria/aria_pack_mdev14183.result @@ -0,0 +1,22 @@ +CREATE TABLE `t` ( +`col_1` varchar(255) NOT NULL DEFAULT '', +`col_2` varchar(255) NOT NULL, +`col_3` int(11) NOT NULL DEFAULT '0', +`col_4` int(11) NOT NULL DEFAULT '0' +) ENGINE=Aria; +insert into t values +('foobar','qux',0,0),('abcdef','qux',0,0); +Compressing test/t.MAD: (2 records) +- Calculating statistics + +normal: 0 empty-space: 0 empty-zero: 0 empty-fill: 0 +pre-space: 0 end-space: 0 intervall-fields: 0 zero: 2 +Original trees: 4 After join: 1 +- Compressing file +Min record length: 5 Max length: 5 Mean total length: 35 +99.57% +SELECT * FROM t; +col_1 col_2 col_3 col_4 +foobar qux 0 0 +abcdef qux 0 0 +DROP TABLE t; diff --git a/mysql-test/suite/maria/aria_pack_mdev14183.test b/mysql-test/suite/maria/aria_pack_mdev14183.test new file mode 100644 index 00000000000..ab0589dc780 --- /dev/null +++ b/mysql-test/suite/maria/aria_pack_mdev14183.test @@ -0,0 +1,22 @@ +--source include/have_aria.inc +--source include/have_debug.inc + +CREATE TABLE `t` ( + `col_1` varchar(255) NOT NULL DEFAULT '', + `col_2` varchar(255) NOT NULL, + `col_3` int(11) NOT NULL DEFAULT '0', + `col_4` int(11) NOT NULL DEFAULT '0' +) ENGINE=Aria; + +insert into t values + ('foobar','qux',0,0),('abcdef','qux',0,0); + +--let $datadir= `SELECT @@datadir` +--source include/shutdown_mysqld.inc +# maria_pack crashes by assert() if the bug is not fixed +--exec cd $datadir && $MARIA_PACK -t test/t + +--source include/start_mysqld.inc +SELECT * FROM t; + +DROP TABLE t; diff --git a/storage/maria/maria_pack.c b/storage/maria/maria_pack.c index 5166ae63758..6f2d9fe8a5d 100644 --- a/storage/maria/maria_pack.c +++ b/storage/maria/maria_pack.c @@ -782,27 +782,29 @@ static HUFF_COUNTS *init_huff_count(MARIA_HA *info,my_off_t records) for (i=0 ; i < info->s->base.fields ; i++) { enum en_fieldtype type; - count[i].field_length=info->s->columndef[i].length; - type= count[i].field_type= (enum en_fieldtype) info->s->columndef[i].type; + uint col_nr = info->s->columndef[i].column_nr; + count[col_nr].field_length=info->s->columndef[i].length; + type= count[col_nr].field_type= + (enum en_fieldtype) info->s->columndef[i].type; if (type == FIELD_INTERVALL || type == FIELD_CONSTANT || type == FIELD_ZERO) type = FIELD_NORMAL; - if (count[i].field_length <= 8 && + if (count[col_nr].field_length <= 8 && (type == FIELD_NORMAL || type == FIELD_SKIP_ZERO)) - count[i].max_zero_fill= count[i].field_length; + count[col_nr].max_zero_fill= count[col_nr].field_length; /* For every column initialize a tree, which is used to detect distinct column values. 'int_tree' works together with 'tree_buff' and 'tree_pos'. It's keys are implemented by pointers into 'tree_buff'. This is accomplished by '-1' as the element size. */ - init_tree(&count[i].int_tree,0,0,-1,(qsort_cmp2) compare_tree, NULL, + init_tree(&count[col_nr].int_tree,0,0,-1,(qsort_cmp2) compare_tree, NULL, NULL, MYF(0)); if (records && type != FIELD_BLOB && type != FIELD_VARCHAR) - count[i].tree_pos=count[i].tree_buff = - my_malloc(count[i].field_length > 1 ? tree_buff_length : 2, + count[col_nr].tree_pos=count[col_nr].tree_buff = + my_malloc(count[col_nr].field_length > 1 ? tree_buff_length : 2, MYF(MY_WME)); } } From 8eec2d61fcb1d4ce4fcd56989c6fe13cd012ecad Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Tue, 21 Jan 2020 15:17:43 +0100 Subject: [PATCH 08/21] MDEV-21249 MariaDB 10.3.10 When referring to bigint to generate timestamp data in the virtual generated column, the value of the generated column does not change when the time zone changes FROM_UNIXTIME() depends on @@time_zone, so it's VCOL_SESSION_FUNC --- mysql-test/r/default_session.result | 28 ++++++++++++++++++++++++++++ mysql-test/t/default_session.test | 24 ++++++++++++++++++++++++ sql/item_timefunc.h | 4 ++++ 3 files changed, 56 insertions(+) diff --git a/mysql-test/r/default_session.result b/mysql-test/r/default_session.result index 6c0bcad0cb3..1b0c5f3f67a 100644 --- a/mysql-test/r/default_session.result +++ b/mysql-test/r/default_session.result @@ -92,3 +92,31 @@ a STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI drop table t1; +set time_zone='+00:00'; +create table t1 (a int, b datetime default from_unixtime(a), c datetime); +insert t1 (a, c) values (1569495327, from_unixtime(1569495327)); +set time_zone='+01:00'; +insert t1 (a, c) values (1569495327, from_unixtime(1569495327)); +flush tables; +insert t1 (a, c) values (1569495327, from_unixtime(1569495327)); +select * from t1; +a b c +1569495327 2019-09-26 10:55:27 2019-09-26 10:55:27 +1569495327 2019-09-26 11:55:27 2019-09-26 11:55:27 +1569495327 2019-09-26 11:55:27 2019-09-26 11:55:27 +drop table t1; +set time_zone = "+00:00"; +create table t1 (a int, b timestamp as (from_unixtime(a)) virtual); +insert into t1 (a) value (1569495327); +select a, b, from_unixtime(a) from t1; +a b from_unixtime(a) +1569495327 2019-09-26 10:55:27 2019-09-26 10:55:27 +set time_zone = "+01:00"; +select a, b, from_unixtime(a) from t1; +a b from_unixtime(a) +1569495327 2019-09-26 11:55:27 2019-09-26 11:55:27 +flush tables; +select a, b, from_unixtime(a) from t1; +a b from_unixtime(a) +1569495327 2019-09-26 11:55:27 2019-09-26 11:55:27 +drop table t1; diff --git a/mysql-test/t/default_session.test b/mysql-test/t/default_session.test index 7796354ffd4..5e582bd5ca1 100644 --- a/mysql-test/t/default_session.test +++ b/mysql-test/t/default_session.test @@ -80,3 +80,27 @@ insert t1 () values (); set sql_mode=default; select * from t1; drop table t1; + +# +# MDEV-21249 MariaDB 10.3.10 When referring to bigint to generate timestamp data in the virtual generated column, the value of the generated column does not change when the time zone changes +# +set time_zone='+00:00'; +create table t1 (a int, b datetime default from_unixtime(a), c datetime); +insert t1 (a, c) values (1569495327, from_unixtime(1569495327)); +set time_zone='+01:00'; +insert t1 (a, c) values (1569495327, from_unixtime(1569495327)); +flush tables; +insert t1 (a, c) values (1569495327, from_unixtime(1569495327)); +select * from t1; +drop table t1; + +# same with vcols +set time_zone = "+00:00"; +create table t1 (a int, b timestamp as (from_unixtime(a)) virtual); +insert into t1 (a) value (1569495327); +select a, b, from_unixtime(a) from t1; +set time_zone = "+01:00"; +select a, b, from_unixtime(a) from t1; +flush tables; +select a, b, from_unixtime(a) from t1; +drop table t1; diff --git a/sql/item_timefunc.h b/sql/item_timefunc.h index c89b6921796..f25fe3a551f 100644 --- a/sql/item_timefunc.h +++ b/sql/item_timefunc.h @@ -867,6 +867,10 @@ class Item_func_from_unixtime :public Item_datetimefunc const char *func_name() const { return "from_unixtime"; } bool fix_length_and_dec(); bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date); + bool check_vcol_func_processor(void *arg) + { + return mark_unsupported_function(func_name(), "()", arg, VCOL_SESSION_FUNC); + } Item *get_copy(THD *thd, MEM_ROOT *mem_root) { return get_item_copy(thd, mem_root, this); } }; From 1f9a0437da22c621d890d4eb0369bf1fc8797ba3 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Wed, 22 Jan 2020 18:18:22 +0100 Subject: [PATCH 09/21] new C/C and --ssl-verify-server-cert tests tests for --ssl-verify-server-cert with system CA and with incorrect hostname --- libmariadb | 2 +- mysql-test/r/ssl_system_ca,bad.result | 1 + mysql-test/r/ssl_system_ca.result | 2 ++ mysql-test/t/ssl_system_ca.combinations | 11 +++++++++++ mysql-test/t/ssl_system_ca.test | 20 ++++++++++++++++++++ 5 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 mysql-test/r/ssl_system_ca,bad.result create mode 100644 mysql-test/r/ssl_system_ca.result create mode 100644 mysql-test/t/ssl_system_ca.combinations create mode 100644 mysql-test/t/ssl_system_ca.test diff --git a/libmariadb b/libmariadb index a1283d0b10a..8e9c3116105 160000 --- a/libmariadb +++ b/libmariadb @@ -1 +1 @@ -Subproject commit a1283d0b10a3b675bede48d9fe2d082865a24a6c +Subproject commit 8e9c3116105d9a998a60991b7f4ba910d454d4b1 diff --git a/mysql-test/r/ssl_system_ca,bad.result b/mysql-test/r/ssl_system_ca,bad.result new file mode 100644 index 00000000000..b9c6d3e29d8 --- /dev/null +++ b/mysql-test/r/ssl_system_ca,bad.result @@ -0,0 +1 @@ +ERROR 2026 (HY000): SSL connection error: Validation of SSL server certificate failed diff --git a/mysql-test/r/ssl_system_ca.result b/mysql-test/r/ssl_system_ca.result new file mode 100644 index 00000000000..78f8bf805dd --- /dev/null +++ b/mysql-test/r/ssl_system_ca.result @@ -0,0 +1,2 @@ +*************************** 1. row *************************** +have_ssl: 1 diff --git a/mysql-test/t/ssl_system_ca.combinations b/mysql-test/t/ssl_system_ca.combinations new file mode 100644 index 00000000000..6e3576ada15 --- /dev/null +++ b/mysql-test/t/ssl_system_ca.combinations @@ -0,0 +1,11 @@ +[good] +# +# hostname on the certificate is localhost +# + +[bad] +# +# hostname on the certificate is server8k +# +loose-ssl-key=$MYSQL_TEST_DIR/std_data/server8k-key.pem +loose-ssl-cert=$MYSQL_TEST_DIR/std_data/server8k-cert.pem diff --git a/mysql-test/t/ssl_system_ca.test b/mysql-test/t/ssl_system_ca.test new file mode 100644 index 00000000000..0bedb6e4af6 --- /dev/null +++ b/mysql-test/t/ssl_system_ca.test @@ -0,0 +1,20 @@ +# +# Tests here don't use --ssl-ca but expect the certificate to be +# signed by a CA in a system CA store +# +# They only work for openssl, because the following line works only there: +let SSL_CERT_DIR=$MYSQL_TMP_DIR; + +if (`select @@version_ssl_library not like 'OpenSSL%'`) { + skip Needs OpenSSL; +} + +# See `openssl x509 -in cacert.pem -noout -issuer_hash` +copy_file $MYSQL_TEST_DIR/std_data/cacert.pem $MYSQL_TMP_DIR/ed1f42db.0; + +# +# test --ssl-verify-server-cert +# + +disable_abort_on_error; +exec $MYSQL --ssl-verify-server-cert -Ee "select (variable_value <> '') as have_ssl from information_schema.session_status where variable_name='ssl_cipher'" 2>&1; From 7c166e68aaf51bd9c1b3152ba9674fcc261f3d84 Mon Sep 17 00:00:00 2001 From: Vlad Lesin Date: Wed, 22 Jan 2020 21:13:14 +0300 Subject: [PATCH 10/21] MDEV-14183: aria_pack segfaults in compress_maria_file Post-push fix. aria_pack_mdev14183 test is unstable. The fix is the following: 1. Disable the test for embedded server. 2. Create non-"transactional" Aria table in the test, as aria_pack does not support "transactional" Aria tables. --- mysql-test/suite/maria/aria_pack_mdev14183.result | 2 +- mysql-test/suite/maria/aria_pack_mdev14183.test | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mysql-test/suite/maria/aria_pack_mdev14183.result b/mysql-test/suite/maria/aria_pack_mdev14183.result index cd1decdef75..b20f60c5b8a 100644 --- a/mysql-test/suite/maria/aria_pack_mdev14183.result +++ b/mysql-test/suite/maria/aria_pack_mdev14183.result @@ -3,7 +3,7 @@ CREATE TABLE `t` ( `col_2` varchar(255) NOT NULL, `col_3` int(11) NOT NULL DEFAULT '0', `col_4` int(11) NOT NULL DEFAULT '0' -) ENGINE=Aria; +) ENGINE=Aria TRANSACTIONAL=0 PAGE_CHECKSUM=0; insert into t values ('foobar','qux',0,0),('abcdef','qux',0,0); Compressing test/t.MAD: (2 records) diff --git a/mysql-test/suite/maria/aria_pack_mdev14183.test b/mysql-test/suite/maria/aria_pack_mdev14183.test index ab0589dc780..5386ae774a0 100644 --- a/mysql-test/suite/maria/aria_pack_mdev14183.test +++ b/mysql-test/suite/maria/aria_pack_mdev14183.test @@ -1,12 +1,13 @@ --source include/have_aria.inc --source include/have_debug.inc +--source include/not_embedded.inc CREATE TABLE `t` ( `col_1` varchar(255) NOT NULL DEFAULT '', `col_2` varchar(255) NOT NULL, `col_3` int(11) NOT NULL DEFAULT '0', `col_4` int(11) NOT NULL DEFAULT '0' -) ENGINE=Aria; +) ENGINE=Aria TRANSACTIONAL=0 PAGE_CHECKSUM=0; insert into t values ('foobar','qux',0,0),('abcdef','qux',0,0); From 1d12bff42c7dd73b2a0158d6780267467b9e0871 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Thu, 23 Jan 2020 16:14:28 +0200 Subject: [PATCH 11/21] MDEV-20775: page_zip_validate() failure due to AUTO_INCREMENT cmake -DWITH_INNODB_EXTRA_DEBUG:BOOL=ON was broken ever since commit 8777458a6eb73ac1d7d864ebac390ea7039e21c1 (MDEV-6076 Persistent AUTO_INCREMENT for InnoDB). There is a race condition between page reads that call page_zip_validate() (while holding clustered index root page S-latch) and writes that update PAGE_ROOT_AUTO_INC (with buf_block_t::lock SX-latch, compatible with S-latch). page_zip_validate_low(): Skip the PAGE_ROOT_AUTO_INC field on clustered index root pages in order to avoid false positives. --- storage/innobase/page/page0zip.cc | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/storage/innobase/page/page0zip.cc b/storage/innobase/page/page0zip.cc index 1c0c8f75f78..7a017913dfe 100644 --- a/storage/innobase/page/page0zip.cc +++ b/storage/innobase/page/page0zip.cc @@ -2,7 +2,7 @@ Copyright (c) 2005, 2016, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 2012, Facebook Inc. -Copyright (c) 2014, 2019, MariaDB Corporation. +Copyright (c) 2014, 2020, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -3336,7 +3336,19 @@ page_zip_validate_low( FIL_PAGE_LSN - FIL_PAGE_PREV) || memcmp(page_zip->data + FIL_PAGE_TYPE, page + FIL_PAGE_TYPE, 2) || memcmp(page_zip->data + FIL_PAGE_DATA, page + FIL_PAGE_DATA, - PAGE_DATA - FIL_PAGE_DATA)) { + PAGE_ROOT_AUTO_INC) + /* The PAGE_ROOT_AUTO_INC can be updated while holding an SX-latch + on the clustered index root page (page number 3 in .ibd files). + That allows concurrent readers (holding buf_block_t::lock S-latch). + Because we do not know what type of a latch our caller is holding, + we will ignore the field on clustered index root pages in order + to avoid false positives. */ + || (page_get_page_no(page) != 3/* clustered index root page */ + && memcmp(&page_zip->data[FIL_PAGE_DATA + PAGE_ROOT_AUTO_INC], + &page[FIL_PAGE_DATA + PAGE_ROOT_AUTO_INC], 8)) + || memcmp(&page_zip->data[FIL_PAGE_DATA + PAGE_HEADER_PRIV_END], + &page[FIL_PAGE_DATA + PAGE_HEADER_PRIV_END], + PAGE_DATA - FIL_PAGE_DATA - PAGE_HEADER_PRIV_END)) { page_zip_fail(("page_zip_validate: page header\n")); page_zip_hexdump(page_zip, sizeof *page_zip); page_zip_hexdump(page_zip->data, page_zip_get_size(page_zip)); From 7aa443ca7dc58f301a8c6051e2623498d894d44f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Thu, 23 Jan 2020 16:29:52 +0200 Subject: [PATCH 12/21] Remove an unused tokuvalgrind script This is the only symlink in the repository. Symlinks can cause trouble when using file systems or operating systems that do not support them. Also remove the unused file DartConfig.cmake that refers to the script. --- storage/tokudb/PerconaFT/DartConfig.cmake | 10 ---------- storage/tokudb/PerconaFT/scripts/tokuvalgrind | 1 - 2 files changed, 11 deletions(-) delete mode 100644 storage/tokudb/PerconaFT/DartConfig.cmake delete mode 120000 storage/tokudb/PerconaFT/scripts/tokuvalgrind diff --git a/storage/tokudb/PerconaFT/DartConfig.cmake b/storage/tokudb/PerconaFT/DartConfig.cmake deleted file mode 100644 index 9ad189869c6..00000000000 --- a/storage/tokudb/PerconaFT/DartConfig.cmake +++ /dev/null @@ -1,10 +0,0 @@ -if(BUILD_TESTING) - if (NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) - # Valgrind on OSX 10.8 generally works but outputs some warning junk - # that is hard to parse out, so we'll just let it run alone - set(MEMORYCHECK_COMMAND "${TokuDB_SOURCE_DIR}/scripts/tokuvalgrind") - endif () - set(MEMORYCHECK_COMMAND_OPTIONS "--gen-suppressions=no --soname-synonyms=somalloc=*tokuportability* --quiet --num-callers=20 --leak-check=full --show-reachable=yes --trace-children=yes --trace-children-skip=sh,*/sh,basename,*/basename,dirname,*/dirname,rm,*/rm,cp,*/cp,mv,*/mv,cat,*/cat,diff,*/diff,grep,*/grep,date,*/date,test,*/tokudb_dump,*/tdb-recover --trace-children-skip-by-arg=--only_create,--test,--no-shutdown,novalgrind" CACHE INTERNAL "options for valgrind") - set(MEMORYCHECK_SUPPRESSIONS_FILE "${CMAKE_CURRENT_BINARY_DIR}/valgrind.suppressions" CACHE INTERNAL "suppressions file for valgrind") - set(UPDATE_COMMAND "svn") -endif() diff --git a/storage/tokudb/PerconaFT/scripts/tokuvalgrind b/storage/tokudb/PerconaFT/scripts/tokuvalgrind deleted file mode 120000 index 74517aa2975..00000000000 --- a/storage/tokudb/PerconaFT/scripts/tokuvalgrind +++ /dev/null @@ -1 +0,0 @@ -tokugrind \ No newline at end of file From 683a49889c312e0c39fc34d61577efcb11560d29 Mon Sep 17 00:00:00 2001 From: Alexey Botchkov Date: Fri, 24 Jan 2020 00:29:06 +0400 Subject: [PATCH 13/21] MENT-464 ASAN MTR quick test - some failures to be investigated. PCRE reports small frame size working with ASAN, so the test has to be ready for the minimlas possible size. --- mysql-test/r/func_regexp_pcre.result | 18 +++++++++--------- mysql-test/t/func_regexp_pcre.test | 8 ++++---- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/mysql-test/r/func_regexp_pcre.result b/mysql-test/r/func_regexp_pcre.result index e030df99756..494fe917dc6 100644 --- a/mysql-test/r/func_regexp_pcre.result +++ b/mysql-test/r/func_regexp_pcre.result @@ -888,33 +888,33 @@ Warning 1139 Got error 'pcre_exec: recursion limit of NUM exceeded' from regexp SELECT CONCAT(REPEAT('100,',60),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$'; CONCAT(REPEAT('100,',60),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$' 1 -SELECT CONCAT(REPEAT('100,',200),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$'; -CONCAT(REPEAT('100,',200),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$' +SELECT CONCAT(REPEAT('100,',400),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$'; +CONCAT(REPEAT('100,',400),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$' 0 Warnings: Warning 1139 Got error 'pcre_exec: recursion limit of NUM exceeded' from regexp SELECT REGEXP_INSTR(CONCAT(REPEAT('100,',60),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$'); REGEXP_INSTR(CONCAT(REPEAT('100,',60),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$') 1 -SELECT REGEXP_INSTR(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$'); -REGEXP_INSTR(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$') +SELECT REGEXP_INSTR(CONCAT(REPEAT('100,',400),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$'); +REGEXP_INSTR(CONCAT(REPEAT('100,',400),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$') 0 Warnings: Warning 1139 Got error 'pcre_exec: recursion limit of NUM exceeded' from regexp SELECT LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',60),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$')); LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',60),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$')) 243 -SELECT LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$')); -LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$')) +SELECT LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',400),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$')); +LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',400),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$')) 0 Warnings: Warning 1139 Got error 'pcre_exec: recursion limit of NUM exceeded' from regexp SELECT LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',60),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', '')); LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',60),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', '')) 0 -SELECT LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', '')); -LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', '')) -803 +SELECT LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',400),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', '')); +LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',400),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', '')) +1603 Warnings: Warning 1139 Got error 'pcre_exec: recursion limit of NUM exceeded' from regexp SELECT REGEXP_INSTR('a_kollision', 'oll'); diff --git a/mysql-test/t/func_regexp_pcre.test b/mysql-test/t/func_regexp_pcre.test index 21600390bb2..de0fe94b7c1 100644 --- a/mysql-test/t/func_regexp_pcre.test +++ b/mysql-test/t/func_regexp_pcre.test @@ -438,19 +438,19 @@ SELECT 1 FROM dual WHERE ('Alpha,Bravo,Charlie,Delta,Echo,Foxtrot,StrataCentral, # SELECT CONCAT(REPEAT('100,',60),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$'; --replace_regex /[0-9]+ exceeded/NUM exceeded/ -SELECT CONCAT(REPEAT('100,',200),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$'; +SELECT CONCAT(REPEAT('100,',400),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$'; SELECT REGEXP_INSTR(CONCAT(REPEAT('100,',60),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$'); --replace_regex /[0-9]+ exceeded/NUM exceeded/ -SELECT REGEXP_INSTR(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$'); +SELECT REGEXP_INSTR(CONCAT(REPEAT('100,',400),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$'); SELECT LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',60),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$')); --replace_regex /[0-9]+ exceeded/NUM exceeded/ -SELECT LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$')); +SELECT LENGTH(REGEXP_SUBSTR(CONCAT(REPEAT('100,',400),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$')); SELECT LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',60),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', '')); --replace_regex /[0-9]+ exceeded/NUM exceeded/ -SELECT LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',200),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', '')); +SELECT LENGTH(REGEXP_REPLACE(CONCAT(REPEAT('100,',400),'101'), '^(([1-9][0-9]*),)*[1-9][0-9]*$', '')); # # MDEV-12942 REGEXP_INSTR returns 1 when using brackets From 26a46444b4e5f7c459eab3cd949a269f4ccf4137 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Thu, 23 Jan 2020 23:26:01 +0100 Subject: [PATCH 14/21] don't run main.ssl_system_ca in --embedded this test needs a *server* and tries to connect with $MYSQL to it --- mysql-test/t/ssl_system_ca.test | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mysql-test/t/ssl_system_ca.test b/mysql-test/t/ssl_system_ca.test index 0bedb6e4af6..920e391090f 100644 --- a/mysql-test/t/ssl_system_ca.test +++ b/mysql-test/t/ssl_system_ca.test @@ -5,6 +5,8 @@ # They only work for openssl, because the following line works only there: let SSL_CERT_DIR=$MYSQL_TMP_DIR; +source include/not_embedded.inc; + if (`select @@version_ssl_library not like 'OpenSSL%'`) { skip Needs OpenSSL; } From 599a06098b967db3d636c1053bdbdd0011cba606 Mon Sep 17 00:00:00 2001 From: Sujatha Date: Fri, 24 Jan 2020 13:35:03 +0530 Subject: [PATCH 15/21] MDEV-21490: binlog tests fail with valgrind: Conditional jump or move depends on uninitialised value in sql_ex_info::init Problem: ======= P1) Conditional jump or move depends on uninitialised value(s) sql_ex_info::init(char const*, char const*, bool) (log_event.cc:3083) code: All the following variables are not initialized. ---- return ((cached_new_format != -1) ? cached_new_format : (cached_new_format=(field_term_len > 1 || enclosed_len > 1 || line_term_len > 1 || line_start_len > 1 || escaped_len > 1))); P2) Conditional jump or move depends on uninitialised value(s) Rows_log_event::Rows_log_event(char const*, unsigned int, Format_description_log_event const*) (log_event.cc:9571) Code: Uninitialized values is reported for 'var_header_len' variable. ---- if (var_header_len < 2 || event_len < static_cast(var_header_len + (post_start - buf))) P3) Conditional jump or move depends on uninitialised value(s) Table_map_log_event::pack_info(Protocol*) (log_event.cc:11553) code:'m_table_id' is uninitialized. ---- void Table_map_log_event::pack_info(Protocol *protocol) ... size_t bytes= my_snprintf(buf, sizeof(buf), "table_id: %lu (%s.%s)", m_table_id, m_dbnam, m_tblnam); Fix: === P1 - Fix) Initialize cached_new_format,field_term_len, enclosed_len, line_term_len, line_start_len, escaped_len members in default constructor. P2 - Fix) "var_header_len" is initialized by reading the event buffer. In case of an invalid event the buffer will contain invalid data. Hence added a check to validate the event data. If event_len is smaller than valid header length return immediately. P3 - Fix) 'm_table_id' within Table_map_log_event is initialized by reading data from the event buffer. Use 'VALIDATE_BYTES_READ' macro to validate the current state of the buffer. If it is invalid return immediately. --- sql/log_event.cc | 9 ++++++++- sql/log_event.h | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/sql/log_event.cc b/sql/log_event.cc index e8881c77f2b..d731c39d9c5 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -5902,7 +5902,7 @@ int Load_log_event::copy_log_event(const char *buf, ulong event_len, { DBUG_ENTER("Load_log_event::copy_log_event"); uint data_len; - if ((int) event_len < body_offset) + if ((int) event_len <= body_offset) DBUG_RETURN(1); char* buf_end = (char*)buf + event_len; /* this is the beginning of the post-header */ @@ -9535,6 +9535,12 @@ Rows_log_event::Rows_log_event(const char *buf, uint event_len, uint8 const post_header_len= description_event->post_header_len[event_type-1]; + if (event_len < (uint)(common_header_len + post_header_len)) + { + m_cols.bitmap= 0; + DBUG_VOID_RETURN; + } + DBUG_PRINT("enter",("event_len: %u common_header_len: %d " "post_header_len: %d", event_len, common_header_len, @@ -11043,6 +11049,7 @@ Table_map_log_event::Table_map_log_event(const char *buf, uint event_len, const char *post_start= buf + common_header_len; post_start+= TM_MAPID_OFFSET; + VALIDATE_BYTES_READ(post_start, buf, event_len); if (post_header_len == 6) { /* Master is of an intermediate source tree before 5.1.4. Id is 4 bytes */ diff --git a/sql/log_event.h b/sql/log_event.h index 2c8dc3d7353..1337e9a7d69 100644 --- a/sql/log_event.h +++ b/sql/log_event.h @@ -2057,7 +2057,15 @@ public: /* !!! Public in this patch to allow old usage */ ****************************************************************************/ struct sql_ex_info { - sql_ex_info() {} /* Remove gcc warning */ + sql_ex_info(): + cached_new_format(-1), + field_term_len(0), + enclosed_len(0), + line_term_len(0), + line_start_len(0), + escaped_len(0), + empty_flags(0) + {} /* Remove gcc warning */ const char* field_term; const char* enclosed; const char* line_term; From ac3e3e12adad505b9f09bd068ddd6819ac084a05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Fri, 24 Jan 2020 14:43:19 +0200 Subject: [PATCH 16/21] MDEV-21509: Work around occasional lost DEBUG_SYNC --- mysql-test/suite/innodb/r/innodb_bug30113362.result | 4 ++-- mysql-test/suite/innodb/t/innodb_bug30113362.test | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/mysql-test/suite/innodb/r/innodb_bug30113362.result b/mysql-test/suite/innodb/r/innodb_bug30113362.result index 64f20650a6b..57dff622211 100644 --- a/mysql-test/suite/innodb/r/innodb_bug30113362.result +++ b/mysql-test/suite/innodb/r/innodb_bug30113362.result @@ -63,11 +63,11 @@ SET DEBUG_SYNC = 'now WAIT_FOR roll1_wait'; COMMIT; SET DEBUG_SYNC = 'now SIGNAL roll2'; connect con1,localhost,root,,; -SET DEBUG_SYNC = 'now WAIT_FOR rollback_waiting'; +SET DEBUG_SYNC = 'now WAIT_FOR rollback_waiting TIMEOUT 1'; SET DEBUG_SYNC = 'rw_s_lock_waiting SIGNAL lockwait1'; SELECT a00 FROM t1 WHERE a00 = 'bii'; connection default; -SET DEBUG_SYNC = 'now WAIT_FOR lockwait1'; +SET DEBUG_SYNC = 'now WAIT_FOR lockwait1 TIMEOUT 1'; SET DEBUG_SYNC = 'now SIGNAL resume'; connection con1; a00 diff --git a/mysql-test/suite/innodb/t/innodb_bug30113362.test b/mysql-test/suite/innodb/t/innodb_bug30113362.test index 7c3888aaec5..2291574f9ec 100644 --- a/mysql-test/suite/innodb/t/innodb_bug30113362.test +++ b/mysql-test/suite/innodb/t/innodb_bug30113362.test @@ -106,12 +106,18 @@ COMMIT; SET DEBUG_SYNC = 'now SIGNAL roll2'; connect (con1,localhost,root,,); -SET DEBUG_SYNC = 'now WAIT_FOR rollback_waiting'; +# FIXME: This occasionally times out! +--disable_warnings +SET DEBUG_SYNC = 'now WAIT_FOR rollback_waiting TIMEOUT 1'; +--enable_warnings SET DEBUG_SYNC = 'rw_s_lock_waiting SIGNAL lockwait1'; send SELECT a00 FROM t1 WHERE a00 = 'bii'; connection default; -SET DEBUG_SYNC = 'now WAIT_FOR lockwait1'; +# FIXME: This occasionally times out! +--disable_warnings +SET DEBUG_SYNC = 'now WAIT_FOR lockwait1 TIMEOUT 1'; +--enable_warnings # bug#30113362 caused deadlock SET DEBUG_SYNC = 'now SIGNAL resume'; From 2833e906190e4fa3b0261a204822d419542aebe7 Mon Sep 17 00:00:00 2001 From: Oleksandr Byelkin Date: Fri, 24 Jan 2020 14:34:07 +0100 Subject: [PATCH 17/21] fix perfschema.start_server_innodb test (related to MDEV-17571) --- mysql-test/suite/perfschema/r/ortho_iter.result | 2 +- mysql-test/suite/perfschema/r/privilege_table_io.result | 2 +- mysql-test/suite/perfschema/r/start_server_no_cond_inst.result | 2 +- mysql-test/suite/perfschema/r/start_server_variables.result | 2 +- storage/perfschema/pfs_server.h | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mysql-test/suite/perfschema/r/ortho_iter.result b/mysql-test/suite/perfschema/r/ortho_iter.result index a1fb88e7059..dfd31a80b3f 100644 --- a/mysql-test/suite/perfschema/r/ortho_iter.result +++ b/mysql-test/suite/perfschema/r/ortho_iter.result @@ -111,7 +111,7 @@ performance_schema_events_statements_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 -performance_schema_max_cond_classes 80 +performance_schema_max_cond_classes 90 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 performance_schema_max_file_classes 50 diff --git a/mysql-test/suite/perfschema/r/privilege_table_io.result b/mysql-test/suite/perfschema/r/privilege_table_io.result index 2cdcb494d6a..00f382de966 100644 --- a/mysql-test/suite/perfschema/r/privilege_table_io.result +++ b/mysql-test/suite/perfschema/r/privilege_table_io.result @@ -38,7 +38,7 @@ performance_schema_events_statements_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 -performance_schema_max_cond_classes 80 +performance_schema_max_cond_classes 90 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 performance_schema_max_file_classes 50 diff --git a/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result b/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result index df5373ead87..bb3d0a24db9 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result +++ b/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result @@ -21,7 +21,7 @@ show engine PERFORMANCE_SCHEMA status; show status like "performance_schema%"; show variables like "performance_schema_max_cond_classes"; Variable_name Value -performance_schema_max_cond_classes 80 +performance_schema_max_cond_classes 90 select count(*) > 0 from performance_schema.setup_instruments where name like "wait/synch/cond/%"; count(*) > 0 diff --git a/mysql-test/suite/perfschema/r/start_server_variables.result b/mysql-test/suite/perfschema/r/start_server_variables.result index 3f2df9603b3..6199fb94f92 100644 --- a/mysql-test/suite/perfschema/r/start_server_variables.result +++ b/mysql-test/suite/perfschema/r/start_server_variables.result @@ -33,7 +33,7 @@ performance_schema_events_statements_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 -performance_schema_max_cond_classes 80 +performance_schema_max_cond_classes 90 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 performance_schema_max_file_classes 50 diff --git a/storage/perfschema/pfs_server.h b/storage/perfschema/pfs_server.h index 3457a91d376..9f904e6545b 100644 --- a/storage/perfschema/pfs_server.h +++ b/storage/perfschema/pfs_server.h @@ -35,7 +35,7 @@ #define PFS_MAX_RWLOCK_CLASS 40 #endif #ifndef PFS_MAX_COND_CLASS - #define PFS_MAX_COND_CLASS 80 + #define PFS_MAX_COND_CLASS 90 #endif #ifndef PFS_MAX_THREAD_CLASS #define PFS_MAX_THREAD_CLASS 50 From fdb9b05cbba648fdc411afb3e39495f37321f084 Mon Sep 17 00:00:00 2001 From: Oleksandr Byelkin Date: Fri, 24 Jan 2020 15:38:25 +0100 Subject: [PATCH 18/21] fix tests --- mysql-test/main/mysqld--help.result | 2 +- mysql-test/suite/maria/aria_pack_mdev14183.result | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/mysql-test/main/mysqld--help.result b/mysql-test/main/mysqld--help.result index bd9656a106d..f9dfa604d23 100644 --- a/mysql-test/main/mysqld--help.result +++ b/mysql-test/main/mysqld--help.result @@ -1626,7 +1626,7 @@ performance-schema-events-waits-history-long-size -1 performance-schema-events-waits-history-size -1 performance-schema-hosts-size -1 performance-schema-instrument -performance-schema-max-cond-classes 80 +performance-schema-max-cond-classes 90 performance-schema-max-cond-instances -1 performance-schema-max-digest-length 1024 performance-schema-max-file-classes 50 diff --git a/mysql-test/suite/maria/aria_pack_mdev14183.result b/mysql-test/suite/maria/aria_pack_mdev14183.result index b20f60c5b8a..1f71ccd53b5 100644 --- a/mysql-test/suite/maria/aria_pack_mdev14183.result +++ b/mysql-test/suite/maria/aria_pack_mdev14183.result @@ -15,6 +15,7 @@ Original trees: 4 After join: 1 - Compressing file Min record length: 5 Max length: 5 Mean total length: 35 99.57% +# restart SELECT * FROM t; col_1 col_2 col_3 col_4 foobar qux 0 0 From 7e8a58020bc2b0dcac95937a0178401ecc55f6ad Mon Sep 17 00:00:00 2001 From: Sergei Petrunia Date: Mon, 20 Jan 2020 00:06:51 +0300 Subject: [PATCH 19/21] MDEV-21383: Possible range plan is not used under certain conditions [Variant 2 of the fix: collect the attached conditions] Problem: make_join_select() has a section of code which starts with "We plan to scan all rows. Check again if we should use an index." the code in that section will [unnecessarily] re-run the range optimizer using this condition: condition_attached_to_current_table AND current_table's_ON_expr Note that the original invocation of range optimizer in make_join_statistics was done using the whole select's WHERE condition. Taking the whole select's WHERE condition and using multiple-equalities allowed the range optimizer to infer more range restrictions. The fix: - Do range optimization using a condition that is an AND of this table's condition and all of the previous tables' conditions. - Also, fix the range optimizer to prefer SEL_ARGs with type=KEY_RANGE over SEL_ARGS with type=MAYBE_KEY, regardless of the key part. Computing key_and( SEL_ARG(type=MAYBE_KEY key_part=1), SEL_ARG(type=KEY_RANGE, key_part=2) ) will now produce the SEL_ARG with type=KEY_RANGE. --- mysql-test/main/join.result | 56 +++++++++++++++++++++++++++++ mysql-test/main/join.test | 65 +++++++++++++++++++++++++++++++++ sql/opt_range.cc | 2 ++ sql/sql_select.cc | 72 ++++++++++++++++++++++++++++++++++++- 4 files changed, 194 insertions(+), 1 deletion(-) diff --git a/mysql-test/main/join.result b/mysql-test/main/join.result index fb4f35ed555..fe6d18f7807 100644 --- a/mysql-test/main/join.result +++ b/mysql-test/main/join.result @@ -3339,3 +3339,59 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t0 ALL NULL NULL NULL NULL 10 Using where 1 SIMPLE t1 ref a a 5 test.t0.a 1 drop table t0,t1; +# +# MDEV-21383: Possible range plan is not used under certain conditions +# +drop table if exists t10, t1000, t03; +create table t10(a int); +insert into t10 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); +create table t1000(a int); +insert into t1000 select A.a + B.a* 10 + C.a * 100 from t10 A, t10 B, t10 C; +create table t03(a int); +insert into t03 values (0),(1),(2); +create table t1 ( +stationid int +); +insert into t1 select a from t10; +CREATE TABLE t2 ( +stationId int, +startTime int, +filler char(100), +key1 int, +key2 int, +key(key1), +key(key2), +PRIMARY KEY (`stationId`,`startTime`) +); +insert into t2 select +A.a, +B.a, +repeat('filler=data-', 4), +B.a, +1 +from +t03 A, +t1000 B; +analyze table t2; +Table Op Msg_type Msg_text +test.t2 analyze status OK +create table t3(a int, filler char(100), key(a)); +insert into t3 select A.a+1000*B.a, 'filler-data' from t1000 A, t10 B; +# This should produce a join order of t1,t2,t3 +# t2 should have type=range, key=PRIMARY key_len=8 (not type=ALL or key_len<8) +explain +SELECT * +FROM +t1,t2,t3 +WHERE +t2.startTime <= 100 and +t2.stationId = t1.stationId and +(t1.stationid = 1 or t1.stationid = 2 or t1.stationid = 3) and +key1 >0 and +t2.key2=t3.a; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 10 Using where +1 SIMPLE t2 range PRIMARY,key1,key2 PRIMARY 8 NULL 219 Using index condition; Using where; Using join buffer (flat, BNL join) +1 SIMPLE t3 ref a a 5 test.t2.key2 1 +drop table t1,t2,t3; +drop table t1000,t10,t03; diff --git a/mysql-test/main/join.test b/mysql-test/main/join.test index c5d62e213d8..c72ff0e1a8c 100644 --- a/mysql-test/main/join.test +++ b/mysql-test/main/join.test @@ -1748,3 +1748,68 @@ show keys from t1; explain select * from t0,t1 where t0.a=t1.a; drop table t0,t1; + +--echo # +--echo # MDEV-21383: Possible range plan is not used under certain conditions +--echo # + +--disable_warnings +drop table if exists t10, t1000, t03; +--enable_warnings + +create table t10(a int); +insert into t10 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); + +create table t1000(a int); +insert into t1000 select A.a + B.a* 10 + C.a * 100 from t10 A, t10 B, t10 C; + +create table t03(a int); +insert into t03 values (0),(1),(2); + + +create table t1 ( + stationid int +); +insert into t1 select a from t10; + +CREATE TABLE t2 ( + stationId int, + startTime int, + filler char(100), + key1 int, + key2 int, + key(key1), + key(key2), + PRIMARY KEY (`stationId`,`startTime`) +); + +insert into t2 select + A.a, + B.a, + repeat('filler=data-', 4), + B.a, + 1 +from + t03 A, + t1000 B; +analyze table t2; + +create table t3(a int, filler char(100), key(a)); +insert into t3 select A.a+1000*B.a, 'filler-data' from t1000 A, t10 B; + +--echo # This should produce a join order of t1,t2,t3 +--echo # t2 should have type=range, key=PRIMARY key_len=8 (not type=ALL or key_len<8) +explain +SELECT * +FROM + t1,t2,t3 +WHERE + t2.startTime <= 100 and + t2.stationId = t1.stationId and + (t1.stationid = 1 or t1.stationid = 2 or t1.stationid = 3) and + key1 >0 and + t2.key2=t3.a; + +drop table t1,t2,t3; +drop table t1000,t10,t03; + diff --git a/sql/opt_range.cc b/sql/opt_range.cc index 32e6a767f15..bd5f25d67c2 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -8999,6 +8999,8 @@ and_all_keys(RANGE_OPT_PARAM *param, SEL_ARG *key1, SEL_ARG *key2, } if (key1->type == SEL_ARG::MAYBE_KEY) { + if (key2->type == SEL_ARG::KEY_RANGE) + return key2; key1->right= key1->left= &null_element; key1->next= key1->prev= 0; } diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 87a45a1baed..ae26458d451 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -10543,6 +10543,74 @@ make_outerjoin_info(JOIN *join) } +/* + @brief + Build a temporary join prefix condition for JOIN_TABs up to the last tab + + @param ret OUT the condition is returned here + + @return + false OK + true Out of memory + + @detail + Walk through the join prefix (from the first table to the last_tab) and + build a condition: + + join_tab_1_cond AND join_tab_2_cond AND ... AND last_tab_conds + + The condition is only intended to be used by the range optimizer, so: + - it is not normalized (can have Item_cond_and inside another + Item_cond_and) + - it does not include join->exec_const_cond and other similar conditions. +*/ + +bool build_tmp_join_prefix_cond(JOIN *join, JOIN_TAB *last_tab, Item **ret) +{ + THD *const thd= join->thd; + Item_cond_and *all_conds= NULL; + + Item *res= NULL; + + // Pick the ON-expression. Use the same logic as in get_sargable_cond(): + if (last_tab->on_expr_ref) + res= *last_tab->on_expr_ref; + else if (last_tab->table->pos_in_table_list && + last_tab->table->pos_in_table_list->embedding && + !last_tab->table->pos_in_table_list->embedding->sj_on_expr) + { + res= last_tab->table->pos_in_table_list->embedding->on_expr; + } + + for (JOIN_TAB *tab= first_depth_first_tab(join); + tab; + tab= next_depth_first_tab(join, tab)) + { + if (tab->select_cond) + { + if (!res) + res= tab->select_cond; + else + { + if (!all_conds) + { + if (!(all_conds= new (thd->mem_root)Item_cond_and(thd, res, + tab->select_cond))) + return true; + res= all_conds; + } + else + all_conds->add(tab->select_cond, thd->mem_root); + } + } + if (tab == last_tab) + break; + } + *ret= all_conds? all_conds: res; + return false; +} + + static bool make_join_select(JOIN *join,SQL_SELECT *select,COND *cond) { @@ -10890,7 +10958,9 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond) { /* Join with outer join condition */ COND *orig_cond=sel->cond; - sel->cond= and_conds(thd, sel->cond, *tab->on_expr_ref); + + if (build_tmp_join_prefix_cond(join, tab, &sel->cond)) + return true; /* We can't call sel->cond->fix_fields, From ee33c4a6946c4291f103437428e34a405193b270 Mon Sep 17 00:00:00 2001 From: Sergei Petrunia Date: Sun, 26 Jan 2020 12:47:20 +0300 Subject: [PATCH 20/21] Post-merge fix --- mysql-test/main/join.result | 1 + 1 file changed, 1 insertion(+) diff --git a/mysql-test/main/join.result b/mysql-test/main/join.result index 55730da47f0..1a59c7b16e9 100644 --- a/mysql-test/main/join.result +++ b/mysql-test/main/join.result @@ -3381,6 +3381,7 @@ t03 A, t1000 B; analyze table t2; Table Op Msg_type Msg_text +test.t2 analyze status Engine-independent statistics collected test.t2 analyze status OK create table t3(a int, filler char(100), key(a)); insert into t3 select A.a+1000*B.a, 'filler-data' from t1000 A, t10 B; From ba6bfc402c352372cc1a9ec20b5dc50b2204549f Mon Sep 17 00:00:00 2001 From: Elena Stepanova Date: Sun, 26 Jan 2020 22:39:52 +0200 Subject: [PATCH 21/21] List of unstable tests for 10.4.12 release --- mysql-test/unstable-tests | 499 ++++++++++++++++++++------------------ 1 file changed, 268 insertions(+), 231 deletions(-) diff --git a/mysql-test/unstable-tests b/mysql-test/unstable-tests index b738604b13a..5fb89c560fa 100644 --- a/mysql-test/unstable-tests +++ b/mysql-test/unstable-tests @@ -23,93 +23,95 @@ # ############################################################################## # -# Based on bb-10.4-release a15234bf4bf98d7833996284c033fc53a981f5d4 +# Based on bb-10.4-release ee33c4a6946c4291f103437428e34a405193b270 main.alter_table_trans : MDEV-12084 - timeout main.analyze_stmt_slow_query_log : MDEV-12237 - Wrong result main.auth_named_pipe : MDEV-14724 - System error 2 -main.auto_increment_ranges_innodb : Include file modified in 10.4.9 -main.auto_increment_ranges_myisam : Include file modified in 10.4.9 -main.backup_interaction : Modified in 10.4.9 main.binary_to_hex : MDEV-20211 - Wrong result -main.brackets : Modified in 10.4.9 -main.compare : Modified in 10.4.9 +main.cache_temporal_4265 : Modified in 10.4.12 main.connect : MDEV-17282 - Wrong result main.connect-abstract : MDEV-20162 - Could not execute 'check-testcase' main.connect2 : MDEV-13885 - Server crash +main.connect_debug : Modified in 10.4.12 main.count_distinct2 : MDEV-11768 - timeout main.create : Modified in 10.4.11 main.create_delayed : MDEV-10605 - failed with timeout main.create_drop_event : MDEV-16271 - Wrong result -main.cte_nonrecursive : Modified in 10.4.9 +main.create_or_replace2 : Modified in 10.4.12 +main.cte_nonrecursive : Modified in 10.4.12 main.ctype_cp932_binlog_stm : MDEV-20534 - Wrong result -main.ctype_many : Modified in 10.4.9 -main.ctype_uca : Include file modified in 10.4.9 -main.ctype_uca_innodb : Include file modified in 10.4.9 main.ctype_ucs : MDEV-17681 - Data too long for column main.ctype_upgrade : MDEV-16945 - Error upon mysql_upgrade main.ctype_utf16 : MDEV-10675: timeout or extra warnings main.ctype_utf16le : MDEV-10675: timeout or extra warnings -main.ctype_utf8 : Include file modified in 10.4.9 main.ctype_utf8mb4_innodb : MDEV-17744 - Timeout; MDEV-18567 - ASAN use-after-poison main.debug_sync : MDEV-10607 - internal error +main.default_session : Modified in 10.4.12 main.delayed : MDEV-20961 - Assertion failure -main.derived_cond_pushdown : MDEV-20532 - Floating point differences +main.delete_use_source : Modified in 10.4.12 +main.derived_cond_pushdown : MDEV-20532 - Floating point differences; modified in 10.4.12 main.derived_opt : MDEV-11768 - timeout main.dirty_close : MDEV-19368 - mysqltest failed but provided no output main.distinct : MDEV-14194 - Crash -main.drop_bad_db_type : MDEV-15676 - Wrong result; modified in 10.4.9 -main.drop_debug : Modified in 10.1.42 +main.drop_bad_db_type : MDEV-15676 - Wrong result; modified in 10.4.12 main.dyncol : MDEV-19455 - Extra warning +main.engine_error_in_alter-8453 : Modified in 10.4.12 +main.error_simulation : Modified in 10.4.12 main.events_2 : MDEV-13277 - Crash -main.events_bugs : MDEV-12892 - Crash +main.events_bugs : MDEV-12892 - Crash; modified in 10.4.12 main.events_restart : MDEV-12236 - Server shutdown problem main.events_slowlog : MDEV-12821 - Wrong result main.flush : MDEV-19368 - mysqltest failed but provided no output main.flush_ssl : MDEV-21276 - Aria recovery failure -main.func_json : Modified in 10.4.9 -main.func_math : MDEV-20966 - Wrong error code; modified in 10.4.9 -main.func_misc : Modified in 10.4.9 +main.foreign_key : Modified in 10.4.12 +main.func_math : MDEV-20966 - Wrong error code; modified in 10.4.12 +main.func_misc : Modified in 10.4.12 +main.func_regexp_pcre : Modified in 10.4.12 +main.func_regexp_pcre_debug : Modified in 10.4.12 +main.func_time : Modified in 10.4.12 main.gis : MDEV-13411 - wrong result on P8 main.gis_notembedded : MDEV-21264 - Wrong result with non-default charset +main.group_by : Modified in 10.4.12 +main.having_cond_pushdown : Modified in 10.4.12 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.9 -main.index_merge_myisam : Modified in 10.4.9 -main.information_schema_db : Modified in 10.4.9 +main.index_merge_innodb : MDEV-7142 - Plan mismatch main.innodb_icp : MDEV-20168 - Wrong execution plans main.innodb_mysql_lock : MDEV-7861 - Wrong result +main.insert_debug : Added in 10.4.12 main.ipv4_and_ipv6 : MDEV-20964 - Wrong result main.ipv6 : MDEV-20964 - Wrong result -main.join : Modified in 10.1.42 -main.join_cache : MDEV-17743 - Bad address from storage engine MyISAM -main.kill : Modified in 10.2.28 +main.join : Modified in 10.4.12 +main.join_cache : MDEV-17743 - Bad address from storage engine MyISAM; modified in 10.4.12 main.kill-2 : MDEV-13257 - Wrong result main.kill_processlist-6619 : MDEV-10793 - Wrong result main.loaddata : MDEV-19368 - mysqltest failed but provided no output main.locale : MDEV-20521 - Missing warning main.log_slow : MDEV-13263 - Wrong result -main.log_slow_debug : Modified in 10.4.9 +main.log_slow_debug : Modified in 10.4.12 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.mdev6830 : Modified in 10.4.12 main.merge : MDEV-10607 - sporadic "can't connect" +main.merge-big : Modified in 10.4.12 +main.merge_debug : Modified in 10.4.12 main.multi_update_debug : MDEV-20136 - Debug sync point wait timed out -main.myisam : Modified in 10.4.9 +main.myisam_debug : Modified in 10.4.12 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 -main.mysql_upgrade-20228 : Added in 10.4.9 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 main.mysqladmin : MDEV-20535 - Wrong result main.mysqlcheck : MDEV-20164 - Wrong result -main.mysqld_option_err : MDEV-21236 - Wrong error +main.mysqld_option_err : MDEV-21236 - Wrong error; MDEV-21571 - Crash on bootstrap main.mysqldump : MDEV-14800 - Stack smashing detected main.mysqldump-max : MDEV-21272 - Wrong result main.mysqlhotcopy_myisam : MDEV-10995 - Hang on debug @@ -118,74 +120,72 @@ main.mysqlslap : MDEV-11801 - timeout main.mysqltest : MDEV-13887 - Wrong result main.old-mode : MDEV-19373 - Wrong result main.openssl_6975 : MDEV-17184 - Failures with OpenSSL 1.1.1 +main.opt_tvc : Modified in 10.4.12 main.order_by : Modified in 10.4.11 -main.order_by_innodb : Modified in 10.4.9 main.order_by_optimizer_innodb : MDEV-10683 - Wrong result -main.parser : Modified in 10.4.9 -main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock; modified in 10.4.9 -main.partition_innodb : MDEV-20169 - Wrong result; modified in 10.4.9 +main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock +main.partition_innodb : MDEV-20169 - Wrong result main.partition_innodb_plugin : MDEV-12901 - Valgrind warnings main.partition_innodb_semi_consistent : MDEV-19411 - Failed to start mysqld.1 main.partition_mrr_aria : Added in 10.4.11 main.partition_mrr_innodb : Added in 10.4.11 main.partition_mrr_myisam : Added in 10.4.11 main.partition_pruning : Modified in 10.4.11 -main.partition_ucs2 : Added in 10.4.9 -main.partition_utf8 : Modified in 10.4.9 -main.plugin : Include file modified in 10.4.9 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 : Modified in 10.4.9 -main.processlist_notembedded : Added in 10.4.9 -main.ps : MDEV-11017 - sporadic wrong Prepared_stmt_count; modified in 10.4.9 +main.ps : MDEV-11017 - sporadic wrong Prepared_stmt_count main.query_cache : MDEV-16180 - Wrong result main.query_cache_debug : MDEV-15281 - Query cache is disabled +main.range_innodb : Modified in 10.4.12 +main.range_interrupted-13751 : Modified in 10.4.12 main.range_vs_index_merge_innodb : MDEV-15283 - Server has gone away -main.rowid_filter_innodb : MDEV-20538 - Wrong result; modified in 10.4.11 +main.rowid_filter_innodb : MDEV-20538 - Wrong result; modified in 10.4.12 main.select : MDEV-20532 - Floating point differences +main.select_debug : Modified in 10.4.12 main.select_jcl6 : MDEV-20532 - Floating point differences main.select_pkeycache : MDEV-20532 - Floating point differences main.selectivity : Modified in 10.4.11 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.sp : MDEV-7866 - Mismatch; modified in 10.4.9 -main.sp-code : Modified in 10.4.9 +main.show_explain : MDEV-10674 - Wrong result code; modified in 10.4.12 +main.show_explain_non_select : Modified in 10.4.12 +main.show_explain_ps : Modified in 10.4.12 +main.slowlog_enospace-10508 : Modified in 10.4.12 +main.sp : MDEV-7866 - Mismatch 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_7937 : MDEV-20958 - Wrong result; modified in 10.4.12 +main.ssl_8k_key : Modified in 10.4.12 main.ssl_ca : MDEV-10895 - SSL connection error on Power main.ssl_cipher : MDEV-17184 - Failures with OpenSSL 1.1.1 main.ssl_crl : MDEV-19119 - Wrong error code; modified in 10.4.11 +main.ssl_crl_clients : Modified in 10.4.12 +main.ssl_system_ca : Added in 10.4.12 main.ssl_timeout : MDEV-11244 - Crash -main.stat_tables : Modified in 10.4.9 +main.stat_tables-enospc : Modified in 10.4.12 main.stat_tables_par : MDEV-13266 - Wrong result main.stat_tables_par_innodb : MDEV-14155 - Wrong rounding -main.statement-expr : Modified in 10.4.9 main.status : MDEV-13255 - Wrong result -main.subselect : MDEV-20551 - Valgrind failure; modified in 10.4.9 +main.subselect : MDEV-20551 - Valgrind failure main.subselect_innodb : MDEV-10614 - Wrong result -main.subselect_notembedded : Modified in 10.4.9 -main.subselect_sj : Modified in 10.4.9 -main.sum_distinct-big : Modified in 10.4.9 -main.table_value_constr : Modified in 10.4.9 main.tc_heuristic_recover : MDEV-14189 - Wrong result -main.tls_version : MDEV-20170 - Unknown SSL error -main.tls_version1 : MDEV-20170 - Unknown SSL error +main.timezone2 : Modified in 10.4.12 main.type_blob : MDEV-15195 - Wrong result -main.type_date : Modified in 10.1.42 -main.type_datetime : Modified in 10.1.42 +main.type_datetime : Modified in 10.4.12 main.type_datetime_hires : MDEV-10687 - Timeout main.type_float : MDEV-20532 - Floating point differences -main.type_int : Modified in 10.1.42 -main.type_newdecimal : MDEV-20532 - Floating point differences; modified in 10.4.9 +main.type_int : Modified in 10.4.12 +main.type_newdecimal : MDEV-20532 - Floating point differences main.type_ranges : MDEV-20532 - Floating point differences -main.uniques_crash-7912 : MDEV-21210 - Excessive memory consumption +main.type_time : Modified in 10.4.12 +main.union_crash-714 : Modified in 10.4.12 main.userstat : MDEV-12904 - SSL errors main.wait_timeout : MDEV-19023 - Lost connection to MySQL server during query +main.warnings_debug : Modified in 10.4.12 +main.win : Modified in 10.4.12 main.xa : MDEV-11769 - lock wait timeout #----------------------------------------------------------------------- @@ -202,44 +202,47 @@ archive-test_sql_discovery.discover : MDEV-16817 - Table marked as crashed #----------------------------------------------------------------------- -binlog.backup : Added in 10.4.9 -binlog.binlog_commit_wait : MDEV-10150 - Mismatch -binlog.binlog_killed : MDEV-12925 - Wrong result -binlog.binlog_max_extension : MDEV-19762 - Crash on shutdown -binlog.binlog_mysqlbinlog_row : Modified in 10.4.9 -binlog.binlog_mysqlbinlog_row_innodb : MDEV-20530 - Binary files differ -binlog.binlog_mysqlbinlog_row_myisam : MDEV-20530 - Binary files differ -binlog.binlog_row_binlog : MDEV-20213 - Server crash -binlog.binlog_row_drop_tmp_tbl : Include file modified in 10.1.42 -binlog.binlog_stm_binlog : MDEV-20412 - Wrong result -binlog.binlog_stm_drop_tmp_tbl : Include file modified in 10.1.42 -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.read_only : Added in 10.4.9 -binlog.read_only_statement : Added in 10.4.9 -binlog.show_concurrent_rotate : MDEV-20215 - Wrong result +binlog.binlog_commit_wait : MDEV-10150 - Mismatch +binlog.binlog_index : Include file modified in 10.2.31 +binlog.binlog_invalid_read_in_rotate : Added in 10.4.12 +binlog.binlog_ioerr : MDEV-20159 - Assertion failure; include file modified in 10.2.31 +binlog.binlog_killed : MDEV-12925 - Wrong result +binlog.binlog_max_extension : MDEV-19762 - Crash on shutdown +binlog.binlog_mysqlbinlog_row_innodb : MDEV-20530 - Binary files differ +binlog.binlog_mysqlbinlog_row_myisam : MDEV-20530 - Binary files differ +binlog.binlog_parallel_replication_marks_row : Include file modified in 10.4.12 +binlog.binlog_parallel_replication_marks_stm_mix : Include file modified in 10.4.12 +binlog.binlog_row_binlog : MDEV-20213 - Server crash +binlog.binlog_show_binlog_event_random_pos : Added in 10.4.12 +binlog.binlog_stm_binlog : MDEV-20412 - Wrong result +binlog.binlog_write_error : Include file Include file modified in 10.2.31 +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_incident : MDEV-20213 - Server crash -binlog_encryption.binlog_mdev_20574_old_binlog : Added in 10.4.9 +binlog_encryption.binlog_index : Include file modified in 10.4.12 +binlog_encryption.binlog_ioerr : Include file modified in 10.4.12 +binlog_encryption.binlog_write_error : Include file Include file modified in 10.4.12 binlog_encryption.binlog_xa_recover : MDEV-12908 - Extra checkpoint binlog_encryption.encrypted_master : 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-20213 - Server crash -binlog_encryption.mysqlbinlog : Modified in 10.4.9 -binlog_encryption.rpl_binlog_errors : MDEV-12742 - Crash; include file modified in 10.4.9 -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.11 +binlog_encryption.multisource : MDEV-20213 - Server crash; MDEV-21289 - Wrong error code +binlog_encryption.rpl_binlog_errors : MDEV-12742 - Crash +binlog_encryption.rpl_checksum : MDEV-16951 - Wrong result; include file modified in 10.4.12 +binlog_encryption.rpl_corruption : MDEV-20159 - Assertion failure; MDEV-20953 - Wrong error code; include file modified in 10.4.12 binlog_encryption.rpl_gtid_basic : MDEV-16947 - Server failed to start -binlog_encryption.rpl_init_slave_errors : MDEV-20213 - Server crash +binlog_encryption.rpl_incident : Include file modified in 10.4.12 +binlog_encryption.rpl_init_slave_errors : MDEV-20213 - Server crash; include file modified in 10.4.12 binlog_encryption.rpl_loadfile : MDEV-16645 - Timeout in include binlog_encryption.rpl_mixed_binlog_max_cache_size : MDEV-20956 - Incorrect checksum for freed object -binlog_encryption.rpl_parallel : MDEV-10653 - Timeout in include -binlog_encryption.rpl_parallel_ignored_errors : Added in 10.4.9 +binlog_encryption.rpl_parallel : MDEV-10653 - Timeout in include; include file modified in 10.4.12 +binlog_encryption.rpl_parallel_ignored_errors : Include file modified in 10.4.12 binlog_encryption.rpl_relayrotate : MDEV-15194 - Timeout binlog_encryption.rpl_semi_sync : MDEV-11673 - Valgrind binlog_encryption.rpl_skip_replication : MDEV-13571 - Unexpected warning; MDEV-20573 - Wrong result @@ -252,39 +255,36 @@ binlog_encryption.rpl_typeconv : MDEV-14362 - Lost c #----------------------------------------------------------------------- -compat/oracle.plugin : Include file modified in 10.4.9 -compat/oracle.ps : Modified in 10.4.9 -compat/oracle.statement-expr : Modified in 10.4.9 +compat/oracle.sp-goto : Modified in 10.4.12 +compat/oracle.sp-goto-debug : Added in 10.4.12 #----------------------------------------------------------------------- connect.alter : MDEV-18135 - SSL error: key too small connect.drop-open-error : MDEV-18135 - SSL error: key too small -connect.grant : Modified in 10.4.9 -connect.grant2 : Modified in 10.4.9 -connect.ini_grant : Modified in 10.4.9 +connect.grant : Modified in 10.1.44 +connect.grant2 : Modified in 10.1.44 +connect.ini_grant : Modified in 10.1.44 connect.json : MDEV-18135 - SSL error: key too small -connect.mysql_grant : Modified in 10.4.9 +connect.mysql_grant : Modified in 10.1.44 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.vcol : MDEV-12374 - Fails on Windows -connect.xml2_grant : Include file modified in 10.4.9 -connect.xml_grant : Include file modified in 10.4.9 +connect.xml2_grant : Include file modified in 10.1.44 +connect.xml_grant : Include file modified in 10.1.44 connect.zip : MDEV-13884 - Wrong result #----------------------------------------------------------------------- encryption.corrupted_during_recovery : MDEV-20159 - Assertion failure -encryption.create_or_replace : MDEV-12694 - Timeout; MDEV-16115 - Trying to access tablespace +encryption.create_or_replace : MDEV-16115 - Trying to access tablespace encryption.debug_key_management : MDEV-13841 - Timeout encryption.encrypt_and_grep : MDEV-13765 - Wrong result encryption.innochecksum : MDEV-13644 - Assertion failure -encryption.innodb-bad-key-change : Combinations added in 10.4.9 -encryption.innodb-bad-key-change2 : MDEV-19118 - Can't connect to local MySQL server through socket; combinations added in 10.4.9 -encryption.innodb-bad-key-change3 : Combinations added in 10.4.9 -encryption.innodb-bad-key-change4 : Modified in 10.4.9 +encryption.innodb-bad-key-change2 : MDEV-19118 - Can't connect to local MySQL server through socket +encryption.innodb-checksum-algorithm : MDEV-20213 - Server crash encryption.innodb-compressed-blob : MDEV-14728 - Unable to get certificate encryption.innodb-discard-import : MDEV-19113 - Timeout encryption.innodb-encryption-alter : MDEV-13566 - Lock wait timeout @@ -294,7 +294,7 @@ 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-read-only : MDEV-16563 - Crash on startup -encryption.innodb-redo-badkey : MDEV-20839 - Extra warnings; re-enabled in 10.4.9; modified in 10.4.9 +encryption.innodb-redo-badkey : Modified in 10.4.12 encryption.innodb-redo-nokeys : MDEV-20159 - Assertion failure encryption.innodb-remove-encryption : MDEV-16493 - Timeout in wait condition encryption.innodb-spatial-index : MDEV-13746 - Wrong result @@ -306,6 +306,7 @@ encryption.innodb_encryption : 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 encryption.innodb_first_page : MDEV-10689 - Crash @@ -334,11 +335,10 @@ 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; modified in 10.4.11 -federated.federatedx_versioning : Modified in 10.4.9 #----------------------------------------------------------------------- -funcs_1.is_basics_mixed : Modified in 10.4.9 +funcs_1.is_check_constraints : Modified in 10.4.12 funcs_1.memory_views : MDEV-11773 - timeout funcs_1.processlist_val_no_prot : MDEV-11223 - Wrong result funcs_1.processlist_val_ps : MDEV-12175 - Wrong plan @@ -365,34 +365,33 @@ galera_3nodes.* : Suite is not stable yet gcol.gcol_rollback : MDEV-16954 - Unknown storage engine 'InnoDB' gcol.innodb_virtual_basic : MDEV-16950 - Failing assertion gcol.innodb_virtual_debug : MDEV-19114 - Assertion failure -gcol.innodb_virtual_debug_purge : MDEV-16952 - Wrong result; modified in 10.4.9 +gcol.innodb_virtual_debug_purge : MDEV-16952 - Wrong result; modified in 10.4.12 gcol.innodb_virtual_fk_restart : MDEV-17466 - Assertion failure #----------------------------------------------------------------------- innodb.101_compatibility : MDEV-13891 - Wrong result -innodb.alter_algorithm : Modified in 10.4.9 innodb.alter_copy : MDEV-16181 - Assertion failure 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_not_null_debug : Modified in 10.4.12 innodb.autoinc_persist : MDEV-15282 - Assertion failure innodb.binlog_consistent : MDEV-10618 - Server fails to start innodb.blob-crash : MDEV-19298 - Assertion failure +innodb.blob-update-debug : Modified in 10.4.12 innodb.doublewrite : MDEV-12905 - Server crash -innodb.full_crc32_import : Modified in 10.4.9 +innodb.full_crc32_import : Modified in 10.4.12 innodb.group_commit_crash : MDEV-14191 - InnoDB registration failed innodb.group_commit_crash_no_optimize_thread : MDEV-13830 - Assertion failure innodb.ibuf_not_empty : MDEV-19021 - Wrong result; modified in 10.4.11 -innodb.information_schema_grants : Added in 10.4.9 innodb.innodb-32k-crash : MDEV-20194 - Extra warnings; modified in 10.4.11 innodb.innodb-64k-crash : MDEV-13872 - Failure and crash on startup; modified in 10.4.11 innodb.innodb-alter-debug : MDEV-13182 - InnoDB: adjusting FSP_SPACE_FLAGS -innodb.innodb-alter-nullable : Modified in 10.4.9 innodb.innodb-alter-table : MDEV-10619 - Testcase timeout -innodb.innodb-autoinc : Modified in 10.4.9 innodb.innodb-bigblob : MDEV-18655 - ASAN unknown crash innodb.innodb-blob : MDEV-12053 - Client crash -innodb.innodb-change-buffer-recovery : MDEV-19115 - Lost connection to MySQL server during query; modified in 10.4.9 +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-online : MDEV-14809 - Cannot save statistics @@ -402,21 +401,26 @@ innodb.innodb-page_compression_lzma : MDEV-14353 - Wrong result innodb.innodb-page_compression_snappy : MDEV-13644 - Assertion failure innodb.innodb-page_compression_tables : MDEV-13644 - Assertion failure innodb.innodb-page_compression_zip : MDEV-10641 - mutex problem +innodb.innodb-replace-debug : Modified in 10.4.12 +innodb.innodb-stats-initialize-failure : Modified in 10.4.12 innodb.innodb-table-online : MDEV-13894 - Wrong result -innodb.innodb-virtual-columns-debug : Modified in 10.4.9 +innodb.innodb-timeout : MDEV-20159 - Assertion failure innodb.innodb-wl5522 : MDEV-13644 - Assertion failure 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_resize : MDEV-16964 - Assertion failure innodb.innodb_buffer_pool_resize_with_chunks : MDEV-16964 - Assertion failure +innodb.innodb_bug11754376 : Modified in 10.4.12 innodb.innodb_bug14147491 : MDEV-11808 - Index is corrupt +innodb.innodb_bug30113362 : Added in 10.4.12 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_bug56947 : Modified in 10.4.12 innodb.innodb_bug59641 : MDEV-13830 - Assertion failure innodb.innodb_bulk_create_index_replication : MDEV-15273 - Slave failed to start +innodb.innodb_corrupt_bit : Modified in 10.4.12 innodb.innodb_defrag_stats_many_tables : MDEV-14198 - Table is full -innodb.innodb_force_recovery : Modified in 10.4.9 innodb.innodb_information_schema : MDEV-8851 - Wrong result innodb.innodb_max_recordsize_32k : MDEV-14801 - Operation failed; modified in 10.4.11 innodb.innodb_max_recordsize_64k : MDEV-15203 - Wrong result; modified in 10.4.11 @@ -425,35 +429,37 @@ innodb.innodb_mysql : MDEV-19873 - Wrong result innodb.innodb_prefix_index_restart_server : MDEV-20213 - Server crash 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; modified in 10.4.9 +innodb.innodb_stats_persistent : MDEV-17745 - Wrong result; 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_semaphore_waits : MDEV-10331 - Semaphore wait; modified in 10.4.12 +innodb.innodb_wl6326 : Added in 10.4.12 +innodb.innodb_wl6326_big : Added in 10.4.12 innodb.innodb_zip_innochecksum2 : MDEV-13882 - Warning: difficult to find free blocks -innodb.instant_alter : Modified in 10.4.11 +innodb.instant_alter : Modified in 10.4.12 innodb.instant_alter_bugs : Modified in 10.4.11 innodb.instant_alter_debug : Modified in 10.4.11 innodb.instant_alter_extend : MDEV-20963 - Binary files differ -innodb.instant_alter_index_rename : Modified in 10.4.9 innodb.instant_alter_limit : Modified in 10.4.11 +innodb.leaf_page_corrupted_during_recovery : MDEV-21572 - Server crash 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_size : MDEV-15668 - Not found pattern innodb.monitor : MDEV-16179 - Wrong result +innodb.page_id_innochecksum : MDEV-20159 - Assertion failure innodb.purge_secondary : MDEV-15681 - Wrong result innodb.purge_secondary_mdev-16222 : MDEV-20528 - Debug sync point wait timed out innodb.purge_thread_shutdown : MDEV-13792 - Wrong result innodb.read_only_recovery : MDEV-13886 - Server crash innodb.recovery_shutdown : MDEV-15671 - Checksum mismatch in datafile +innodb.redo_log_during_checkpoint : Modified in 10.4.12 innodb.row_format_redundant : MDEV-15192 - Trying to access missing tablespace -innodb.row_size_error_log_warnings_3 : Added in 10.4.11 -innodb.stat_tables : Added in 10.4.9 +innodb.row_size_error_log_warnings_3 : Modified in 10.4.12 innodb.table_definition_cache_debug : MDEV-14206 - Extra warning innodb.table_flags : MDEV-13572 - Wrong result; MDEV-19374 - Server failed to start innodb.temporary_table : MDEV-13265 - Wrong result -innodb.temporary_table_optimization : Modified in 10.4.9 -innodb.trx_id_future : Modified in 10.1.42 +innodb.truncate_inject : Modified in 10.2.31 innodb.undo_log : Modified in 10.4.11 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 @@ -462,13 +468,13 @@ innodb.xa_recovery : MDEV-15279 - mysqld got exception #----------------------------------------------------------------------- -innodb_fts.concurrent_insert : MDEV-21223 - Server crash; modified in 10.4.9 -innodb_fts.crash_recovery : Modified in 10.4.9 +innodb_fts.concurrent_insert : Modified in 10.4.12 innodb_fts.innodb_fts_misc : Modified in 10.4.11 innodb_fts.innodb_fts_misc_debug : MDEV-14156 - Unexpected warning innodb_fts.innodb_fts_plugin : MDEV-13888 - Errors in server log innodb_fts.innodb_fts_stopword_charset : MDEV-13259 - Table crashed innodb_fts.sync : MDEV-14808 - Wrong result +innodb_fts.sync_block : Modified in 10.4.12 innodb_fts.sync_ddl : MDEV-18654 - Assertion failure #----------------------------------------------------------------------- @@ -477,8 +483,11 @@ innodb_gis.alter_spatial_index : MDEV-13745 - Server crash innodb_gis.innodb_gis_rtree : MDEV-20213 - Server crash innodb_gis.rtree_compress2 : MDEV-16269 - Wrong result innodb_gis.rtree_concurrent_srch : MDEV-15284 - Wrong result with embedded +innodb_gis.rtree_debug : Modified in 10.4.12 innodb_gis.rtree_purge : MDEV-15275 - Timeout innodb_gis.rtree_recovery : MDEV-15274 - Error on check +innodb_gis.rtree_rollback1 : Modified in 10.4.12 +innodb_gis.rtree_rollback2 : Modified in 10.4.12 innodb_gis.rtree_split : MDEV-14208 - Too many arguments innodb_gis.rtree_undo : MDEV-14456 - Timeout in include file innodb_gis.types : MDEV-15679 - Table is marked as crashed @@ -486,7 +495,7 @@ innodb_gis.types : MDEV-15679 - Table is marked as crashed #----------------------------------------------------------------------- innodb_zip.bug53591 : Modified in 10.4.11 -innodb_zip.cmp_per_index : MDEV-14490 - Table is marked as crashed +innodb_zip.cmp_per_index : MDEV-14490 - Table is marked as crashed; modified in 10.4.12 innodb_zip.innochecksum : MDEV-14486 - Server failed to shut down innodb_zip.innochecksum_3 : MDEV-13279 - Extra warnings innodb_zip.prefix_index_liftedlimit : Modified in 10.4.11 @@ -498,28 +507,26 @@ innodb_zip.wl6501_scale_1 : MDEV-13254 - Timeout, MDEV-14104 - Error 1 #----------------------------------------------------------------------- -maria.insert_select : MDEV-12757 - Timeout -maria.insert_select-7314 : MDEV-16492 - Timeout -maria.lock : Modified in 10.4.9 -maria.maria : MDEV-14430 - Extra warning -maria.maria-no-logging : MDEV-20196 - Crash on shutdown or server can't start +maria.aria_pack_mdev14183 : Added in 10.4.12 +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 #----------------------------------------------------------------------- mariabackup.absolute_ibdata_paths : MDEV-16571 - Wrong result mariabackup.apply-log-only : MDEV-20135 - Timeout mariabackup.data_directory : MDEV-15270 - Error on exec -mariabackup.encrypted_page_corruption : Modified in 10.4.9 -mariabackup.extra_lsndir_stream : Added in 10.4.9 mariabackup.full_backup : MDEV-16571 - Wrong result mariabackup.huge_lsn : MDEV-15662 - Sequence number is in the future; MDEV-18569 - Table doesn't exist mariabackup.incremental_backup : MDEV-21222 - Memory allocation failure; modified in 10.4.11 mariabackup.incremental_encrypted : MDEV-15667 - timeout mariabackup.incremental_rocksdb : MDEV-20954 - Cannot access the file +mariabackup.innodb_redo_log_overwrite : Added in 10.4.12 mariabackup.log_checksum_mismatch : MDEV-16571 - Wrong result mariabackup.mdev-14447 : MDEV-15201 - Timeout -mariabackup.mdev-18438 : Added in 10.4.9 -mariabackup.partial : MDEV-19298 - Assertion failure; modified in 10.4.9 +mariabackup.partial : MDEV-19298 - Assertion failure mariabackup.partial_exclude : MDEV-15270 - Error on exec mariabackup.unencrypted_page_compressed : MDEV-18653 - Wrong error mariabackup.xb_compressed_encrypted : MDEV-14812 - Segmentation fault @@ -546,8 +553,9 @@ mroonga/wrapper.repair_table_no_index_file : MDEV-14807 - Wrong error message #----------------------------------------------------------------------- multi_source.gtid : MDEV-14202 - Crash -multi_source.info_logs : MDEV-12629 - Valgrind, MDEV-10042 - wrong result +multi_source.info_logs : MDEV-12629 - Valgrind, MDEV-10042 - wrong result; MDEV-21290 - Wrong result multi_source.load_data : MDEV-21235 - Slave crash +multi_source.mdev-8874 : MDEV-19415 - AddressSanitizer: heap-use-after-free multi_source.mdev-9544 : MDEV-19415 - AddressSanitizer: heap-use-after-free multi_source.multisource : MDEV-10417 - Fails on Mips multi_source.reset_slave : MDEV-10690 - Wrong result @@ -556,6 +564,17 @@ multi_source.status_vars : MDEV-4632 - failed while waiting for Slave_received_h #----------------------------------------------------------------------- +optimizer_unfixed_bugs.bug36981 : Modified in 10.4.12 +optimizer_unfixed_bugs.bug40992 : Modified in 10.4.12 +optimizer_unfixed_bugs.bug41996 : Modified in 10.4.12 +optimizer_unfixed_bugs.bug42991 : Modified in 10.4.12 +optimizer_unfixed_bugs.bug43249 : Modified in 10.4.12 +optimizer_unfixed_bugs.bug43360 : Modified in 10.4.12 +optimizer_unfixed_bugs.bug43448 : Modified in 10.4.12 +optimizer_unfixed_bugs.bug43617 : Modified in 10.4.12 + +#----------------------------------------------------------------------- + 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 @@ -563,13 +582,11 @@ parts.partition_alter2_2_maria : MDEV-14364 - Lost connection to MySQL s 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 : Modified in 10.4.9 -parts.partition_debug_innodb : MDEV-10891 - Can't create UNIX socket; MDEV-15095 - Table doesn't exist; modified in 10.4.9 -parts.partition_debug_myisam : Modified in 10.4.9 +parts.partition_debug : Modified in 10.4.12 +parts.partition_debug_innodb : MDEV-10891 - Can't create UNIX socket; MDEV-15095 - Table doesn't exist; modified in 10.4.12 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_partition_innodb : Added in 10.4.9 #----------------------------------------------------------------------- @@ -577,32 +594,66 @@ percona.* : MDEV-10997 - Not maintained #----------------------------------------------------------------------- -perfschema.connect_attrs : MDEV-17283 - Wrong result -perfschema.dml_file_instances : MDEV-15179 - Wrong result -perfschema.dml_threads : MDEV-17746 - Wrong errno -perfschema.func_file_io : MDEV-5708 - fails for s390x -perfschema.func_mutex : MDEV-5708 - fails for s390x -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.misc : Modified in 10.4.11 -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_view : MDEV-20533 - Upgrade file was not properly created -perfschema.privilege_table_io : MDEV-13184 - Extra lines -perfschema.relaylog : MDEV-18134 - Wrong result -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 -perfschema.socket_summary_by_instance_func : MDEV-19413 - Wrong result -perfschema.stage_mdl_function : MDEV-20157 - Wrong result -perfschema.stage_mdl_global : MDEV-11803 - wrong result on slow builders -perfschema.stage_mdl_procedure : MDEV-11545 - Missing row -perfschema.stage_mdl_table : MDEV-12638 - Wrong result -perfschema.start_server_low_digest : MDEV-21221 - Wrong result -perfschema.threads_mysql : MDEV-10677 - Wrong result +perfschema.connect_attrs : MDEV-17283 - Wrong result +perfschema.dml_file_instances : MDEV-15179 - Wrong result +perfschema.dml_threads : MDEV-17746 - Wrong errno +perfschema.func_file_io : MDEV-5708 - fails for s390x +perfschema.func_mutex : MDEV-5708 - fails for s390x +perfschema.hostcache_ipv4_addrinfo_again_allow : MDEV-12759 - Crash; modified in 10.4.12 +perfschema.hostcache_ipv4_addrinfo_again_deny : Modified in 10.4.12 +perfschema.hostcache_ipv4_addrinfo_bad_allow : Modified in 10.4.12 +perfschema.hostcache_ipv4_addrinfo_bad_deny : Modified in 10.4.12 +perfschema.hostcache_ipv4_addrinfo_good_allow : Modified in 10.4.12 +perfschema.hostcache_ipv4_addrinfo_good_deny : Modified in 10.4.12 +perfschema.hostcache_ipv4_addrinfo_noname_allow : Modified in 10.4.12 +perfschema.hostcache_ipv4_addrinfo_noname_deny : Modified in 10.4.12 +perfschema.hostcache_ipv4_auth_plugin : Modified in 10.4.12 +perfschema.hostcache_ipv4_blocked : Modified in 10.4.12 +perfschema.hostcache_ipv4_format : Modified in 10.4.12 +perfschema.hostcache_ipv4_max_con : Modified in 10.4.12 +perfschema.hostcache_ipv4_nameinfo_again_allow : Modified in 10.4.12 +perfschema.hostcache_ipv4_nameinfo_again_deny : Modified in 10.4.12 +perfschema.hostcache_ipv4_nameinfo_noname_allow : Modified in 10.4.12 +perfschema.hostcache_ipv4_nameinfo_noname_deny : Modified in 10.4.12 +perfschema.hostcache_ipv4_passwd : Modified in 10.4.12 +perfschema.hostcache_ipv4_ssl : Modified in 10.4.12 +perfschema.hostcache_ipv6_addrinfo_again_allow : MDEV-12752 - Crash; modified in 10.4.12 +perfschema.hostcache_ipv6_addrinfo_again_deny : Modified in 10.4.12 +perfschema.hostcache_ipv6_addrinfo_bad_allow : MDEV-13260 - Crash; modified in 10.4.12 +perfschema.hostcache_ipv6_addrinfo_bad_deny : Modified in 10.4.12 +perfschema.hostcache_ipv6_addrinfo_good_allow : Modified in 10.4.12 +perfschema.hostcache_ipv6_addrinfo_good_deny : Modified in 10.4.12 +perfschema.hostcache_ipv6_addrinfo_noname_allow : Modified in 10.4.12 +perfschema.hostcache_ipv6_addrinfo_noname_deny : Modified in 10.4.12 +perfschema.hostcache_ipv6_auth_plugin : Modified in 10.4.12 +perfschema.hostcache_ipv6_blocked : Modified in 10.4.12 +perfschema.hostcache_ipv6_max_con : Modified in 10.4.12 +perfschema.hostcache_ipv6_nameinfo_again_allow : Modified in 10.4.12 +perfschema.hostcache_ipv6_nameinfo_again_deny : Modified in 10.4.12 +perfschema.hostcache_ipv6_nameinfo_noname_allow : Modified in 10.4.12 +perfschema.hostcache_ipv6_nameinfo_noname_deny : Modified in 10.4.12 +perfschema.hostcache_ipv6_passwd : Modified in 10.4.12 +perfschema.hostcache_ipv6_ssl : MDEV-10696 - Crash; modified in 10.4.12 +perfschema.hostcache_peer_addr : MDEV-21462 - Test condition timeout; modified in 10.4.12 +perfschema.misc : Modified in 10.4.11 +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.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 +perfschema.socket_summary_by_instance_func : MDEV-19413 - Wrong result +perfschema.stage_mdl_function : MDEV-20157 - Wrong result +perfschema.stage_mdl_global : MDEV-11803 - wrong result on slow builders +perfschema.stage_mdl_procedure : MDEV-11545 - Missing row +perfschema.stage_mdl_table : MDEV-12638 - Wrong result +perfschema.start_server_innodb : MDEV-21573 - Wrong result +perfschema.start_server_low_digest : MDEV-21221 - Wrong result +perfschema.threads_mysql : MDEV-10677 - Wrong result #----------------------------------------------------------------------- @@ -611,11 +662,10 @@ perfschema_stress.* : MDEV-10996 - Not maintained #----------------------------------------------------------------------- period.delete : Modified in 10.4.11 -period.versioning : MDEV-20159 - Assertion failure; include file modified in 10.4.9 +period.versioning : MDEV-20159 - Assertion failure #----------------------------------------------------------------------- -plugins.feedback_plugin_load : Modified in 10.4.9 plugins.feedback_plugin_send : MDEV-7932, MDEV-11118 - Connection problems and such plugins.multiauth : MDEV-20163 - Plugin could not be loaded plugins.processlist : MDEV-16574 - Wrong result @@ -635,7 +685,6 @@ rocksdb.drop_index_inplace : MDEV-14162 - Crash on shutdown rocksdb.drop_table : MDEV-14308 - Timeout rocksdb.drop_table3 : MDEV-16949 - Server crash rocksdb.dup_key_update : MDEV-17284 - Wrong result -rocksdb.index_merge_rocksdb2 : Include file modified in 10.4.9 rocksdb.locking_issues : MDEV-14464 - Wrong result rocksdb.mariadb_ignore_dirs : MDEV-16639 - Server crash rocksdb.mariadb_port_fixes : MDEV-16387 - Wrong plan @@ -664,47 +713,55 @@ roles.create_and_grant_role : MDEV-11772 - wrong result #----------------------------------------------------------------------- -rpl.circular_serverid0 : MDEV-19372 - ASAN heap-use-after-free +rpl.circular_serverid0 : MDEV-19372 - ASAN heap-use-after-free; modified in 10.4.12 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.kill_race_condition : Modified in 10.4.12 rpl.last_insert_id : MDEV-10625 - warnings in error log -rpl.mdev_17588 : Modified in 10.1.42 -rpl.rpl_000011 : Modified in 10.4.9 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 : MDEV-9501 - Failed registering on master +rpl.rpl_binlog_rollback_cleanup : Added in 10.4.12 +rpl.rpl_bug33931 : Modified in 10.4.12 +rpl.rpl_bug41902 : Modified in 10.4.12 rpl.rpl_cant_read_event_incident : MDEV-20960 - Abort on shutdown +rpl.rpl_checksum : Include file modified in 10.2.31 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_or_replace_fail : Added in 10.1.42 rpl.rpl_ctype_latin1 : MDEV-14813 - Wrong result on Mac rpl.rpl_ddl : MDEV-10417 - Fails on Mips rpl.rpl_domain_id_filter : MDEV-20213 - Server crash -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_io_crash : MDEV-12729 - Timeout in include file, MDEV-13677 - Server crash; modified in 10.4.12 +rpl.rpl_domain_id_filter_master_crash : MDEV-19043 - Table marked as crashed; modified in 10.4.12 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_dual_pos_advance : MDEV-20213 - Server crash rpl.rpl_extra_col_master_innodb : MDEV-16570 - Extra warning rpl.rpl_extra_col_master_myisam : MDEV-14203 - Extra warning +rpl.rpl_flushlog_loop : MDEV-21570 - Server crash rpl.rpl_get_lock : MDEV-19368 - mysqltest failed but provided no output +rpl.rpl_get_master_version_and_clock : Modified in 10.4.12 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 rpl.rpl_gtid_errorhandling : MDEV-13261 - Crash rpl.rpl_gtid_mdev9033 : MDEV-10680 - warnings -rpl.rpl_gtid_reconnect : MDEV-14497 - Crash +rpl.rpl_gtid_reconnect : MDEV-14497 - Crash; modified in 10.4.12 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_heartbeat : MDEV-20213 - Server crash +rpl.rpl_heartbeat_debug : Modified in 10.4.12 rpl.rpl_ignore_grant : MDEV-20159 - Assertion failure rpl.rpl_ignore_table_update : MDEV-20159 - Assertion failure +rpl.rpl_incident : Include file modified in 10.2.31 +rpl.rpl_init_slave_errors : Include file modified in 10.2.31 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 @@ -712,44 +769,40 @@ 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_ip_mix : Modified in 10.4.9 -rpl.rpl_ip_mix2 : Modified in 10.4.9 rpl.rpl_ipv4_as_ipv6 : MDEV-20147 - Incorrect checksum for freed object -rpl.rpl_known_bugs_detection : Modified in 10.1.42 rpl.rpl_lcase_tblnames_rewrite_db : MDEV-20213 - Server crash -rpl.rpl_mariadb_slave_capability : MDEV-11018 - Extra lines in binlog +rpl.rpl_mariadb_slave_capability : MDEV-11018 - Extra lines in binlog; modified in 10.4.12 rpl.rpl_mdev-11092 : Modified in 10.4.11 rpl.rpl_mdev12179 : MDEV-19043 - Table marked as crashed rpl.rpl_mdev6020 : MDEV-15272 - Server crash -rpl.rpl_mdev_17614 : Added in 10.1.42 +rpl.rpl_mixed_mixing_engines : MDEV-21266 - Timeout rpl.rpl_non_direct_row_mixing_engines : MDEV-16561 - Timeout in master_pos_wait 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_ignored_errors : Added in 10.4.9 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 : MDEV-15278 - Failed to sync with master; modified in 10.4.12 rpl.rpl_parallel_optimistic_nobinlog : MDEV-15278 - Failed to sync with master 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_read_only2 : Added in 10.4.9 rpl.rpl_relayrotate : MDEV-20213 - Server crash -rpl.rpl_rotate_logs : Modified in 10.4.9 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_big_table_id : Modified in 10.4.12 +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_find_row_debug : Modified in 10.4.9 +rpl.rpl_row_find_row_debug : Modified in 10.4.12 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_index_choice : MDEV-15196 - Slave crash; modified in 10.4.12 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 @@ -757,8 +810,7 @@ rpl.rpl_semi_sync_after_sync : MDEV-14366 - Wrong result rpl.rpl_semi_sync_after_sync_row : MDEV-14366 - Wrong result rpl.rpl_semi_sync_event_after_sync : MDEV-11806 - warnings rpl.rpl_semi_sync_gtid_reconnect : Added in 10.4.11 -rpl.rpl_semi_sync_skip_repl : MDEV-21223 - Server crash -rpl.rpl_semi_sync_slave_reply_fail : Added in 10.4.9 +rpl.rpl_semi_sync_skip_repl : Modified in 10.4.12 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 @@ -766,28 +818,31 @@ rpl.rpl_semisync_ali_issues : MDEV-16272 - Wrong result rpl.rpl_set_null_myisam : MDEV-20213 - Server crash rpl.rpl_set_statement_default_master : MDEV-13258 - Extra warning rpl.rpl_show_slave_hosts : MDEV-10681 - Crash +rpl.rpl_show_slave_running : Modified in 10.4.12 rpl.rpl_shutdown_wait_semisync_slaves : MDEV-20213 - Server crash -rpl.rpl_skip_error : Modified in 10.4.9 rpl.rpl_skip_replication : MDEV-13258 - Extra warning rpl.rpl_slave_grp_exec : MDEV-10514 - Deadlock rpl.rpl_slave_load_in : MDEV-20159 - Assertion failure +rpl.rpl_slave_load_remove_tmpfile : Modified in 10.4.12 rpl.rpl_slave_load_tmpdir_not_exist : MDEV-14203 - Extra warning +rpl.rpl_slave_shutdown_mdev20821 : Added in 10.4.12 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_lcase_tblnames : Modified in 10.4.12 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 +rpl.rpl_stm_stop_middle_group : MDEV-13791 - Server crash; include file modified in 10.4.12 +rpl.rpl_stop_slave : Modified in 10.4.12 rpl.rpl_sync : MDEV-13830 - Assertion failure -rpl.rpl_sync_with_innodb_thd_conc : Added in 10.1.42 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_unsafe_statements : Modified in 10.1.42 rpl.rpl_user_variables : MDEV-20522 - Wrong result rpl.rpl_variables : MDEV-20150 - Server crash +rpl.rpl_view_debug : Modified in 10.4.12 rpl.sec_behind_master-5114 : MDEV-13878 - Wrong result rpl.show_status_stop_slave_race-7126 : MDEV-17438 - Timeout @@ -804,12 +859,8 @@ rpl/extra/rpl_tests.* : MDEV-10994 - Not maintained #----------------------------------------------------------------------- -sequence.group_by : Modified in 10.4.9 - -#----------------------------------------------------------------------- - -sphinx.* : MDEV-10986 - Tests have not been maintained; suite.pm modified in 10.4.9 -sphinx.sphinx : MDEV-10986 - Sporadic failures; modified in 10.4.9 +sphinx.* : MDEV-10986 - Tests have not been maintained +sphinx.sphinx : MDEV-10986 - Sporadic failures sphinx.union-5539 : MDEV-10986 - Sporadic failures #----------------------------------------------------------------------- @@ -834,7 +885,6 @@ spider/bg.vp_fixes : MDEV-9329 - Fails on Ubuntu/s390x spider/bugfix.return_found_rows_insert : Added in 10.4.11 spider/bugfix.return_found_rows_update : Added in 10.4.11 -spider/bugfix.select_by_null : Added in 10.4.9 #----------------------------------------------------------------------- @@ -873,7 +923,6 @@ spider/regression/e112122.load_data_part_replace_ddi1 : Added in 10.4.11 #----------------------------------------------------------------------- sql_sequence.concurrent_create : MDEV-16635 - Server crash -sql_sequence.other : Modified in 10.4.9 sql_sequence.rebuild : Added in 10.4.11 sql_sequence.view : Modified in 10.4.11 @@ -888,18 +937,17 @@ stress.ddl_innodb : MDEV-10635 - Testcase timeout #----------------------------------------------------------------------- sys_vars.autocommit_func2 : MDEV-9329 - Fails on Ubuntu/s390x -sys_vars.delayed_insert_limit_func : Modified in 10.4.9 +sys_vars.debug_dbug_func : Modified in 10.4.12 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_change_buffering_debug_basic : Modified in 10.4.9 +sys_vars.innodb_buffer_pool_size_basic : Modified in 10.4.12 +sys_vars.innodb_checksum_algorithm_basic : MDEV-21568 - Errno: 2000 sys_vars.keep_files_on_create_basic : MDEV-10676 - timeout sys_vars.log_slow_admin_statements_func : MDEV-12235 - Server crash sys_vars.rpl_init_slave_func : MDEV-10149 - Test assertion sys_vars.slow_query_log_func : MDEV-14273 - Wrong result -sys_vars.sysvars_innodb : Modified in 10.2.28 sys_vars.thread_cache_size_func : MDEV-11775 - Wrong result sys_vars.wait_timeout_func : MDEV-12896 - Wrong result -sys_vars.wsrep_provider_basic : MDEV-19457 - Assertion failure #----------------------------------------------------------------------- @@ -945,7 +993,6 @@ tokudb_bugs.xa : MDEV-11804 - Lock wait timeout #----------------------------------------------------------------------- tokudb_parts.partition_alter4_tokudb : MDEV-12640 - Lost connection -tokudb_parts.partition_debug_tokudb : Include file modified in 10.4.9 #----------------------------------------------------------------------- @@ -969,44 +1016,34 @@ unit.mf_iocache : MDEV-20952 - ASAN stack-buffer-overflow #----------------------------------------------------------------------- -vcol.not_supported : MDEV-10639 - Testcase timeout -vcol.vcol_keys_innodb : MDEV-10639 - Testcase timeout; modified in 10.4.9 -vcol.vcol_misc : MDEV-16651 - Wrong error message -vcol.vcol_sql_mode_datetime : Added in 10.4.9 -vcol.vcol_sql_mode_time : Added in 10.4.9 -vcol.vcol_sql_mode_timestamp : Added in 10.4.9 +vcol.not_supported : MDEV-10639 - Testcase timeout +vcol.vcol_keys_innodb : MDEV-10639 - Testcase timeout +vcol.vcol_misc : MDEV-16651 - Wrong error message #----------------------------------------------------------------------- -versioning.alter : Modified in 10.4.9 -versioning.auto_increment : Include file modified in 10.4.9 -versioning.commit_id : Include file modified in 10.4.9 -versioning.create : Modified in 10.4.9 -versioning.delete : Modified in 10.4.11 -versioning.delete_history : Modified in 10.4.9 -versioning.engines : Combinations added in 10.4.9 -versioning.foreign : Modified in 10.4.9 -versioning.insert : Include file modified in 10.4.9 -versioning.key_type : Combinations added in 10.4.9 -versioning.online : Modified in 10.4.9 -versioning.partition : Modified in 10.4.11 -versioning.partition_innodb : Modified in 10.4.9 -versioning.replace : Modified in 10.4.9 -versioning.select : Modified in 10.4.11 -versioning.select2 : Include file modified in 10.4.9 -versioning.trx_id : Modified in 10.4.9 -versioning.update : MDEV-20955 - Wrong result code; modified in 10.4.11 -versioning.update-big : Modified in 10.4.9 -versioning.view : Modified in 10.4.11 +versioning.delete : Modified in 10.4.11 +versioning.partition : Modified in 10.4.11 +versioning.select : Modified in 10.4.11 +versioning.trx_id : Modified in 10.4.12 +versioning.update : MDEV-20955 - Wrong result code; modified in 10.4.11 +versioning.view : Modified in 10.4.11 #----------------------------------------------------------------------- +wsrep.* : Config file modified in 10.4.12 +wsrep.alter_table_innodb : Configuration deleted in 10.4.12 +wsrep.binlog_format : Configuration added in 10.4.12 wsrep.foreign_key : MDEV-14725 - WSREP has not yet prepared node -wsrep.mdev_6832 : MDEV-14195 - Check testcase failed; modified in 10.4.9 -wsrep.mysql_tzinfo_to_sql_symlink_skip : Added in 10.1.42 -wsrep.pool_of_threads : MDEV-17345 - WSREP has not yet prepared node for application use; configuration added in 10.4.11 -wsrep.variables : MDEV-14311 - Wrong result; MDEV-17585 - Deadlock; modified in 10.4.9 +wsrep.mdev_10186 : Configuration modified in 10.4.12 +wsrep.mdev_6832 : MDEV-14195 - Check testcase failed +wsrep.mysql_tzinfo_to_sql_symlink : Modified in 10.4.12 +wsrep.mysql_tzinfo_to_sql_symlink_skip : Modified in 10.4.12 +wsrep.plugin : Modified in 10.4.12 +wsrep.pool_of_threads : MDEV-17345 - WSREP has not yet prepared node for application use; re-enabled in 10.4.12 +wsrep.trans : Configuration added in 10.4.12 +wsrep.variables : MDEV-17585 - Deadlock; modified in 10.4.12 #----------------------------------------------------------------------- -wsrep_info.plugin : MDEV-13569 - No nodes coming from prim view +wsrep_info.* : Config file modified in 10.3.22