From 8750df43ab94fb63c1f628b72e89e15118eb7431 Mon Sep 17 00:00:00 2001 From: Alexander Barkov Date: Sat, 7 Sep 2019 07:44:54 +0400 Subject: MDEV-20517 Assertion `!is_expensive()' failed in Item::value_depends_on_sql_mode_const_item --- mysql-test/r/func_misc.result | 9 +++++++++ mysql-test/t/func_misc.test | 6 ++++++ sql/item_func.cc | 19 ++++++++++++------- sql/item_func.h | 11 +++++------ 4 files changed, 32 insertions(+), 13 deletions(-) diff --git a/mysql-test/r/func_misc.result b/mysql-test/r/func_misc.result index 8d89b63d861..a19676168c2 100644 --- a/mysql-test/r/func_misc.result +++ b/mysql-test/r/func_misc.result @@ -1557,5 +1557,14 @@ numgtfmt DROP VIEW v1; DROP TABLE t1; # +# MDEV-20517 Assertion `!is_expensive()' failed in Item::value_depends_on_sql_mode_const_item +# +SELECT ( 1 LIKE GET_LOCK( 'foo', 0 ) ) - 2; +( 1 LIKE GET_LOCK( 'foo', 0 ) ) - 2 +-1 +SELECT RELEASE_LOCK('foo'); +RELEASE_LOCK('foo') +1 +# # End of 10.2 tests # diff --git a/mysql-test/t/func_misc.test b/mysql-test/t/func_misc.test index 89c1744c354..cdbbe708153 100644 --- a/mysql-test/t/func_misc.test +++ b/mysql-test/t/func_misc.test @@ -1192,6 +1192,12 @@ SELECT * FROM v1 WHERE numgtfmt = NAME_CONST('wnumgtfmt',_utf8'QEDITIONS' COLLA DROP VIEW v1; DROP TABLE t1; +--echo # +--echo # MDEV-20517 Assertion `!is_expensive()' failed in Item::value_depends_on_sql_mode_const_item +--echo # + +SELECT ( 1 LIKE GET_LOCK( 'foo', 0 ) ) - 2; +SELECT RELEASE_LOCK('foo'); --echo # --echo # End of 10.2 tests diff --git a/sql/item_func.cc b/sql/item_func.cc index d11b56f2aad..5deeccc9265 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -1423,17 +1423,22 @@ bool Item_func_minus::fix_length_and_dec() { if (Item_num_op::fix_length_and_dec()) return TRUE; - m_sql_mode_dependency= Item_func::value_depends_on_sql_mode(); - if (unsigned_flag) - { - m_sql_mode_dependency|= Sql_mode_dependency(0,MODE_NO_UNSIGNED_SUBTRACTION); - if (current_thd->variables.sql_mode & MODE_NO_UNSIGNED_SUBTRACTION) - unsigned_flag= false; - } + if ((m_depends_on_sql_mode_no_unsigned_subtraction= unsigned_flag) && + (current_thd->variables.sql_mode & MODE_NO_UNSIGNED_SUBTRACTION)) + unsigned_flag= false; return FALSE; } +Sql_mode_dependency Item_func_minus::value_depends_on_sql_mode() const +{ + Sql_mode_dependency dep= Item_func_additive_op::value_depends_on_sql_mode(); + if (m_depends_on_sql_mode_no_unsigned_subtraction) + dep|= Sql_mode_dependency(0, MODE_NO_UNSIGNED_SUBTRACTION); + return dep; +} + + double Item_func_minus::real_op() { double value= args[0]->val_real() - args[1]->val_real(); diff --git a/sql/item_func.h b/sql/item_func.h index 5be62427852..1193daea106 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -773,16 +773,15 @@ public: class Item_func_minus :public Item_func_additive_op { - Sql_mode_dependency m_sql_mode_dependency; + bool m_depends_on_sql_mode_no_unsigned_subtraction; public: Item_func_minus(THD *thd, Item *a, Item *b): - Item_func_additive_op(thd, a, b) {} + Item_func_additive_op(thd, a, b), + m_depends_on_sql_mode_no_unsigned_subtraction(false) + { } const char *func_name() const { return "-"; } enum precedence precedence() const { return ADD_PRECEDENCE; } - Sql_mode_dependency value_depends_on_sql_mode() const - { - return m_sql_mode_dependency; - } + Sql_mode_dependency value_depends_on_sql_mode() const; longlong int_op(); double real_op(); my_decimal *decimal_op(my_decimal *); -- cgit v1.2.1 From f9f968557f9c632a083acabb3578631ce0d1c4f6 Mon Sep 17 00:00:00 2001 From: Elena Stepanova Date: Sun, 8 Sep 2019 16:21:48 +0300 Subject: List of unstable tests for 10.2.27 release --- mysql-test/unstable-tests | 502 +++++++++++++++++++++++++++++++++------------- 1 file changed, 365 insertions(+), 137 deletions(-) diff --git a/mysql-test/unstable-tests b/mysql-test/unstable-tests index 6d71041785e..79d278b5bff 100644 --- a/mysql-test/unstable-tests +++ b/mysql-test/unstable-tests @@ -23,123 +23,233 @@ # ############################################################################## # -# Based on 10.2 32c6f40a6319d493e5270c72ac5d27dc99d1b242 +# Based on 10.2 8750df43ab94fb63c1f628b72e89e15118eb7431 +main.alter_table_mdev539_maria : Include file modified in 10.2.27 +main.alter_table_mdev539_myisam : Include file modified in 10.2.27 main.alter_table_trans : MDEV-12084 - timeout +main.analyze : Modified in 10.2.27 +main.analyze_format_json : Modified in 10.2.27 +main.analyze_stmt : Modified in 10.2.27 +main.analyze_stmt_orderby : Modified in 10.2.27 +main.analyze_stmt_privileges2 : Modified in 10.2.27 main.analyze_stmt_slow_query_log : MDEV-12237 - Wrong result main.auth_named_pipe : MDEV-14724 - System error 2 +main.bootstrap : Modified in 10.2.27 +main.bug13633383 : Modified in 10.2.27 +main.cast : Modified in 10.2.27 main.charset_client_win : Added in 10.2.26 +main.compound : Modified in 10.2.27 +main.compress : Include file modified in 10.2.27 main.connect : MDEV-17282 - Wrong result main.connect2 : MDEV-13885 - Server crash main.connect_debug : Modified in 10.2.26 +main.constraints : Modified in 10.2.27 main.count_distinct2 : MDEV-11768 - timeout +main.create : Modified in 10.2.27 main.create_delayed : MDEV-10605 - failed with timeout main.create_drop_event : MDEV-16271 - Wrong result -main.ctype_ucs : MDEV-17681 - Data too long for column +main.cte_nonrecursive : Modified in 10.2.27 +main.cte_recursive : Modified in 10.2.27 +main.ctype_create : Modified in 10.2.27 +main.ctype_latin1_de : Modified in 10.2.27 +main.ctype_ucs : MDEV-17681 - Data too long for column; modified in 10.2.27 main.ctype_upgrade : MDEV-16945 - Error upon mysql_upgrade main.ctype_utf16 : MDEV-10675: timeout or extra warnings -main.ctype_utf8_def_upgrade : Added in 10.2.25 +main.ctype_utf16_def : Configuration modified in 10.2.27 +main.ctype_utf8 : Modified in 10.2.27 +main.ctype_utf8mb4 : Modified in 10.2.27 +main.ctype_utf8mb4_heap : Include file modified in 10.2.27 +main.ctype_utf8mb4_innodb : Include file modified in 10.2.27 +main.ctype_utf8mb4_myisam : Include file modified in 10.2.27 main.debug_sync : MDEV-10607 - internal error -main.derived : Modified in 10.2.26 -main.derived_cond_pushdown : Modified in 10.2.25 +main.default : Modified in 10.2.27 +main.derived : Modified in 10.2.27 +main.derived_cond_pushdown : Modified in 10.2.27 main.derived_opt : MDEV-11768 - timeout -main.derived_view : Modified in 10.2.26 +main.derived_view : Modified in 10.2.27 main.dirty_close : MDEV-19368 - mysqltest failed but provided no output -main.distinct : MDEV-14194 - Crash +main.distinct : MDEV-14194 - Crash; modified in 10.2.27 main.drop_bad_db_type : MDEV-15676 - Wrong result -main.events_2 : MDEV-13277 - Crash -main.events_bugs : MDEV-12892 - Crash +main.dyncol : Modified in 10.2.27 +main.events_1 : Modified in 10.2.27 +main.events_2 : MDEV-13277 - Crash; modified in 10.2.27 +main.events_bugs : MDEV-12892 - Crash; modified in 10.2.27 +main.events_grant : Modified in 10.2.27 main.events_restart : MDEV-12236 - Server shutdown problem main.events_slowlog : MDEV-12821 - Wrong result +main.explain_json : Modified in 10.2.27 main.flush : MDEV-19368 - mysqltest failed but provided no output -main.func_json : Modified in 10.2.25 +main.flush2 : Modified in 10.2.27 +main.func_isnull : Modified in 10.2.27 +main.func_math : Modified in 10.2.27 +main.func_misc : Modified in 10.2.27 +main.function_defaults : Modified in 10.2.27 main.gis : MDEV-13411 - wrong result on P8 +main.grant : Configuration added in 10.2.27 +main.grant2 : Configuration added in 10.2.27 +main.grant4 : Configuration added in 10.2.27 +main.grant_cache_no_prot : Include file modified in 10.2.27 +main.grant_cache_ps_prot : Include file modified in 10.2.27 +main.grant_explain_non_select : Modified in 10.2.27 +main.greedy_optimizer : Modified in 10.2.27 +main.group_by : Modified in 10.2.27 +main.group_min_max : Modified in 10.2.27 +main.handlersocket : Configuration added in 10.2.27 main.host_cache_size_functionality : MDEV-10606 - sporadic failure on shutdown +main.index_intersect : Modified in 10.2.27 main.index_intersect_innodb : MDEV-10643 - failed with timeout main.index_merge_innodb : MDEV-7142 - Plan mismatch -main.information_schema_parameters : Modified in 10.2.26 +main.information_schema : Modified in 10.2.27 +main.information_schema-big : Modified in 10.2.27 +main.information_schema_parameters : Modified in 10.2.27 +main.information_schema_routines : Modified in 10.2.27 +main.innodb_ext_key : Modified in 10.2.27 +main.innodb_icp : Modified in 10.2.27 main.innodb_mysql_lock : MDEV-7861 - Wrong result -main.join : Modified in 10.2.26 -main.join_cache : Modified in 10.2.25 -main.join_nested : Modified in 10.2.25 -main.join_outer : Modified in 10.2.26 -main.join_outer_innodb : Modified in 10.2.26 +main.join : Modified in 10.2.27 +main.join_cache : Modified in 10.2.27 +main.join_nested_jcl6 : Modified in 10.2.27 +main.join_outer : Modified in 10.2.27 +main.join_outer_innodb : Modified in 10.2.27 +main.join_outer_jcl6 : Modified in 10.2.27 +main.kill : Modified in 10.2.27 main.kill-2 : MDEV-13257 - Wrong result main.kill_processlist-6619 : MDEV-10793 - Wrong result +main.limit_rows_examined : Modified in 10.2.27 main.loaddata : MDEV-19368 - mysqltest failed but provided no output -main.log_slow : MDEV-13263 - Wrong result +main.locale : MDEV-20521 - Missing warning +main.log_slow : MDEV-13263 - Wrong result; modified in 10.2.27 main.log_tables-big : MDEV-13408 - wrong result main.mdev-504 : MDEV-15171 - warning +main.mdev13607 : Modified in 10.2.27 main.mdev375 : MDEV-10607 - sporadic "can't connect" -main.merge : MDEV-10607 - sporadic "can't connect" -main.multi_update : Modified in 10.2.25 -main.multi_update_debug : MDEV-20136 - Debug sync point wait timed out; added in 10.2.25 -main.multi_update_innodb : Modified in 10.2.25 -main.mysql_client_test : MDEV-19369 - error: 5888, status: 23, errno: 2 +main.merge : MDEV-10607 - sporadic "can't connect"; modified in 10.2.27 +main.mrr_icp_extra : Modified in 10.2.27 +main.multi_update_debug : MDEV-20136 - Debug sync point wait timed out +main.myisam : Modified in 10.2.27 +main.myisam_explain_non_select_all : Modified in 10.2.27 +main.myisam_icp : Modified in 10.2.27 +main.myisam_mrr : Modified in 10.2.27 +main.mysql : Modified in 10.2.27 +main.mysql_client_test : MDEV-19369 - error: 5888, status: 23, errno: 2; modified in 10.2.27 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_comments : Modified in 10.2.27 main.mysql_upgrade_noengine : MDEV-14355 - Wrong result main.mysql_upgrade_ssl : MDEV-13492 - Unknown SSL error +main.mysqlcheck : Modified in 10.2.27 main.mysqld--help : Modified in 10.2.26 -main.mysqldump : MDEV-14800 - Stack smashing detected; modified in 10.2.25 +main.mysqldump : MDEV-14800 - Stack smashing detected; modified in 10.2.27 +main.mysqldump-max : Modified in 10.2.27 +main.mysqldump-nl : Modified in 10.2.27 main.mysqlhotcopy_myisam : MDEV-10995 - Hang on debug main.mysqlslap : MDEV-11801 - timeout main.mysqltest : MDEV-9269 - fails on Alpha; MDEV-13887 - Wrong result +main.named_pipe : Include file modified in 10.2.27 main.old-mode : MDEV-19373 - Wrong result -main.openssl_1 : MDEV-13492 - Unknown SSL error +main.openssl_1 : MDEV-13492 - Unknown SSL error; modified in 10.2.27 main.openssl_6975 : MDEV-17184 - Failures with OpenSSL 1.1.1 main.order_by_optimizer_innodb : MDEV-10683 - Wrong result main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock +main.partition_example : Configuration added in 10.2.27 +main.partition_innodb : Modified in 10.2.27 main.partition_innodb_plugin : MDEV-12901 - Valgrind warnings main.partition_innodb_semi_consistent : MDEV-19411 - Failed to start mysqld.1 -main.plugin : Modified in 10.2.26 +main.partition_key_cache : Modified in 10.2.27 +main.partition_pruning : Modified in 10.2.27 +main.plugin : Configuration added in 10.2.27 main.plugin_auth : Modified in 10.2.26 -main.plugin_not_embedded : Modified in 10.2.26 -main.ps : MDEV-11017 - Wrong result; modified in 10.2.26 +main.plugin_innodb : Configuration added in 10.2.27 +main.plugin_load : Configuration modified in 10.2.27 +main.plugin_load_option : Configuration modified in 10.2.27 +main.plugin_not_embedded : Configuration added in 10.2.27 +main.pool_of_threads : Modified in 10.2.27 +main.ps : Configuration modified in 10.2.27 main.ps_innodb : Added in 10.2.26 main.query_cache : MDEV-16180 - Wrong result -main.query_cache_debug : MDEV-15281 - Query cache is disabled +main.query_cache_debug : MDEV-15281 - Query cache is disabled; modified in 10.2.27 +main.query_cache_ps_no_prot : Modified in 10.2.27 +main.range : Modified in 10.2.27 +main.range_interrupted-13751 : Modified in 10.2.27 +main.range_mrr_icp : Modified in 10.2.27 +main.range_vs_index_merge : Modified in 10.2.27 main.range_vs_index_merge_innodb : MDEV-15283 - Server has gone away +main.repair : Modified in 10.2.27 main.repair_symlink-5543 : Modified in 10.2.26 +main.schema : Modified in 10.2.27 +main.select : Modified in 10.2.27 +main.selectivity : Modified in 10.2.27 +main.selectivity_innodb : Modified in 10.2.27 +main.selectivity_no_engine : Modified in 10.2.27 main.set_statement : MDEV-13183 - Wrong result main.set_statement_notembedded : MDEV-19414 - Wrong result -main.shm : MDEV-12727 - Mismatch, ERROR 2013 +main.shm : MDEV-12727 - Mismatch, ERROR 2013; include file modified in 10.2.27 +main.show_bad_definer-5553 : Modified in 10.2.27 +main.show_check : Modified in 10.2.27 main.show_explain : MDEV-10674 - Wrong result code -main.sp : MDEV-7866 - Mismatch; modified in 10.2.26 -main.sp-security : MDEV-10607 - sporadic "can't connect" +main.sp : Modified in 10.2.27 +main.sp-error : Modified in 10.2.27 +main.sp-security : MDEV-10607 - sporadic "can't connect"; modified in 10.2.27 main.sp_notembedded : MDEV-10607 - internal error -main.ssl : MDEV-17184 - Failures with OpenSSL 1.1.1 +main.ssl : MDEV-17184 - Failures with OpenSSL 1.1.1; modified in 10.2.27 +main.ssl-big : Modified in 10.2.27 main.ssl_ca : MDEV-10895 - SSL connection error on Power main.ssl_cipher : MDEV-17184 - Failures with OpenSSL 1.1.1 +main.ssl_compress : Modified in 10.2.27 main.ssl_connect : MDEV-13492 - Unknown SSL error main.ssl_crl : MDEV-19119 - Wrong error code main.ssl_timeout : MDEV-11244 - Crash -main.stat_tables : Modified in 10.2.25 +main.stat_tables-enospc : Modified in 10.2.27 main.stat_tables_par : MDEV-13266 - Wrong result main.stat_tables_par_innodb : MDEV-14155 - Wrong rounding +main.statistics : Modified in 10.2.27 main.status : MDEV-13255 - Wrong result -main.subselect : Modified in 10.2.26 +main.subselect : Modified in 10.2.27 +main.subselect2 : Modified in 10.2.27 +main.subselect3 : Modified in 10.2.27 +main.subselect3_jcl6 : Modified in 10.2.27 +main.subselect4 : Modified in 10.2.27 +main.subselect_exists2in : Modified in 10.2.27 +main.subselect_extra : Modified in 10.2.27 main.subselect_innodb : MDEV-10614 - Sporadic wrong results -main.subselect_no_semijoin : Modified in 10.2.25 -main.subselect_sj : Modified in 10.2.25 -main.subselect_sj_mat : Modified in 10.2.25 +main.subselect_mat_cost : Modified in 10.2.27 +main.subselect_mat_cost_bugs : Modified in 10.2.27 +main.subselect_sj : Modified in 10.2.27 +main.subselect_sj2 : Modified in 10.2.27 +main.subselect_sj2_mat : Modified in 10.2.27 +main.subselect_sj_jcl6 : Modified in 10.2.27 +main.subselect_sj_mat : Modified in 10.2.27 +main.subselect_sj_nonmerged : Modified in 10.2.27 +main.table_options-5867 : Configuration added in 10.2.27 main.tc_heuristic_recover : MDEV-14189 - Wrong result -main.temp_table : Modified in 10.2.25 -main.trigger_null-8605 : Modified in 10.2.25 +main.trigger : Modified in 10.2.27 +main.trigger-compat : Modified in 10.2.27 +main.trigger_notembedded : Modified in 10.2.27 +main.truncate_badse : Configuration added in 10.2.27 main.type_blob : MDEV-15195 - Wrong result -main.type_datetime : Modified in 10.2.26 +main.type_date : Modified in 10.2.27 +main.type_datetime : Modified in 10.2.27 main.type_datetime_hires : MDEV-10687 - Timeout -main.userstat : MDEV-12904 - SSL errors -main.view : Modified in 10.2.26 +main.type_int : Modified in 10.2.27 +main.type_time_6065 : Modified in 10.2.27 +main.type_varchar : Configuration added in 10.2.27 +main.union : Modified in 10.2.27 +main.upgrade : Configuration added in 10.2.27 +main.userstat : MDEV-12904 - SSL errors; configuration added in 10.2.27 +main.variables : Modified in 10.2.27 +main.variables-notembedded : Modified in 10.2.27 +main.view : Modified in 10.2.27 main.wait_timeout : MDEV-19023 - Lost connection to MySQL server during query -main.win : Modified in 10.2.25 main.xa : MDEV-11769 - lock wait timeout +main.xtradb_mrr : Modified in 10.2.27 #----------------------------------------------------------------------- archive.archive_bitfield : MDEV-11771 - table is marked as crashed archive.archive_symlink : MDEV-12170 - unexpected error on rmdir archive.discover : MDEV-10510 - Table is marked as crashed +archive.discover_5438 : Configuration added in 10.2.27 archive.mysqlhotcopy_archive : MDEV-10995 - Hang on debug #----------------------------------------------------------------------- @@ -149,15 +259,20 @@ archive-test_sql_discovery.discover : MDEV-16817 - Table marked as crashed #----------------------------------------------------------------------- binlog.binlog_commit_wait : MDEV-10150 - Mismatch +binlog.binlog_innodb : Configuration added in 10.2.27 binlog.binlog_killed : MDEV-12925 - Wrong result -binlog.binlog_max_extension : MDEV-19762 - Crash on shutdown +binlog.binlog_max_extension : MDEV-19762 - Crash on shutdown; modified in 10.2.27 +binlog.binlog_mixed_cache_stat : Configuration added in 10.2.27 +binlog.binlog_mysqlbinlog2 : Modified in 10.2.27 binlog.binlog_mysqlbinlog_stop_never : Added in 10.2.26 binlog.binlog_parallel_replication_marks_row : Include file modified in 10.2.26 binlog.binlog_parallel_replication_marks_stm_mix : Include file modified in 10.2.26 -binlog.binlog_row_drop_tmp_tbl : Include file modified in 10.2.26 -binlog.binlog_stm_drop_tmp_tbl : MDEV-20188 - Unknown table on exec; include file modified in 10.2.26 +binlog.binlog_row_cache_stat : Include file modified in 10.2.27 +binlog.binlog_row_drop_tmp_tbl : Include file modified in 10.2.27 +binlog.binlog_stm_cache_stat : Include file modified in 10.2.27 +binlog.binlog_stm_drop_tmp_tbl : Include file modified in 10.2.27 binlog.binlog_xa_recover : MDEV-8517 - Extra checkpoint -binlog.flashback-largebinlog : MDEV-19764 - Out of memory; added in 10.2.25 +binlog.flashback-largebinlog : MDEV-19764 - Out of memory; modified in 10.2.27 binlog.load_data_stm_view : MDEV-16948 - Wrong result #----------------------------------------------------------------------- @@ -191,11 +306,10 @@ disks.disks_notembedded : Added in 10.2.26 #----------------------------------------------------------------------- -encryption.compressed_import_tablespace : Added in 10.2.25 -encryption.corrupted_during_recovery : Modified in 10.2.25 encryption.create_or_replace : MDEV-12694 - Timeout; MDEV-16115 - Trying to access tablespace encryption.debug_key_management : MDEV-13841 - Timeout encryption.encrypt_and_grep : MDEV-13765 - Wrong result +encryption.file_creation : Added in 10.2.27 encryption.innochecksum : MDEV-13644 - Assertion failure; modified in 10.2.26 encryption.innodb-bad-key-change2 : MDEV-19118 - Can't connect through socket encryption.innodb-checksum-algorithm : MDEV-12898 - Deadlock of threads; MDEV-16896 - Server crash @@ -203,7 +317,7 @@ encryption.innodb-compressed-blob : MDEV-14728 - Unable to get certi encryption.innodb-discard-import : MDEV-19113 - Timeout encryption.innodb-encryption-alter : MDEV-13566 - Lock wait timeout; modified in 10.2.26 encryption.innodb-first-page-read : MDEV-14356 - Timeout in wait condition -encryption.innodb-force-corrupt : MDEV-17286 - SSL error; modified in 10.2.25 +encryption.innodb-force-corrupt : MDEV-17286 - SSL error encryption.innodb-page_encryption : MDEV-10641 - mutex problem encryption.innodb-read-only : MDEV-16563 - Crash on startup encryption.innodb-redo-badkey : MDEV-12898 - Server hang on startup @@ -211,6 +325,7 @@ encryption.innodb-remove-encryption : MDEV-16493 - Timeout in wait con encryption.innodb-spatial-index : MDEV-13746 - Wrong result encryption.innodb_encrypt_key_rotation_age : MDEV-19763 - Timeout encryption.innodb_encrypt_log : MDEV-13725 - Wrong result +encryption.innodb_encrypt_log_corruption : Configuration modified in 10.2.27 encryption.innodb_encrypt_temporary_tables : MDEV-20142 - Wrong result; added in 10.2.26 encryption.innodb_encryption : MDEV-15675 - Timeout encryption.innodb_encryption-page-compression : MDEV-12630 - crash or assertion failure @@ -221,6 +336,7 @@ encryption.innodb_onlinealter_encryption : MDEV-17287 - SIGABRT on server r encryption.innodb_scrub : MDEV-8139 - scrubbing tests need fixing encryption.innodb_scrub_background : MDEV-8139 - scrubbing tests need fixing encryption.innodb_scrub_compressed : MDEV-8139 - scrubbing tests need fixing +encryption.tempfiles : Modified in 10.2.27 #----------------------------------------------------------------------- @@ -245,9 +361,36 @@ federated.federatedx : MDEV-10617 - Wrong checksum #----------------------------------------------------------------------- -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 +funcs_1.innodb_storedproc_07 : Include file modified in 10.2.27 +funcs_1.innodb_storedproc_08 : Include file modified in 10.2.27 +funcs_1.innodb_trig_03e : Modified in 10.2.27 +funcs_1.is_columns : Modified in 10.2.27 +funcs_1.is_columns_innodb : Modified in 10.2.27 +funcs_1.is_columns_memory : Modified in 10.2.27 +funcs_1.is_columns_myisam : Modified in 10.2.27 +funcs_1.is_routines : Include file modified in 10.2.27 +funcs_1.is_routines_embedded : Include file modified in 10.2.27 +funcs_1.is_schemata : Include file modified in 10.2.27 +funcs_1.is_schemata_embedded : Include file modified in 10.2.27 +funcs_1.is_schemata_is_mysql_test : Modified in 10.2.27 +funcs_1.is_tables : Include file modified in 10.2.27 +funcs_1.is_tables_embedded : Include file modified in 10.2.27 +funcs_1.is_tables_innodb : Include file modified in 10.2.27 +funcs_1.is_tables_memory : Include file modified in 10.2.27 +funcs_1.is_tables_myisam : Include file modified in 10.2.27 +funcs_1.is_tables_myisam_embedded : Include file modified in 10.2.27 +funcs_1.is_triggers : Include file modified in 10.2.27 +funcs_1.is_triggers_embedded : Include file modified in 10.2.27 +funcs_1.memory_storedproc_07 : Include file modified in 10.2.27 +funcs_1.memory_storedproc_08 : Include file modified in 10.2.27 +funcs_1.memory_trig_03e : Modified in 10.2.27 +funcs_1.memory_views : MDEV-11773 - timeout +funcs_1.myisam_storedproc_07 : Include file modified in 10.2.27 +funcs_1.myisam_storedproc_08 : Include file modified in 10.2.27 +funcs_1.myisam_trig_03e : Modified in 10.2.27 +funcs_1.processlist_val_no_prot : MDEV-11223 - Wrong result +funcs_1.processlist_val_ps : MDEV-12175 - Wrong plan +funcs_1.storedproc : Modified in 10.2.27 #----------------------------------------------------------------------- @@ -256,7 +399,8 @@ funcs_2.myisam_charset : MDEV-11535 - Timeout #----------------------------------------------------------------------- -funcs_2/charset.* : MDEV-10999 - Not maintained +funcs_2/charset.* : MDEV-10999 - Not maintained +funcs_2/charset.charset_master : Modified in 10.2.27 #----------------------------------------------------------------------- @@ -269,25 +413,29 @@ 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.gcol_select_innodb : Include file modified in 10.2.27 +gcol.gcol_select_myisam : Include file modified in 10.2.27 +gcol.innodb_virtual_basic : MDEV-16950 - Failing assertion; modified in 10.2.27 +gcol.innodb_virtual_debug : MDEV-19114 - Assertion failure gcol.innodb_virtual_debug_purge : MDEV-16952 - Wrong result -gcol.innodb_virtual_purge : Modified in 10.2.25 +gcol.innodb_virtual_index : Modified in 10.2.27 #----------------------------------------------------------------------- innodb.101_compatibility : MDEV-13891 - Wrong result -innodb.alter_copy : MDEV-16181 - Assertion failure +innodb.alter_copy : MDEV-16181 - Assertion failure; modified in 10.2.27 innodb.alter_crash : MDEV-16944 - The process cannot access the file innodb.alter_large_dml : Added in 10.2.26 innodb.alter_missing_tablespace : Modified in 10.2.26 +innodb.auto_increment_dup : Modified in 10.2.27 innodb.autoinc_persist : MDEV-15282 - Assertion failure innodb.binlog_consistent : MDEV-10618 - Server fails to start innodb.blob-crash : Added in 10.2.26 innodb.check_ibd_filesize : Added in 10.2.26 -innodb.corrupted_during_recovery : Modified in 10.2.25 innodb.create_select : Added in 10.2.26 innodb.doublewrite : MDEV-12905 - Server crash -innodb.foreign-keys : Modified in 10.2.25 +innodb.foreign-keys : Modified in 10.2.27 +innodb.foreign_key : Modified in 10.2.27 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 @@ -295,6 +443,7 @@ innodb.innodb-16k : Modified in 10.2.26 innodb.innodb-32k : Modified in 10.2.26 innodb.innodb-32k-crash : MDEV-16953 - Corrupt log record found; modified in 10.2.26 innodb.innodb-64k-crash : MDEV-13872 - Failure and crash on startup; modified in 10.2.26 +innodb.innodb-alter : Modified in 10.2.27 innodb.innodb-alter-debug : MDEV-13182 - InnoDB: adjusting FSP_SPACE_FLAGS innodb.innodb-alter-table : MDEV-10619 - Testcase timeout innodb.innodb-alter-tempfile : MDEV-15285 - Table already exists @@ -302,25 +451,33 @@ innodb.innodb-autoinc : Modified in 10.2.26 innodb.innodb-blob : MDEV-12053 - Client crash innodb.innodb-change-buffer-recovery : MDEV-19115 - Lost connection to MySQL server during query innodb.innodb-fk : MDEV-13832 - Assertion failure on shutdown -innodb.innodb-get-fk : MDEV-13276 - Server crash +innodb.innodb-fkcheck : Modified in 10.2.27 +innodb.innodb-get-fk : MDEV-13276 - Server crash; modified in 10.2.27 innodb.innodb-index-online : MDEV-14809 - Cannot save statistics +innodb.innodb-mdev7046 : Modified in 10.2.27 innodb.innodb-page_compression_default : MDEV-13644 - Assertion failure innodb.innodb-page_compression_lzma : MDEV-14353 - Wrong result innodb.innodb-page_compression_zip : MDEV-10641 - mutex problem -innodb.innodb-system-table-view : Added in 10.2.26 +innodb.innodb-read-view : Added in 10.2.27 +innodb.innodb-system-table-view : Configuration modified in 10.2.27 innodb.innodb-table-online : MDEV-13894 - Wrong result innodb.innodb-virtual-columns-debug : MDEV-20143 - Wrong result; added in 10.2.26 -innodb.innodb-wl5522-debug : MDEV-14200 - Wrong errno +innodb.innodb-wl5522-debug : MDEV-14200 - Wrong errno; modified in 10.2.27 innodb.innodb-wl5980-debug : Added in 10.2.26 innodb.innodb_buffer_pool_dump_pct : MDEV-20139 - Timeout in wait_condition.inc; added in 10.2.26 innodb.innodb_buffer_pool_resize_with_chunks : MDEV-16964 - Assertion failure innodb.innodb_bug14147491 : MDEV-11808 - Index is corrupt +innodb.innodb_bug14704286 : Deleted in 10.2.27 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_bug59641 : MDEV-13830 - Assertion failure +innodb.innodb_bug68148 : Modified in 10.2.27 +innodb.innodb_bug84958 : Added in 10.2.27 +innodb.innodb_bulk_create_index_debug : Include file modified in 10.2.27 +innodb.innodb_bulk_create_index_flush : Configuration added in 10.2.27 innodb.innodb_bulk_create_index_replication : MDEV-15273 - Slave failed to start innodb.innodb_defrag_stats_many_tables : MDEV-14198 - Table is full -innodb.innodb_force_recovery : Modified in 10.2.25 innodb.innodb_information_schema : MDEV-8851 - Wrong result innodb.innodb_max_recordsize_32k : MDEV-14801 - Operation failed; modified in 10.2.26 innodb.innodb_max_recordsize_64k : MDEV-15203 - Wrong result; modified in 10.2.26 @@ -330,21 +487,21 @@ innodb.innodb_stats : MDEV-10682 - wrong result innodb.innodb_stats_persistent_debug : MDEV-14801 - Operation failed innodb.innodb_sys_semaphore_waits : MDEV-10331 - Semaphore wait innodb.innodb_zip_innochecksum2 : MDEV-13882 - Warning: difficult to find free blocks -innodb.leaf_page_corrupted_during_recovery : Added in 10.2.25 +innodb.log_alter_table : Configuration added in 10.2.27 innodb.log_corruption : MDEV-13251 - Wrong result innodb.log_data_file_size : MDEV-14204 - Server failed to start innodb.log_file_name : MDEV-14193 - Exception innodb.log_file_size : MDEV-15668 - Not found pattern innodb.max_record_size : Added in 10.2.26 innodb.missing_tablespaces : Added in 10.2.26 -innodb.monitor : MDEV-16179 - Wrong result; modified in 10.2.25 +innodb.monitor : MDEV-16179 - Wrong result innodb.page_id_innochecksum : Added in 10.2.26 innodb.purge : Added in 10.2.26 innodb.purge_secondary : MDEV-15681 - Wrong result innodb.purge_secondary_mdev-16222 : Added in 10.2.26 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.recovery_shutdown : MDEV-15671 - Checksum mismatch in datafile; modified in 10.2.27 innodb.row_format_redundant : MDEV-15192 - Trying to access missing tablespace innodb.strict_mode : Modified in 10.2.26 innodb.table_definition_cache_debug : MDEV-14206 - Extra warning @@ -352,17 +509,18 @@ innodb.table_flags : MDEV-13572 - Wrong result; MDEV-1 innodb.temp_table_savepoint : MDEV-16182 - Wrong result innodb.temporary_table : MDEV-13265 - Wrong result innodb.truncate_missing : Modified in 10.2.26 -innodb.trx_id_future : MDEV-20138 - Table doesn't exist in engine; added in 10.2.26 +innodb.trx_id_future : Added in 10.2.26 innodb.undo_log : Modified in 10.2.26 innodb.undo_truncate : MDEV-17340 - Server hung -innodb.undo_truncate_recover : MDEV-17679 - MySQL server has gone away +innodb.undo_truncate_recover : MDEV-17679 - MySQL server has gone away; modified in 10.2.27 innodb.update_time : MDEV-14804 - Wrong result innodb.xa_recovery : MDEV-15279 - mysqld got exception #----------------------------------------------------------------------- innodb_fts.fulltext2 : Modified in 10.2.26 -innodb_fts.innodb_ft_aux_table : Added in 10.2.25 +innodb_fts.fulltext_table_evict : Modified in 10.2.27 +innodb_fts.innodb_fts_misc : Modified in 10.2.27 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 @@ -371,19 +529,20 @@ innodb_fts.sync : MDEV-14808 - Wrong result #----------------------------------------------------------------------- innodb_gis.kill_server : MDEV-16941 - Checksum mismatch -innodb_gis.rtree_add_index : Added in 10.2.25 +innodb_gis.rtree_compress2 : Modified in 10.2.27 innodb_gis.rtree_concurrent_srch : MDEV-15284 - Wrong result with embedded innodb_gis.rtree_purge : MDEV-15275 - Timeout innodb_gis.rtree_recovery : MDEV-15274 - Error on check 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 +innodb_gis.update_root : Modified in 10.2.27 #----------------------------------------------------------------------- innodb_zip.cmp_per_index : MDEV-14490 - Table is marked as crashed innodb_zip.innochecksum_3 : MDEV-13279 - Extra warnings -innodb_zip.wl5522_debug_zip : MDEV-11600 - Operating system error number 2 +innodb_zip.wl5522_debug_zip : MDEV-11600 - Operating system error number 2; modified in 10.2.27 innodb_zip.wl6470_1 : MDEV-14240 - Assertion failure innodb_zip.wl6501_1 : MDEV-10891 - Can't create UNIX socket innodb_zip.wl6501_scale_1 : MDEV-13254 - Timeout, MDEV-14104 - Error 192 @@ -391,15 +550,23 @@ innodb_zip.wl6501_scale_1 : MDEV-13254 - Timeout, MDEV-14104 - Error 192 #----------------------------------------------------------------------- maria.alter : Modified in 10.2.26 +maria.icp : Modified in 10.2.27 maria.insert_select : MDEV-12757 - Timeout maria.insert_select-7314 : MDEV-16492 - Timeout maria.kill : Added in 10.2.26 maria.maria : MDEV-14430 - Extra warning +maria.maria-big : Modified in 10.2.27 +maria.maria-gis-recovery : Modified in 10.2.27 +maria.maria-no-logging : Modified in 10.2.27 +maria.maria-recover : Modified in 10.2.27 +maria.maria-recovery : Modified in 10.2.27 +maria.maria3 : Modified in 10.2.27 maria.temporary : Added in 10.2.26 #----------------------------------------------------------------------- mariabackup.apply-log-only : MDEV-20135 - Timeout +mariabackup.big_innodb_log : Added in 10.2.27 mariabackup.data_directory : MDEV-15270 - Error on exec mariabackup.full_backup : MDEV-16571 - Wrong result mariabackup.huge_lsn : MDEV-15662 - Sequence number is in the future @@ -444,7 +611,23 @@ parts.partition_auto_increment_archive : MDEV-16491 - Marked as crashed and shou parts.partition_auto_increment_maria : MDEV-14430 - Extra warning parts.partition_debug_innodb : MDEV-10891 - Can't create UNIX socket; MDEV-15095 - Table doesn't exist parts.partition_exch_qa_10 : MDEV-11765 - wrong result +parts.partition_exch_qa_4_innodb : Include file modified in 10.2.27 +parts.partition_exch_qa_4_myisam : Include file modified in 10.2.27 +parts.partition_exch_qa_8_innodb : Include file modified in 10.2.27 +parts.partition_exch_qa_8_myisam : Include file modified in 10.2.27 parts.partition_innodb_status_file : MDEV-12901 - Valgrind +parts.partition_mgm_lc0_archive : Include file modified in 10.2.27 +parts.partition_mgm_lc0_innodb : Include file modified in 10.2.27 +parts.partition_mgm_lc0_memory : Include file modified in 10.2.27 +parts.partition_mgm_lc0_myisam : Include file modified in 10.2.27 +parts.partition_mgm_lc1_archive : Include file modified in 10.2.27 +parts.partition_mgm_lc1_innodb : Include file modified in 10.2.27 +parts.partition_mgm_lc1_memory : Include file modified in 10.2.27 +parts.partition_mgm_lc1_myisam : Include file modified in 10.2.27 +parts.partition_mgm_lc2_archive : Include file modified in 10.2.27 +parts.partition_mgm_lc2_innodb : Include file modified in 10.2.27 +parts.partition_mgm_lc2_memory : Include file modified in 10.2.27 +parts.partition_mgm_lc2_myisam : Include file modified in 10.2.27 parts.partition_special_innodb : MDEV-16942 - Timeout #----------------------------------------------------------------------- @@ -453,24 +636,39 @@ 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.privilege_table_io : MDEV-13184 - Extra lines -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_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.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 +perfschema.hostcache_ipv6_addrinfo_again_allow : MDEV-12752 - Crash; configuration modified in 10.2.27 +perfschema.hostcache_ipv6_addrinfo_again_deny : Configuration modified in 10.2.27 +perfschema.hostcache_ipv6_addrinfo_bad_allow : MDEV-13260 - Crash; configuration modified in 10.2.27 +perfschema.hostcache_ipv6_addrinfo_bad_deny : Configuration modified in 10.2.27 +perfschema.hostcache_ipv6_addrinfo_good_allow : Configuration modified in 10.2.27 +perfschema.hostcache_ipv6_addrinfo_good_deny : Configuration modified in 10.2.27 +perfschema.hostcache_ipv6_addrinfo_noname_allow : Configuration modified in 10.2.27 +perfschema.hostcache_ipv6_addrinfo_noname_deny : Configuration modified in 10.2.27 +perfschema.hostcache_ipv6_auth_plugin : Configuration modified in 10.2.27 +perfschema.hostcache_ipv6_blocked : Configuration modified in 10.2.27 +perfschema.hostcache_ipv6_max_con : Configuration modified in 10.2.27 +perfschema.hostcache_ipv6_nameinfo_again_allow : Configuration modified in 10.2.27 +perfschema.hostcache_ipv6_nameinfo_again_deny : Configuration modified in 10.2.27 +perfschema.hostcache_ipv6_nameinfo_noname_allow : Configuration modified in 10.2.27 +perfschema.hostcache_ipv6_nameinfo_noname_deny : Configuration modified in 10.2.27 +perfschema.hostcache_ipv6_passwd : Configuration modified in 10.2.27 +perfschema.hostcache_ipv6_ssl : MDEV-10696 - Crash; configuration modified in 10.2.27 +perfschema.privilege_table_io : MDEV-13184 - Extra lines +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 : Include file modified in 10.2.27 +perfschema.stage_mdl_global : MDEV-11803 - wrong result on slow builders; include file modified in 10.2.27 +perfschema.stage_mdl_procedure : MDEV-11545 - Missing row; include file modified in 10.2.27 +perfschema.stage_mdl_table : MDEV-12638 - Wrong result; include file modified in 10.2.27 +perfschema.threads_mysql : MDEV-10677 - Wrong result #----------------------------------------------------------------------- @@ -478,10 +676,10 @@ perfschema_stress.* : MDEV-10996 - Not maintained #----------------------------------------------------------------------- -plugins.auth_ed25519 : MDEV-20144 - Undefined symbol -plugins.feedback_plugin_load : Modified in 10.2.25 +plugins.feedback_plugin_load : Modified in 10.2.27 plugins.feedback_plugin_send : MDEV-7932, MDEV-11118 - Connection problems and such plugins.processlist : MDEV-16574 - Wrong result +plugins.qc_info : Modified in 10.2.27 plugins.server_audit : MDEV-9562 - crashes on sol10-sparc plugins.thread_pool_server_audit : MDEV-14295 - Wrong result @@ -498,29 +696,8 @@ 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.locking_issues : MDEV-14464 - Wrong result; modified in 10.2.25 -rocksdb.locking_issues_case1_1_rc : Added in 10.2.25 -rocksdb.locking_issues_case1_1_rr : Added in 10.2.25 -rocksdb.locking_issues_case1_2_rc : Added in 10.2.25 -rocksdb.locking_issues_case1_2_rr : Added in 10.2.25 -rocksdb.locking_issues_case2_rc : Added in 10.2.25 -rocksdb.locking_issues_case2_rc_lsr : Added in 10.2.25 -rocksdb.locking_issues_case2_rr : Added in 10.2.25 -rocksdb.locking_issues_case2_rr_lsr : Added in 10.2.25 -rocksdb.locking_issues_case3_rc : Added in 10.2.25 -rocksdb.locking_issues_case3_rr : Added in 10.2.25 -rocksdb.locking_issues_case4_rc : Added in 10.2.25 -rocksdb.locking_issues_case4_rr : Added in 10.2.25 -rocksdb.locking_issues_case5_rc : Added in 10.2.25 -rocksdb.locking_issues_case5_rr : Added in 10.2.25 -rocksdb.locking_issues_case6_rc : Added in 10.2.25 -rocksdb.locking_issues_case6_rr : Added in 10.2.25 -rocksdb.locking_issues_case7_rc : Added in 10.2.25 -rocksdb.locking_issues_case7_rc_lsr : Added in 10.2.25 -rocksdb.locking_issues_case7_rr : Added in 10.2.25 -rocksdb.locking_issues_case7_rr_lsr : Added in 10.2.25 +rocksdb.locking_issues : MDEV-14464 - Wrong result rocksdb.mariadb_ignore_dirs : MDEV-16639 - Server crash -rocksdb.mariadb_plugin : Modified in 10.2.25 rocksdb.mariadb_port_fixes : MDEV-16387 - Wrong plan rocksdb.max_open_files : MDEV-16639 - Server crash rocksdb.perf_context : MDEV-17285 - Wrong results @@ -541,33 +718,29 @@ rocksdb_rpl.rpl_binlog_xid_count : MDEV-16644 - Server crash #----------------------------------------------------------------------- -rocksdb_sys_vars.rocksdb_update_cf_options : MDEV-16955 - Bytes lost -rocksdb_sys_vars.rocksdb_update_cf_options_basic : MDEV-16955 - Bytes lost - -#----------------------------------------------------------------------- - -roles.create_and_grant_role : MDEV-11772 - wrong result +roles.acl_statistics : Configuration added in 10.2.27 +roles.create_and_grant_role : MDEV-11772 - wrong result +roles.definer : Modified in 10.2.27 +roles.show_create_database-10463 : Modified in 10.2.27 #----------------------------------------------------------------------- rpl.circular_serverid0 : MDEV-19372 - ASAN heap-use-after-free rpl.create_or_replace2 : MDEV-19412 - Lost connection to MySQL server -rpl.create_or_replace_mix : Include file modified in 10.2.26 +rpl.create_or_replace_mix : MDEV-20523 - Wrong result; include file modified in 10.2.26 rpl.create_or_replace_row : Include file modified in 10.2.26 -rpl.create_or_replace_statement : Include file modified in 10.2.26 +rpl.create_or_replace_statement : MDEV-20523 - Wrong result; include file modified in 10.2.26 rpl.create_select : MDEV-14121 - Assertion failure rpl.kill_race_condition : Modified in 10.2.26 rpl.last_insert_id : MDEV-10625 - warnings in error log -rpl.mdev_17588 : MDEV-20137 - Table doesn't exist; added in 10.2.26 +rpl.mdev_17588 : Modified in 10.2.27 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_dup_entry : Added in 10.2.25 rpl.rpl_binlog_errors : MDEV-12742 - Crash rpl.rpl_binlog_index : MDEV-9501 - Failed registering on master -rpl.rpl_blackhole : Re-enabled in 10.2.25 -rpl.rpl_blackhole_row_annotate : Added in 10.2.25 rpl.rpl_colSize : MDEV-16112 - Server crash +rpl.rpl_create_or_replace_fail : Added in 10.2.27 rpl.rpl_ctype_latin1 : MDEV-14813 - Wrong result on Mac rpl.rpl_ddl : MDEV-10417 - Fails on Mips rpl.rpl_domain_id_filter_io_crash : MDEV-12729 - Timeout in include file, MDEV-13677 - Server crash @@ -576,6 +749,7 @@ rpl.rpl_domain_id_filter_restart : MDEV-10684 - Wrong result rpl.rpl_drop_db_fail : MDEV-16898 - Slave fails to start rpl.rpl_extra_col_master_innodb : MDEV-16570 - Extra warning rpl.rpl_extra_col_master_myisam : MDEV-14203 - Extra warning +rpl.rpl_failed_drop_tbl_binlog : Added in 10.2.27 rpl.rpl_get_lock : MDEV-19368 - mysqltest failed but provided no output rpl.rpl_gtid_basic : MDEV-10681 - server startup problem rpl.rpl_gtid_crash : MDEV-9501 - Failed registering on master, MDEV-13643 - Lost connection @@ -593,9 +767,11 @@ rpl.rpl_insert_id : MDEV-15197 - Wrong result rpl.rpl_insert_id_pk : MDEV-16567 - Assertion failure rpl.rpl_insert_ignore : MDEV-14365 - Lost connection to MySQL server during query rpl.rpl_invoked_features : MDEV-10417 - Fails on Mips +rpl.rpl_known_bugs_detection : Modified in 10.2.27 rpl.rpl_mariadb_slave_capability : MDEV-11018 - Extra lines in binlog rpl.rpl_mdev12179 : MDEV-19043 - Warnings/errors rpl.rpl_mdev6020 : MDEV-15272 - Server crash +rpl.rpl_mdev_17614 : Added in 10.2.27 rpl.rpl_mixed_mixing_engines : MDEV-14489 - Sync slave with master failed rpl.rpl_non_direct_mixed_mixing_engines : MDEV-14489 - Sync slave with master failed rpl.rpl_non_direct_row_mixing_engines : MDEV-16561 - Timeout in master_pos_wait @@ -619,14 +795,13 @@ rpl.rpl_row_img_blobs : MDEV-13875 - command "diff_files" fail 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_mysqlbinlog : Re-enabled in 10.2.25 rpl.rpl_row_sp001 : MDEV-9329 - Fails on Ubuntu/s390x +rpl.rpl_row_type_conv_err_msg : Added in 10.2.27 rpl.rpl_row_until : MDEV-14052 - Master will not send events with checksum rpl.rpl_semi_sync : MDEV-11220 - Wrong result rpl.rpl_semi_sync_after_sync : MDEV-14366 - Wrong result rpl.rpl_semi_sync_after_sync_row : MDEV-14366 - Wrong result rpl.rpl_semi_sync_event_after_sync : MDEV-11806 - warnings -rpl.rpl_semi_sync_skip_repl : Modified in 10.2.25 rpl.rpl_semi_sync_uninstall_plugin : MDEV-7140 - Assorted failures; modified in 10.2.26 rpl.rpl_semi_sync_wait_point : MDEV-11807 - timeout in wait condition rpl.rpl_set_statement_default_master : MDEV-13258 - Extra warning @@ -642,16 +817,20 @@ rpl.rpl_stm_multi_query : MDEV-9501 - Failed registering on mast rpl.rpl_stm_relay_ign_space : MDEV-14360 - Test assertion rpl.rpl_stm_stop_middle_group : MDEV-13791 - Server crash rpl.rpl_sync : MDEV-13830 - Assertion failure +rpl.rpl_sync_with_innodb_thd_conc : Added in 10.2.27 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 - Sporadic syntax error +rpl.rpl_user_variables : MDEV-20522 - Wrong result rpl.sec_behind_master-5114 : MDEV-13878 - Wrong result #----------------------------------------------------------------------- -rpl-tokudb.* : MDEV-14354 - Tests fail with tcmalloc +rpl-tokudb.* : MDEV-14354 - Tests fail with tcmalloc +rpl-tokudb.rpl_tokudb_row_crash_safe : Deleted in 10.2.27 +rpl-tokudb.rpl_tokudb_stm_mixed_crash_safe : Deleted in 10.2.27 #----------------------------------------------------------------------- @@ -692,15 +871,44 @@ stress.ddl_innodb : MDEV-10635 - Testcase timeout #----------------------------------------------------------------------- +sys_vars.aria_recover_options_basic : Modified in 10.2.27 sys_vars.autocommit_func2 : MDEV-9329 - Fails on Ubuntu/s390x -sys_vars.delayed_insert_limit_func : MDEV-17683 - Wrong result +sys_vars.binlog_cache_size_basic : Modified in 10.2.27 +sys_vars.binlog_stmt_cache_size_basic : Modified in 10.2.27 +sys_vars.character_set_client_basic : Modified in 10.2.27 +sys_vars.character_set_connection_basic : Modified in 10.2.27 +sys_vars.character_set_database_basic : Modified in 10.2.27 +sys_vars.character_set_results_basic : Modified in 10.2.27 +sys_vars.character_set_server_basic : Modified in 10.2.27 +sys_vars.character_set_server_func : Modified in 10.2.27 +sys_vars.collation_connection_basic : Modified in 10.2.27 +sys_vars.collation_database_basic : Modified in 10.2.27 +sys_vars.collation_server_basic : Modified in 10.2.27 +sys_vars.delayed_insert_limit_func : Modified in 10.1.42 +sys_vars.expire_logs_days_basic : Modified in 10.2.27 +sys_vars.histogram_size_basic : Modified in 10.2.27 sys_vars.innodb_buffer_pool_dump_at_shutdown_basic : MDEV-14280 - Unexpected error sys_vars.innodb_ft_result_cache_limit : Modified in 10.2.26 +sys_vars.innodb_max_dirty_pages_pct_basic : Modified in 10.2.27 +sys_vars.innodb_max_dirty_pages_pct_lwm_basic : Modified in 10.2.27 +sys_vars.innodb_read_io_threads_basic : Configuration added in 10.2.27 +sys_vars.innodb_write_io_threads_basic : Configuration added in 10.2.27 sys_vars.keep_files_on_create_basic : MDEV-10676 - timeout sys_vars.log_slow_admin_statements_func : MDEV-12235 - Server crash +sys_vars.log_slow_verbosity_basic : Modified in 10.2.27 +sys_vars.max_connect_errors_basic : Modified in 10.2.27 +sys_vars.max_connections_basic : Modified in 10.2.27 +sys_vars.max_heap_table_size_basic : Modified in 10.2.27 +sys_vars.max_seeks_for_key_func : Modified in 10.2.27 +sys_vars.myisam_recover_options_basic : Configuration added in 10.2.27 +sys_vars.myisam_sort_buffer_size_basic : Modified in 10.2.27 +sys_vars.optimizer_switch_basic : Modified in 10.2.27 sys_vars.rpl_init_slave_func : MDEV-10149 - Test assertion sys_vars.slow_query_log_func : MDEV-14273 - Wrong result +sys_vars.sysvars_server_embedded : Include file modified in 10.2.27 +sys_vars.sysvars_server_notembedded : Include file modified in 10.2.27 sys_vars.thread_cache_size_func : MDEV-11775 - Wrong result +sys_vars.userstat_basic : Modified in 10.2.27 sys_vars.wait_timeout_func : MDEV-12896 - Wrong result #----------------------------------------------------------------------- @@ -709,6 +917,10 @@ tokudb.change_column_all_1000_10 : MDEV-12640 - Lost connection tokudb.change_column_bin : MDEV-12640 - Lost connection tokudb.change_column_char : MDEV-12822 - Lost connection tokudb.change_column_varbin : MDEV-17682 - Timeout +tokudb.cluster_2968-0 : Modified in 10.2.27 +tokudb.cluster_2968-1 : Modified in 10.2.27 +tokudb.cluster_2968-2 : Modified in 10.2.27 +tokudb.cluster_2968-3 : Modified in 10.2.27 tokudb.cluster_filter : MDEV-10678 - Wrong execution plan tokudb.cluster_filter_hidden : MDEV-10678 - Wrong execution plan tokudb.cluster_filter_unpack_varchar : MDEV-10636 - Wrong execution plan @@ -726,6 +938,7 @@ tokudb.rows-32m-rand-insert : MDEV-12640 - Crash tokudb.rows-32m-seq-insert : MDEV-12640 - Crash tokudb.savepoint-5 : MDEV-15280 - Wrong result tokudb.type_datetime : MDEV-15193 - Wrong result +tokudb.type_varchar : Modified in 10.2.27 #----------------------------------------------------------------------- @@ -747,7 +960,13 @@ tokudb_bugs.xa-3 : MDEV-16953 - Corrupt log record found #----------------------------------------------------------------------- -tokudb_parts.partition_alter4_tokudb : MDEV-12640 - Lost connection +tokudb_parts.partition_alter4_tokudb : MDEV-12640 - Lost connection +tokudb_parts.partition_exch_qa_4_tokudb : Include file modified in 10.2.27 +tokudb_parts.partition_exch_qa_8_tokudb : Include file modified in 10.2.27 +tokudb_parts.partition_mgm_lc0_tokudb : Include file modified in 10.2.27 +tokudb_parts.partition_mgm_lc10_tokudb : Include file modified in 10.2.27 +tokudb_parts.partition_mgm_lc1_tokudb : Include file modified in 10.2.27 +tokudb_parts.partition_mgm_lc2_tokudb : Include file modified in 10.2.27 #----------------------------------------------------------------------- @@ -770,16 +989,25 @@ unit.ma_test_loghandler : MDEV-10638 - record read not ok #----------------------------------------------------------------------- -vcol.not_supported : MDEV-10639 - Testcase timeout -vcol.vcol_keys_innodb : MDEV-10639 - Testcase timeout -vcol.vcol_misc : MDEV-16651 - Wrong error message; modified in 10.2.26 +vcol.cross_db : Modified in 10.2.27 +vcol.not_supported : MDEV-10639 - Testcase timeout +vcol.update : Modified in 10.2.27 +vcol.vcol_keys_innodb : MDEV-10639 - Testcase timeout +vcol.vcol_misc : MDEV-16651 - Wrong error message; modified in 10.2.26 +vcol.vcol_select_innodb : Modified in 10.2.27 +vcol.vcol_select_myisam : Modified in 10.2.27 +vcol.vcol_sql_mode : Added in 10.2.27 +vcol.vcol_sql_mode_upgrade : Added in 10.2.27 +vcol.vcol_trigger_sp_innodb : Include file modified in 10.2.27 +vcol.vcol_trigger_sp_myisam : Include file modified in 10.2.27 #----------------------------------------------------------------------- -wsrep.foreign_key : MDEV-14725 - WSREP has not yet prepared node -wsrep.mdev_6832 : MDEV-14195 - Check testcase failed -wsrep.pool_of_threads : MDEV-17345 - WSREP has not yet prepared node for application use -wsrep.variables : MDEV-14311 - Wrong result; MDEV-17585 - Deadlock; modified in 10.2.26 +wsrep.foreign_key : MDEV-14725 - WSREP has not yet prepared node +wsrep.mdev_6832 : MDEV-14195 - Check testcase failed +wsrep.mysql_tzinfo_to_sql_symlink_skip : Added in 10.2.27 +wsrep.pool_of_threads : MDEV-17345 - WSREP has not yet prepared node for application use +wsrep.variables : MDEV-14311 - Wrong result; MDEV-17585 - Deadlock; modified in 10.2.26 #----------------------------------------------------------------------- -- cgit v1.2.1 From 7591a24fa6e2ccff998fdfd119e883d3dddb22a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Mon, 9 Sep 2019 13:06:33 +0300 Subject: MDEV-20531: innodb.temporary_table_optimisation fails MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Try to use more deterministic floating-point operations. Apparently, 2.2 > 2.2 wrongly holds on many platforms, but not ppc64le on the compiler used on Red Had Enterprise Linux 8. The reason could be an infinite binary presentation: 2.2 = 0b10.001100110011… With t1_f = 2.5 = 0b10.1, t1_f > 2.5 would no longer hold on AMD64. Let us replace the 2.2 with 2.5 and compare t1_f >= 2.5 in order to get more consistent results across all platforms. --- .../suite/innodb/r/temporary_table_optimization.result | 18 +++++++++--------- .../suite/innodb/t/temporary_table_optimization.test | 8 ++++---- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/mysql-test/suite/innodb/r/temporary_table_optimization.result b/mysql-test/suite/innodb/r/temporary_table_optimization.result index 63c4f388bf7..c3325d86386 100644 --- a/mysql-test/suite/innodb/r/temporary_table_optimization.result +++ b/mysql-test/suite/innodb/r/temporary_table_optimization.result @@ -112,7 +112,7 @@ count(*) drop table t1; drop procedure populate_t1; create temporary table t1 (t1_i int, t1_f float) engine = innodb; -insert into t1 values (1, 1.1), (2, 2.2), (3, 2.2), (4, 4.4); +insert into t1 values (1, 1.1), (2, 2.5), (3, 2.5), (4, 4.4); explain select * from t1 where t1_i = 1; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where @@ -124,22 +124,22 @@ select * from t1 where t1_i = 1; t1_i t1_f 1 1.1 alter table t1 add unique index sec_index(t1_f); -ERROR 23000: Duplicate entry '2.2' for key 'sec_index' +ERROR 23000: Duplicate entry '2.5' for key 'sec_index' alter table t1 add index sec_index(t1_f); -explain select * from t1 where t1_f > 2.2; +explain select * from t1 where t1_f >= 2.5; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL sec_index NULL NULL NULL 4 Using where -select * from t1 where t1_f > 2.2; +select * from t1 where t1_f >= 2.5; t1_i t1_f -2 2.2 -3 2.2 +2 2.5 +3 2.5 4 4.4 alter table t1 add column (t1_c char(10)); select * from t1; t1_i t1_f t1_c 1 1.1 NULL -2 2.2 NULL -3 2.2 NULL +2 2.5 NULL +3 2.5 NULL 4 4.4 NULL insert into t1 values (5, 5.5, 'krunal'); alter table t1 drop column t1_f; @@ -150,7 +150,7 @@ t1 CREATE TEMPORARY TABLE `t1` ( `t1_c` char(10) DEFAULT NULL, UNIQUE KEY `pri_index` (`t1_i`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 -select * from t1 where t1_f > 2.2; +select * from t1 where t1_f >= 2.5; ERROR 42S22: Unknown column 't1_f' in 'where clause' alter table t1 add index sec_index2(t1_c), algorithm=inplace; ERROR 0A000: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITHM=COPY diff --git a/mysql-test/suite/innodb/t/temporary_table_optimization.test b/mysql-test/suite/innodb/t/temporary_table_optimization.test index ae41c87839b..967965f9998 100644 --- a/mysql-test/suite/innodb/t/temporary_table_optimization.test +++ b/mysql-test/suite/innodb/t/temporary_table_optimization.test @@ -100,7 +100,7 @@ drop procedure populate_t1; # 3. Alter of temp-table. # create temporary table t1 (t1_i int, t1_f float) engine = innodb; -insert into t1 values (1, 1.1), (2, 2.2), (3, 2.2), (4, 4.4); +insert into t1 values (1, 1.1), (2, 2.5), (3, 2.5), (4, 4.4); # explain select * from t1 where t1_i = 1; alter table t1 add unique index pri_index(t1_i); @@ -110,8 +110,8 @@ select * from t1 where t1_i = 1; --error ER_DUP_ENTRY alter table t1 add unique index sec_index(t1_f); alter table t1 add index sec_index(t1_f); -explain select * from t1 where t1_f > 2.2; -select * from t1 where t1_f > 2.2; +explain select * from t1 where t1_f >= 2.5; +select * from t1 where t1_f >= 2.5; # alter table t1 add column (t1_c char(10)); select * from t1; @@ -120,7 +120,7 @@ insert into t1 values (5, 5.5, 'krunal'); alter table t1 drop column t1_f; show create table t1; --error ER_BAD_FIELD_ERROR -select * from t1 where t1_f > 2.2; +select * from t1 where t1_f >= 2.5; # --error ER_ALTER_OPERATION_NOT_SUPPORTED alter table t1 add index sec_index2(t1_c), algorithm=inplace; -- cgit v1.2.1 From b8b4b6594ed9fb5dd14bb9e4012ef9add8575c69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Thu, 5 Sep 2019 07:43:57 +0300 Subject: MDEV-19926: Galera SST tests fail Enable after SST script changes. --- mysql-test/suite/galera/disabled.def | 2 -- 1 file changed, 2 deletions(-) diff --git a/mysql-test/suite/galera/disabled.def b/mysql-test/suite/galera/disabled.def index c0dd58f85b9..1e2833042fc 100644 --- a/mysql-test/suite/galera/disabled.def +++ b/mysql-test/suite/galera/disabled.def @@ -18,7 +18,6 @@ galera_as_master_gtid : Requires MySQL GTID galera_as_master_gtid_change_master : Requires MySQL GTID galera_as_slave_preordered : wsrep-preordered feature not merged to MariaDB galera_as_slave_replication_bundle : MDEV-15785 OPTION_GTID_BEGIN is set in Gtid_log_event::do_apply_event() -galera_autoinc_sst_mariabackup : MDEV-19926 Galera SST tests fail galera_binlog_rows_query_log_events: MariaDB does not support binlog_rows_query_log_events galera_binlog_stmt_autoinc: MDEV-19959 Galera test failure on galera_binlog_stmt_autoinc galera_flush : MariaDB does not have global.thread_statistics @@ -27,7 +26,6 @@ galera_ist_mariabackup : MDEV-18829 test leaves port open galera_ist_progress : MDEV-15236 fails when trying to read transfer status galera_migrate : MariaDB does not support START SLAVE USER galera_ssl_upgrade : MDEV-19950 Galera test failure on galera_ssl_upgrade -galera_sst_mariabackup_encrypt_with_key : MDEV-19926 Galera SST tests fail galera_var_node_address : MDEV-20485 Galera test failure on galera.galera_var_node_address galera_wan : MDEV-17259 Test failure on galera.galera_wan partition : MDEV-19958 Galera test failure on galera.partition -- cgit v1.2.1 From caa7bb62f64f6173f45b6e6bcf15bd3c7a6eea92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Wed, 4 Sep 2019 09:21:07 +0300 Subject: MDEV-20485: Galera test failure on galera.galera_var_node_address Test changes only. --- mysql-test/suite/galera/disabled.def | 1 - .../suite/galera/r/galera_var_node_address.result | 19 +++++++++++-------- .../suite/galera/t/galera_var_node_address.test | 22 +++++++++++----------- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/mysql-test/suite/galera/disabled.def b/mysql-test/suite/galera/disabled.def index 1e2833042fc..d97b7a1ff14 100644 --- a/mysql-test/suite/galera/disabled.def +++ b/mysql-test/suite/galera/disabled.def @@ -26,7 +26,6 @@ galera_ist_mariabackup : MDEV-18829 test leaves port open galera_ist_progress : MDEV-15236 fails when trying to read transfer status galera_migrate : MariaDB does not support START SLAVE USER galera_ssl_upgrade : MDEV-19950 Galera test failure on galera_ssl_upgrade -galera_var_node_address : MDEV-20485 Galera test failure on galera.galera_var_node_address galera_wan : MDEV-17259 Test failure on galera.galera_wan partition : MDEV-19958 Galera test failure on galera.partition query_cache: MDEV-15805 Test failure on galera.query_cache \ No newline at end of file diff --git a/mysql-test/suite/galera/r/galera_var_node_address.result b/mysql-test/suite/galera/r/galera_var_node_address.result index 7696d1e3f4f..0c85d554229 100644 --- a/mysql-test/suite/galera/r/galera_var_node_address.result +++ b/mysql-test/suite/galera/r/galera_var_node_address.result @@ -1,17 +1,20 @@ -call mtr.add_suppression("WSREP: Stray state UUID msg: .* current group state WAIT_STATE_UUID .*"); -call mtr.add_suppression("WSREP: Protocol violation. JOIN message sender .* is not in state transfer (.*). Message ignored."); -call mtr.add_suppression("WSREP: Sending JOIN failed: -[0-9]+ (Transport endpoint is not connected). Will retry in new primary component."); -SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'; -VARIABLE_VALUE = 4 -1 +call mtr.add_suppression("WSREP: Stray state UUID msg: .*"); +call mtr.add_suppression("WSREP: Protocol violation. JOIN message sender .*"); +call mtr.add_suppression("WSREP: Sending JOIN failed: .*"); +flush tables; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'; +VARIABLE_VALUE +4 connection node_1; CREATE TABLE t1 (f1 INTEGER) ENGINE=INNODB; connection node_2; +set global wsrep_sync_wait=15; INSERT INTO t1 VALUES (1); connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3; connection node_3; -SELECT COUNT(*) = 1 FROM t1; -COUNT(*) = 1 +set global wsrep_sync_wait=15; +SELECT COUNT(*) FROM t1; +COUNT(*) 1 connection node_1; DROP TABLE t1; diff --git a/mysql-test/suite/galera/t/galera_var_node_address.test b/mysql-test/suite/galera/t/galera_var_node_address.test index b50265be5ae..99cb30e7b91 100644 --- a/mysql-test/suite/galera/t/galera_var_node_address.test +++ b/mysql-test/suite/galera/t/galera_var_node_address.test @@ -6,27 +6,27 @@ --source include/galera_cluster.inc --source include/have_innodb.inc -call mtr.add_suppression("WSREP: Stray state UUID msg: .* current group state WAIT_STATE_UUID .*"); -call mtr.add_suppression("WSREP: Protocol violation. JOIN message sender .* is not in state transfer (.*). Message ignored."); -call mtr.add_suppression("WSREP: Sending JOIN failed: -[0-9]+ (Transport endpoint is not connected). Will retry in new primary component."); +call mtr.add_suppression("WSREP: Stray state UUID msg: .*"); +call mtr.add_suppression("WSREP: Protocol violation. JOIN message sender .*"); +call mtr.add_suppression("WSREP: Sending JOIN failed: .*"); +flush tables; -SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'; +--let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'; +--source include/wait_condition.inc + +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'; --connection node_1 CREATE TABLE t1 (f1 INTEGER) ENGINE=INNODB; --connection node_2 -let $wait_condition= SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t1'; ---source include/wait_condition.inc +set global wsrep_sync_wait=15; INSERT INTO t1 VALUES (1); --connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3 --connection node_3 -let $wait_condition= SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t1'; ---source include/wait_condition.inc -let $wait_condition= SELECT COUNT(*) = 1 FROM t1; ---source include/wait_condition.inc -SELECT COUNT(*) = 1 FROM t1; +set global wsrep_sync_wait=15; +SELECT COUNT(*) FROM t1; --connection node_1 DROP TABLE t1; -- cgit v1.2.1 From efbfded563c0d9fe5904bac0436ca5fd88baff20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Thu, 5 Sep 2019 12:26:36 +0300 Subject: Move MW-328B to big test to avoid test timeout. --- mysql-test/suite/galera/t/MW-328B.test | 1 + 1 file changed, 1 insertion(+) diff --git a/mysql-test/suite/galera/t/MW-328B.test b/mysql-test/suite/galera/t/MW-328B.test index 11969dd0b47..04503ce31e3 100644 --- a/mysql-test/suite/galera/t/MW-328B.test +++ b/mysql-test/suite/galera/t/MW-328B.test @@ -8,6 +8,7 @@ # --source include/galera_cluster.inc +--source include/big_test.inc --source suite/galera/t/MW-328-header.inc --connection node_2 -- cgit v1.2.1 From 0fd5b11eb05be8e8e996b26d845aae3b863448d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Fri, 6 Sep 2019 14:54:22 +0300 Subject: MDEV-20511: Galera replication of events is not consistent After SST from master node (the one where event is ENABLED) - you will end up with the event enabled on two nodes, hence it's now being executed twice. It can be solved by comparing event's originator with server_id. if not equal, then change its status to 'SLAVESIDE_DISABLED' Changes to be committed: new file: mysql-test/suite/galera/r/galera_events2.result new file: mysql-test/suite/galera/t/galera_events2.test modified: sql/events.cc --- mysql-test/suite/galera/r/galera_events2.result | 122 ++++++++++++++++++++ mysql-test/suite/galera/t/galera_events2.test | 144 ++++++++++++++++++++++++ sql/events.cc | 40 +++++++ 3 files changed, 306 insertions(+) create mode 100644 mysql-test/suite/galera/r/galera_events2.result create mode 100644 mysql-test/suite/galera/t/galera_events2.test diff --git a/mysql-test/suite/galera/r/galera_events2.result b/mysql-test/suite/galera/r/galera_events2.result new file mode 100644 index 00000000000..fa33e75ff57 --- /dev/null +++ b/mysql-test/suite/galera/r/galera_events2.result @@ -0,0 +1,122 @@ +connection node_1; +connection node_2; +connection node_1; +CREATE TABLE event_table(a int) engine=innodb; +CREATE EVENT event_2 ON SCHEDULE EVERY 1 SECOND +ENDS NOW() + INTERVAL 6 SECOND +ON COMPLETION NOT PRESERVE +DO +INSERT INTO event_table VALUES (1); +Warnings: +Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it. +# node_1 event should be there +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='event_2'; +EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT +def test event_2 root@localhost SQL INSERT INTO event_table VALUES (1) RECURRING NULL 1 SECOND ENABLED NOT PRESERVE +connection node_2; +# node_2 event should be there +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='event_2'; +EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT +def test event_2 root@localhost SQL INSERT INTO event_table VALUES (1) RECURRING NULL 1 SECOND SLAVESIDE_DISABLED NOT PRESERVE +connection node_1; +SET GLOBAL event_scheduler=ON; +SHOW VARIABLES LIKE 'event_scheduler'; +Variable_name Value +event_scheduler ON +# node_1 event should be removed +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='event_2'; +EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT +connection node_2; +# node_2 event should be removed +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='event_2'; +EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT +connection node_1; +SET GLOBAL event_scheduler=OFF; +DROP TABLE event_table; +connection node_1; +CREATE DATABASE IF NOT EXISTS events_test; +use events_test; +CREATE USER ev_test@localhost; +GRANT ALL ON events_test.* to ev_test@localhost; +connect ev_con1,localhost,ev_test,,events_test; +CREATE EVENT one_event ON SCHEDULE EVERY 10 SECOND DO SELECT 123; +Warnings: +Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it. +SHOW EVENTS; +Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation +events_test one_event ev_test@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS ORDER BY EVENT_SCHEMA, EVENT_NAME; +EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT +def events_test one_event ev_test@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE +ALTER EVENT one_event ON SCHEDULE EVERY 10 SECOND; +"The definer should be ev_test@localhost" +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event'; +EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT +def events_test one_event ev_test@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE +connection node_2; +use events_test; +"The definer should be ev_test@localhost" +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event'; +EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT +def events_test one_event ev_test@localhost SQL SELECT 123 RECURRING NULL 10 SECOND SLAVESIDE_DISABLED NOT PRESERVE +connection node_1; +disconnect ev_con1; +use test; +DROP EVENT events_test.one_event; +DROP USER ev_test@localhost; +DROP DATABASE events_test; +connection node_1; +use test; +CREATE EVENT one_event ON SCHEDULE EVERY 10 SECOND DO SELECT 123; +Warnings: +Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it. +# node_1 Event should be enabled +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event'; +EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT +def test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE +connection node_2; +use test; +# node_2 Event should be SERVERSIDE_DISABLED +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event'; +EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT +def test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND SLAVESIDE_DISABLED NOT PRESERVE +CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1)) engine=InnoDB; +INSERT INTO t1 VALUES (1, 'a'), (2, 'a'), (3, 'a'); +SELECT * FROM t1; +f1 f2 +1 a +2 a +3 a +Shutting down server ... +connection node_1; +UPDATE t1 SET f2 = 'b' WHERE f1 > 1; +UPDATE t1 SET f2 = 'c' WHERE f1 > 2; +SELECT * FROM t1; +f1 f2 +1 a +2 b +3 c +connection node_2; +# Force SST from node_1 to node_2 +Starting server ... +SELECT * FROM t1; +f1 f2 +1 a +2 b +3 c +# node_2 Event should be SERVERSIDE_DISABLED +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event'; +EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT +def test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND SLAVESIDE_DISABLED NOT PRESERVE +connection node_1; +SELECT * FROM t1; +f1 f2 +1 a +2 b +3 c +# node_1 Event should be ENABLED +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event'; +EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT +def test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE +DROP TABLE t1; +DROP EVENT one_event; diff --git a/mysql-test/suite/galera/t/galera_events2.test b/mysql-test/suite/galera/t/galera_events2.test new file mode 100644 index 00000000000..54b90386851 --- /dev/null +++ b/mysql-test/suite/galera/t/galera_events2.test @@ -0,0 +1,144 @@ +--source include/galera_cluster.inc + +# Save original auto_increment_offset values. +--let $node_1=node_1 +--let $node_2=node_2 +--source include/auto_increment_offset_save.inc + +# +# Test case 1: "ONE TIME" events should be dropped on slave nodes after expiring on master (event creator node) +# + +--connection node_1 + +CREATE TABLE event_table(a int) engine=innodb; + +CREATE EVENT event_2 ON SCHEDULE EVERY 1 SECOND +ENDS NOW() + INTERVAL 6 SECOND +ON COMPLETION NOT PRESERVE +DO + INSERT INTO event_table VALUES (1); + +--echo # node_1 event should be there +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='event_2'; + +--connection node_2 +--echo # node_2 event should be there +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='event_2'; + +--connection node_1 +SET GLOBAL event_scheduler=ON; +SHOW VARIABLES LIKE 'event_scheduler'; + +# Let event_2 reach the end of its execution interval +let $wait_condition=select count(*) = 0 from information_schema.events where event_name='event_2'; +--source include/wait_condition.inc + +--echo # node_1 event should be removed +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='event_2'; + +--connection node_2 +--echo # node_2 event should be removed +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='event_2'; + +--connection node_1 +SET GLOBAL event_scheduler=OFF; +DROP TABLE event_table; + +# +# Test case 2: After doing ALTER EVENT, slave nodes should have same definer as master +# + +--connection node_1 + +CREATE DATABASE IF NOT EXISTS events_test; +use events_test; +CREATE USER ev_test@localhost; +GRANT ALL ON events_test.* to ev_test@localhost; +connect (ev_con1,localhost,ev_test,,events_test); + +CREATE EVENT one_event ON SCHEDULE EVERY 10 SECOND DO SELECT 123; +--replace_column 8 # 9 # +SHOW EVENTS; +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS ORDER BY EVENT_SCHEMA, EVENT_NAME; +ALTER EVENT one_event ON SCHEDULE EVERY 10 SECOND; +--echo "The definer should be ev_test@localhost" +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event'; + +--connection node_2 +use events_test; +--echo "The definer should be ev_test@localhost" +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event'; + +--connection node_1 +--disconnect ev_con1 +use test; +DROP EVENT events_test.one_event; +DROP USER ev_test@localhost; +DROP DATABASE events_test; + +# +# Test case 3: After SST from master node (the one where event is ENABLED) , slave event status should be 'SLAVESIDE_DISABLED' +# + +--connection node_1 +use test; +CREATE EVENT one_event ON SCHEDULE EVERY 10 SECOND DO SELECT 123; + +--echo # node_1 Event should be enabled +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event'; + +--connection node_2 +use test; +--echo # node_2 Event should be SERVERSIDE_DISABLED +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event'; + +CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 CHAR(1)) engine=InnoDB; +INSERT INTO t1 VALUES (1, 'a'), (2, 'a'), (3, 'a'); + +SELECT * FROM t1; + +# Initiate normal shutdown on the node 2 and wait until shutdown has been completed: + +--echo Shutting down server ... +--source include/shutdown_mysqld.inc + +--connection node_1 + +--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size' +--source include/wait_condition.inc + +UPDATE t1 SET f2 = 'b' WHERE f1 > 1; +UPDATE t1 SET f2 = 'c' WHERE f1 > 2; + +SELECT * FROM t1; + +--connection node_2 + +# Remove the "grastate.dat" file (to initiate new SST) and restart node 2 + +--remove_file $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat + +--echo # Force SST from node_1 to node_2 +--let $start_mysqld_params= +--echo Starting server ... +--source include/start_mysqld.inc + +--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size' +--source include/wait_condition.inc + +# Sanity check (node 2 is running now and can perform SQL operators): + +SELECT * FROM t1; +--echo # node_2 Event should be SERVERSIDE_DISABLED +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event'; + +--connection node_1 +SELECT * FROM t1; +--echo # node_1 Event should be ENABLED +SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event'; + +DROP TABLE t1; +DROP EVENT one_event; + +--source include/auto_increment_offset_restore.inc diff --git a/sql/events.cc b/sql/events.cc index 15da0adee70..c189354d5eb 100644 --- a/sql/events.cc +++ b/sql/events.cc @@ -1198,6 +1198,46 @@ Events::load_events_from_db(THD *thd) delete et; goto end; } + +#ifdef WITH_WSREP + /** + IF SST is done from a galera node that is also acting as MASTER + newly synced node in galera eco-system will also copy-over the event state + enabling duplicate event in galera eco-system. + DISABLE such events if the current node is not event orginator. + (Also, make sure you skip disabling it if is already disabled to avoid + creation of redundant action) + NOTE: + This complete system relies on server-id. Ideally server-id should be + same for all nodes of galera eco-system but they aren't same. + Infact, based on galera use-case it seems like it recommends to have each + node with different server-id. + */ + if (et->originator != thd->variables.server_id) + { + if (et->status == Event_parse_data::SLAVESIDE_DISABLED) + continue; + + store_record(table, record[1]); + table->field[ET_FIELD_STATUS]-> + store((longlong) Event_parse_data::SLAVESIDE_DISABLED, + TRUE); + + /* All the dmls to mysql.events tables are stmt bin-logged. */ + bool save_binlog_row_based; + if ((save_binlog_row_based= thd->is_current_stmt_binlog_format_row())) + thd->set_current_stmt_binlog_format_stmt(); + + (void) table->file->ha_update_row(table->record[1], table->record[0]); + + if (save_binlog_row_based) + thd->set_current_stmt_binlog_format_row(); + + delete et; + continue; + } +#endif /* WITH_WSREP */ + /** Since the Event_queue_element object could be deleted inside Event_queue::create_event we should save the value of dropped flag -- cgit v1.2.1 From 803bb5cdf86196b783560bc21a8a2bd1c6a0e2ea Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Mon, 9 Sep 2019 10:51:10 +0200 Subject: Windows, cmake : Fix occasional link error when switching between debug to optimized compilation For Visual Studio generator, use a per-config .def/.lib files with symbols exported from mysqld.exe Functions exported from mysqld.exe may differ between debug/optimized compilation, e.g dbug functions are missing in release config. --- sql/CMakeLists.txt | 47 ++++++++++++++--------------------------------- 1 file changed, 14 insertions(+), 33 deletions(-) diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt index 963243c9767..f7c97b23e87 100644 --- a/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt @@ -197,9 +197,9 @@ IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS) # without necessity.E.g source modifications, that do not # change list of exported symbols, will not result in a relink for plugins. - SET(MYSQLD_DEF ${CMAKE_CURRENT_BINARY_DIR}/mysqld_lib.def) - SET(MYSQLD_EXP ${CMAKE_CURRENT_BINARY_DIR}/mysqld_lib.exp) - SET(MYSQLD_LIB ${CMAKE_CURRENT_BINARY_DIR}/mysqld_lib.lib) + SET(MYSQLD_DEF ${CMAKE_CURRENT_BINARY_DIR}/mysqld_lib${CMAKE_CFG_INTDIR}.def) + SET(MYSQLD_EXP ${CMAKE_CURRENT_BINARY_DIR}/mysqld_lib${CMAKE_CFG_INTDIR}.exp) + SET(MYSQLD_LIB ${CMAKE_CURRENT_BINARY_DIR}/mysqld_lib${CMAKE_CFG_INTDIR}.lib) SET(MYSQLD_CORELIBS sql mysys dbug strings) FOREACH (CORELIB ${MYSQLD_CORELIBS}) GET_TARGET_PROPERTY(LOC ${CORELIB} LOCATION) @@ -214,12 +214,12 @@ IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS) # Create a cmake script to generate import and export libs # from a .def file SET(CMAKE_CONFIGURABLE_FILE_CONTENT " - IF ((mysqld_lib.def IS_NEWER_THAN mysqld_lib.lib) OR - (mysqld_lib.def IS_NEWER_THAN mysqld_lib.exp)) - FILE(REMOVE mysqld_lib.lib mysqld_lib.exp) + IF ((mysqld_lib\${CFG}.def IS_NEWER_THAN mysqld_lib\${CFG}.lib) OR + (mysqld_lib\${CFG}.def IS_NEWER_THAN mysqld_lib\${CFG}.exp)) + FILE(REMOVE mysqld_lib\${CFG}.lib mysqld_lib\${CFG}.exp) SET(ENV{VS_UNICODE_OUTPUT}) EXECUTE_PROCESS ( - COMMAND \"${CMAKE_LINKER}\" /lib /NAME:mysqld.exe \"/DEF:${MYSQLD_DEF}\" /MACHINE:${_PLATFORM} + COMMAND \"${CMAKE_LINKER}\" /lib /NAME:mysqld.exe \"/DEF:${CMAKE_CURRENT_BINARY_DIR}/mysqld_lib\${CFG}.def\" /MACHINE:${_PLATFORM} RESULT_VARIABLE ret) IF(NOT ret EQUAL 0) MESSAGE(FATAL_ERROR \"process failed ret=\${ret}\") @@ -229,41 +229,22 @@ IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS) CONFIGURE_FILE( ${PROJECT_SOURCE_DIR}/cmake/configurable_file_content.in - make_mysqld_lib.cmake) + make_mysqld_lib.cmake + @ONLY) IF(CMAKE_VERSION VERSION_GREATER "3.2.0") SET(MYSQLD_LIB_BYPRODUCTS BYPRODUCTS ${MYSQLD_DEF} ${MYSQLD_LIB} ${MYSQLD_EXP}) ENDIF() - # Create a cmake script to generate import and export libs - # from a .def file - SET(CMAKE_CONFIGURABLE_FILE_CONTENT " - IF ((mysqld_lib.def IS_NEWER_THAN mysqld_lib.lib) OR - (mysqld_lib.def IS_NEWER_THAN mysqld_lib.exp)) - FILE(REMOVE mysqld_lib.lib mysqld_lib.exp) - SET(ENV{VS_UNICODE_OUTPUT}) - EXECUTE_PROCESS ( - COMMAND \"${CMAKE_LINKER}\" /lib /NAME:mysqld.exe \"/DEF:${MYSQLD_DEF}\" /MACHINE:${_PLATFORM} - RESULT_VARIABLE ret) - IF(NOT ret EQUAL 0) - MESSAGE(FATAL_ERROR \"process failed ret=\${ret}\") - ENDIF() - ENDIF() - ") - - CONFIGURE_FILE( - ${PROJECT_SOURCE_DIR}/cmake/configurable_file_content.in - make_mysqld_lib.cmake) - ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mysqld_lib.stamp ${MYSQLD_LIB_BYPRODUCTS} - COMMENT "Generating mysqld_lib.def, mysqld_lib.lib, mysqld_lib.exp" + COMMENT "Generating ${MYSQLD_DEF}, ${MYSQLD_LIB}, ${MYSQLD_EXP}" COMMAND cscript //nologo ${PROJECT_SOURCE_DIR}/win/create_def_file.js - ${_PLATFORM} /forLib ${LIB_LOCATIONS} > mysqld_lib.def.tmp - COMMAND ${CMAKE_COMMAND} -E copy_if_different mysqld_lib.def.tmp mysqld_lib.def - COMMAND ${CMAKE_COMMAND} -E remove mysqld_lib.def.tmp - COMMAND ${CMAKE_COMMAND} -P make_mysqld_lib.cmake + ${_PLATFORM} /forLib ${LIB_LOCATIONS} > ${MYSQLD_DEF}.tmp + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${MYSQLD_DEF}.tmp ${MYSQLD_DEF} + COMMAND ${CMAKE_COMMAND} -E remove ${MYSQLD_DEF}.tmp + COMMAND ${CMAKE_COMMAND} "-DCFG=${CMAKE_CFG_INTDIR}" -P make_mysqld_lib.cmake COMMAND ${CMAKE_COMMAND} -E touch mysqld_lib.stamp WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} DEPENDS ${MYSQLD_CORELIBS} -- cgit v1.2.1 From 7e7b6ec4d6ffe24c8008e7108f728104b89802c2 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Mon, 9 Sep 2019 12:06:29 +0200 Subject: Fix connect RESTSDK support. Remove debug output, remove overriding of the Windows C runtime flags(linker warning) do not add code that depends on restsdk if library is not going to be linked. freaking Connect --- storage/connect/CMakeLists.txt | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/storage/connect/CMakeLists.txt b/storage/connect/CMakeLists.txt index 7fc73bce59e..a1234179311 100644 --- a/storage/connect/CMakeLists.txt +++ b/storage/connect/CMakeLists.txt @@ -73,10 +73,6 @@ ELSE(NOT UNIX) tabwmi.cpp tabwmi.h tabmac.cpp tabmac.h macutil.cpp macutil.h) # Add exception handling to the CONNECT project) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") - SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD") - SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd") - SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MD") - SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /MD") SET(IPHLPAPI_LIBRARY iphlpapi.lib) IF(MSVC AND (CMAKE_CXX_COMPILER_ID MATCHES Clang)) # Connect does not work with clang-cl @@ -322,20 +318,20 @@ ENDIF(CONNECT_WITH_MONGO) OPTION(CONNECT_WITH_REST "Compile CONNECT storage engine with REST support" ON) IF(CONNECT_WITH_REST) - MESSAGE(STATUS "=====> REST support is ON") - FIND_PACKAGE(cpprestsdk) + FIND_PACKAGE(cpprestsdk QUIET) IF (cpprestsdk_FOUND) - MESSAGE(STATUS "=====> cpprestsdk found") IF(UNIX) # INCLUDE_DIRECTORIES(${CPPRESTSDK_INCLUDE_DIR}) # If needed edit next line to set the path to libcpprest.so SET(REST_LIBRARY -lcpprest) - MESSAGE (STATUS ${REST_LIBRARY}) +# MESSAGE (STATUS ${REST_LIBRARY}) ENDIF(UNIX) - SET(CONNECT_SOURCES ${CONNECT_SOURCES} tabrest.cpp restget.cpp tabrest.h) - add_definitions(-DREST_SUPPORT) + IF(REST_LIBRARY) + SET(CONNECT_SOURCES ${CONNECT_SOURCES} tabrest.cpp restget.cpp tabrest.h) + add_definitions(-DREST_SUPPORT) + ENDIF() ELSE(NOT cpprestsdk_FOUND) - MESSAGE(STATUS "=====> cpprestsdk package not found") +# MESSAGE(STATUS "=====> cpprestsdk package not found") ENDIF (cpprestsdk_FOUND) ENDIF(CONNECT_WITH_REST) -- cgit v1.2.1 From d251b76884557580d1dbac877e3b22216c55ecee Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Mon, 9 Sep 2019 12:07:47 +0200 Subject: Fix warning when compiling with OpenSSL. --- vio/viossl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vio/viossl.c b/vio/viossl.c index 02ef41db2de..30946d3261c 100644 --- a/vio/viossl.c +++ b/vio/viossl.c @@ -333,7 +333,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout, DBUG_PRINT("info", ("ssl: %p timeout: %ld", ssl, timeout)); SSL_clear(ssl); SSL_SESSION_set_timeout(SSL_get_session(ssl), timeout); - SSL_set_fd(ssl, sd); + SSL_set_fd(ssl, (int)sd); /* Since yaSSL does not support non-blocking send operations, use -- cgit v1.2.1 From a895c68c58441e84d8ecbe336a7bbd19fc995e37 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Mon, 9 Sep 2019 12:08:47 +0200 Subject: On Windows, treat linker warnings as errors, if MYSQL_MAINTAINER_MODE is ERR --- cmake/os/Windows.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmake/os/Windows.cmake b/cmake/os/Windows.cmake index efbbfc285c0..ae0beeae5c5 100644 --- a/cmake/os/Windows.cmake +++ b/cmake/os/Windows.cmake @@ -154,6 +154,11 @@ IF(MSVC) IF(MYSQL_MAINTAINER_MODE MATCHES "ERR") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX") + FOREACH(type EXE SHARED MODULE) + FOREACH(cfg RELEASE DEBUG RELWITHDEBINFO) + SET(CMAKE_${type}_LINKER_FLAGS_${cfg} "${CMAKE_${type}_LINKER_FLAGS_${cfg}} /WX") + ENDFOREACH() + ENDFOREACH() ENDIF() IF(MSVC_VERSION LESS 1910) # Noisy warning C4800: 'type': forcing value to bool 'true' or 'false' (performance warning), -- cgit v1.2.1 From 2336e0b3944b73379f9d773b4e1b37cbc723bce4 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Mon, 9 Sep 2019 13:48:36 +0200 Subject: MDEV-20206 : Crash inside timer_callback()[threadpool_win.cc:419] The most likely cause of the crash is that a timer fired, after it was closed. MSDN documents such a possibility, in the documentation for CloseThreadpoolTimer() function, and recommends disabling the timer before calling WaitForThreadpoolTimerCallbacks()/CloseThreadpoolTimer(). The fix follows this recommendation. Note, that 5.5-10.1 disabled the timer before close, but this code was lost in threadpool refactoring in 10.2 --- sql/threadpool_win.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/sql/threadpool_win.cc b/sql/threadpool_win.cc index 10d6e96b22f..1e2084b9c07 100644 --- a/sql/threadpool_win.cc +++ b/sql/threadpool_win.cc @@ -308,6 +308,7 @@ TP_connection_win::~TP_connection_win() if (timer) { + SetThreadpoolTimer(timer, 0, 0, 0); WaitForThreadpoolTimerCallbacks(timer, TRUE); CloseThreadpoolTimer(timer); } -- cgit v1.2.1 From 43a6e81ccb5026c4d60e27b504fbdc77951e906d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Mon, 9 Sep 2019 18:18:52 +0300 Subject: MDEV-19514 preparation: Remove innodb_change_buffering_debug=2 The setting innodb_change_buffering_debug=2 was supposed to inject a crash during change buffer merge. There is no public test for that functionality, and even if there were, it would be better to use DEBUG_SYNC to halt the thread that does change buffer merge, force a redo log flush from another thread, and finally kill the server externally. --- .../r/innodb_change_buffering_debug_basic.result | 6 ++++++ mysql-test/suite/sys_vars/r/sysvars_innodb.result | 4 ++-- .../sys_vars/t/innodb_change_buffering_debug_basic.test | 5 ++--- storage/innobase/handler/ha_innodb.cc | 4 ++-- storage/innobase/ibuf/ibuf0ibuf.cc | 17 ----------------- 5 files changed, 12 insertions(+), 24 deletions(-) diff --git a/mysql-test/suite/sys_vars/r/innodb_change_buffering_debug_basic.result b/mysql-test/suite/sys_vars/r/innodb_change_buffering_debug_basic.result index fc0078581fb..2cb3fc76e30 100644 --- a/mysql-test/suite/sys_vars/r/innodb_change_buffering_debug_basic.result +++ b/mysql-test/suite/sys_vars/r/innodb_change_buffering_debug_basic.result @@ -55,6 +55,12 @@ Warnings: Warning 1292 Truncated incorrect innodb_change_buffering_debug value: '-2' set global innodb_change_buffering_debug=1e1; ERROR 42000: Incorrect argument type to variable 'innodb_change_buffering_debug' +set global innodb_change_buffering_debug=2; +Warnings: +Warning 1292 Truncated incorrect innodb_change_buffering_debug value: '2' +select @@global.innodb_change_buffering_debug; +@@global.innodb_change_buffering_debug +1 SET @@global.innodb_change_buffering_debug = @start_global_value; SELECT @@global.innodb_change_buffering_debug; @@global.innodb_change_buffering_debug diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb.result b/mysql-test/suite/sys_vars/r/sysvars_innodb.result index f424f5a6c05..79d24242435 100644 --- a/mysql-test/suite/sys_vars/r/sysvars_innodb.result +++ b/mysql-test/suite/sys_vars/r/sysvars_innodb.result @@ -347,9 +347,9 @@ SESSION_VALUE NULL DEFAULT_VALUE 0 VARIABLE_SCOPE GLOBAL VARIABLE_TYPE INT UNSIGNED -VARIABLE_COMMENT Debug flags for InnoDB change buffering (0=none, 2=crash at merge) +VARIABLE_COMMENT Debug flags for InnoDB change buffering (0=none, 1=try to buffer) NUMERIC_MIN_VALUE 0 -NUMERIC_MAX_VALUE 2 +NUMERIC_MAX_VALUE 1 NUMERIC_BLOCK_SIZE 0 ENUM_VALUE_LIST NULL READ_ONLY NO diff --git a/mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test index a6fc09f767e..70f8bee1523 100644 --- a/mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test +++ b/mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test @@ -48,9 +48,8 @@ set global innodb_change_buffering_debug='foo'; set global innodb_change_buffering_debug=-2; --error ER_WRONG_TYPE_FOR_VAR set global innodb_change_buffering_debug=1e1; -# The value 2 is supposed to kill the server if there are unmerged changes. -# Do not try to set the value to 2 or anything that can be clamped to 2. -#set global innodb_change_buffering_debug=2; +set global innodb_change_buffering_debug=2; +select @@global.innodb_change_buffering_debug; # # Cleanup diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index 7c9e4148886..347cf6f21b7 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -20616,8 +20616,8 @@ static MYSQL_SYSVAR_ENUM(stats_method, srv_innodb_stats_method, #if defined UNIV_DEBUG || defined UNIV_IBUF_DEBUG static MYSQL_SYSVAR_UINT(change_buffering_debug, ibuf_debug, PLUGIN_VAR_RQCMDARG, - "Debug flags for InnoDB change buffering (0=none, 2=crash at merge)", - NULL, NULL, 0, 0, 2, 0); + "Debug flags for InnoDB change buffering (0=none, 1=try to buffer)", + NULL, NULL, 0, 0, 1, 0); static MYSQL_SYSVAR_BOOL(disable_background_merge, srv_ibuf_disable_background_merge, diff --git a/storage/innobase/ibuf/ibuf0ibuf.cc b/storage/innobase/ibuf/ibuf0ibuf.cc index 29a7e8908a3..5581d1d1093 100644 --- a/storage/innobase/ibuf/ibuf0ibuf.cc +++ b/storage/innobase/ibuf/ibuf0ibuf.cc @@ -4241,23 +4241,6 @@ ibuf_delete_rec( ut_ad(ibuf_rec_get_page_no(mtr, btr_pcur_get_rec(pcur)) == page_no); ut_ad(ibuf_rec_get_space(mtr, btr_pcur_get_rec(pcur)) == space); -#if defined UNIV_DEBUG || defined UNIV_IBUF_DEBUG - if (ibuf_debug == 2) { - /* Inject a fault (crash). We do this before trying - optimistic delete, because a pessimistic delete in the - change buffer would require a larger test case. */ - - /* Flag the buffered record as processed, to avoid - an assertion failure after crash recovery. */ - btr_cur_set_deleted_flag_for_ibuf( - btr_pcur_get_rec(pcur), NULL, TRUE, mtr); - - ibuf_mtr_commit(mtr); - log_write_up_to(LSN_MAX, true); - DBUG_SUICIDE(); - } -#endif /* UNIV_DEBUG || UNIV_IBUF_DEBUG */ - success = btr_cur_optimistic_delete(btr_pcur_get_btr_cur(pcur), 0, mtr); -- cgit v1.2.1 From 879c9ddce7fd89f06f538e380016b408e4f2a2f4 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Mon, 9 Sep 2019 19:57:25 +0200 Subject: MDEV-20542 Windows enable/d2OptimizeHugeFunctions --- cmake/os/Windows.cmake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmake/os/Windows.cmake b/cmake/os/Windows.cmake index ae0beeae5c5..ca6d13e1c1b 100644 --- a/cmake/os/Windows.cmake +++ b/cmake/os/Windows.cmake @@ -164,6 +164,8 @@ IF(MSVC) # Noisy warning C4800: 'type': forcing value to bool 'true' or 'false' (performance warning), # removed in VS2017 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4800") + ELSE() + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /d2OptimizeHugeFunctions") ENDIF() ENDIF() -- cgit v1.2.1