mariadb/mysql-test/suite/rpl/include
Kristian Nielsen b03469a9cf MDEV-34705: Binlog-in-engine: Protect against concurrent RESET MASTER and dump threads
This is actually an existing problem in the old binlog implementation, and
this patch is applicable to old binlog also. The problem is that RESET
MASTER can run concurrently with binlog dump threads / connected slaves.
This will remove the binlog from under the feet of the reader, which can
cause all sorts of strange behaviour.

This patch fixes the problem by disallowing to run RESET MASTER when dump
threads (or other RESET MASTER or SHOW BINARY LOGS) are running. An error is
thrown in this case, user must stop slaves and/or kill dump threads to make
the RESET MASTER go through. A slave that connects in the middle of RESET
MASTER will wait for it to complete.

Fix a lot of test cases to kill any lingering dump threads before doing
RESET MASTER, mostly just by sourcing include/kill_binlog_dump_threads.inc.

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
2025-07-03 14:44:52 +02:00
..
check_type.inc MDEV-31005: Make working cursor-protocol 2024-09-18 18:39:26 +07:00
create_or_drop_sync_func.inc MDEV-30323 Some DDLs like ANALYZE can complete on parallel slave out of order 2023-01-24 20:18:03 +02:00
create_recursive_construct.inc Merge branch '10.2' into 10.3 2019-03-17 13:06:41 +01:00
delayed_slave_wait_on_query.inc Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
hrtime.inc MDEV-3929 Add system variable explicit_defaults_for_timestamp for compatibility with MySQL 2015-09-22 14:01:54 +04:00
mdev-31448_conservative.inc Merge branch '10.5' into 10.6 2023-12-17 11:20:43 +01:00
mdev-31448_optimistic.inc Merge branch '10.5' into 10.6 2023-12-17 11:20:43 +01:00
multisource.inc MDEV-31857 enable --ssl-verify-server-cert by default in the internal client 2024-02-04 22:19:19 +01:00
mysqlbinlog_slave_consistency.inc MDEV-34705: Binlog-in-engine: Protect against concurrent RESET MASTER and dump threads 2025-07-03 14:44:52 +02:00
rpl_auto_increment.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_auto_increment_insert_view.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_auto_increment_invoke_trigger.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_autoinc_func_invokes_trigger.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_binlog_max_cache_size.inc Renaming a few mysql-test/suite/rpl/include/*.test files into *.inc 2024-07-09 08:46:40 +04:00
rpl_blackhole.test Merge branch '10.2' into 10.3 2019-06-14 07:36:47 +02:00
rpl_blackhole_basic.test Merge branch '10.2' into 10.3 2019-06-14 07:36:47 +02:00
rpl_change_master_demote.inc Merge branch '11.3' into 11.4 2024-02-15 13:53:21 +01:00
rpl_charset.inc Renaming a few mysql-test/suite/rpl/include/*.test files into *.inc 2024-07-09 08:46:40 +04:00
rpl_check_table_consistency.inc MDEV-20119: Implement the --do-domain-ids, --ignore-domain-ids, and --ignore-server-ids options for mysqlbinlog 2022-04-19 11:09:24 -06:00
rpl_commit_after_flush.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_conflicts.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_ddl.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_deadlock.test MDEV-19801: Change defaults for CHANGE MASTER TO so that GTID-based replication is used by default if master supports it 2022-07-26 13:31:27 -06:00
rpl_delete_no_where.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_drop_create_temp_table.inc Merge branch '10.2' into 10.3 2021-11-05 19:58:32 +01:00
rpl_drop_create_temp_table.test Merge branch '10.2' into 10.3 2021-11-05 19:58:32 +01:00
rpl_EE_err.test Changed FLUSH TABLES to not change share version 2018-12-09 22:12:26 +02:00
rpl_extra_col_master.inc MDEV-34705: Binlog-in-engine: Protect against concurrent RESET MASTER and dump threads 2025-07-03 14:44:52 +02:00
rpl_extra_col_slave.test MDEV-34705: Binlog-in-engine: Protect against concurrent RESET MASTER and dump threads 2025-07-03 14:44:52 +02:00
rpl_failed_optimize.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_flsh_tbls.test MDEV-19801: Change defaults for CHANGE MASTER TO so that GTID-based replication is used by default if master supports it 2022-07-26 13:31:27 -06:00
rpl_get_master_version_and_clock.test MDEV-32104 remove deprecated features 2023-09-30 14:43:12 +02:00
rpl_gtid_index.inc MDEV-34705: Binlog-in-engine: Read side of out-of-band binlogging 2025-04-06 10:01:50 +02:00
rpl_gtid_index_cleanup.inc MDEV-34705: Binlog-in-engine: Working replication to slave 2025-04-06 10:00:17 +02:00
rpl_gtid_index_setup.inc MDEV-34705: Binlog-in-engine: Working replication to slave 2025-04-06 10:00:17 +02:00
rpl_gtid_until_before_after_gtids.test MDEV-34705: Binlog-in-engine: Protect against concurrent RESET MASTER and dump threads 2025-07-03 14:44:52 +02:00
rpl_implicit_commit_binlog.test Merge branch '10.2' into 10.3 2018-05-11 13:15:10 +02:00
rpl_innodb.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_insert_delayed.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_insert_id.test MDEV-31003: Second execution for ps-protocol 2023-07-26 17:15:00 +07:00
rpl_insert_id_pk.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_insert_ignore.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_loaddata.test MDEV-34705: Binlog-in-engine: Protect against concurrent RESET MASTER and dump threads 2025-07-03 14:44:52 +02:00
rpl_loadfile.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_log.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_lower_case_table_names.test Merge 10.2 into 10.3 2018-11-06 09:40:39 +02:00
rpl_max_relay_size.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_mixed_check_db.inc MDEV-6720 - enable connection log in mysqltest by default 2016-03-31 10:11:16 +04:00
rpl_mixed_check_event.inc MDEV-6720 - enable connection log in mysqltest by default 2016-03-31 10:11:16 +04:00
rpl_mixed_check_select.inc MDEV-6720 - enable connection log in mysqltest by default 2016-03-31 10:11:16 +04:00
rpl_mixed_check_table.inc MDEV-6720 - enable connection log in mysqltest by default 2016-03-31 10:11:16 +04:00
rpl_mixed_check_user.inc MDEV-16238 root/localhost authn prioritizes authentication_string over Password 2018-06-21 10:15:27 +02:00
rpl_mixed_check_view.inc MDEV-6720 - enable connection log in mysqltest by default 2016-03-31 10:11:16 +04:00
rpl_mixed_clear_tables.inc copy from test-extra-5.1 to main tree 2007-02-06 13:35:54 +01:00
rpl_mixed_ddl.inc MDEV-6720 - enable connection log in mysqltest by default 2016-03-31 10:11:16 +04:00
rpl_mixed_dml.inc UUID() function should return UUID, not VARCHAR(36) 2021-10-29 18:29:02 +02:00
rpl_mixed_show_binlog_format.inc copy from test-extra-5.1 to main tree 2007-02-06 13:35:54 +01:00
rpl_mixing_engines.inc MDEV-31003: Second execution for ps-protocol 2023-07-26 17:15:00 +07:00
rpl_mixing_engines.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_multi_query.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_multi_update.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_multi_update2.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_multi_update3.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_not_null.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_parallel_29322.inc MDEV-34705: Binlog-in-engine: Protect against concurrent RESET MASTER and dump threads 2025-07-03 14:44:52 +02:00
rpl_parallel_incorrect_relay_pos.inc MDEV-18648: slave_parallel_mode= optimistic default in 10.5 2019-12-23 17:48:01 +05:30
rpl_partition.inc MDEV-5798: Wrong errorcode for missing partition after TRUNCATE PARTITION 2024-12-05 08:17:35 +01:00
rpl_partition.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_record_compare.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_relayrotate.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_reset_slave.test MDEV-19801: Change defaults for CHANGE MASTER TO so that GTID-based replication is used by default if master supports it 2022-07-26 13:31:27 -06:00
rpl_reset_slave_all_check.inc MDEV-25284: Assertion `info->type == READ_CACHE || info->type == WRITE_CACHE' failed 2021-10-18 10:43:51 -06:00
rpl_row_annotate.test Changed FLUSH TABLES to not change share version 2018-12-09 22:12:26 +02:00
rpl_row_basic.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_row_blob.test MDEV-30985 Replica stops with error on ALTER ONLINE with Geometry Types 2023-08-15 10:16:13 +02:00
rpl_row_delayed_ins.test Changed FLUSH TABLES to not change share version 2018-12-09 22:12:26 +02:00
rpl_row_func003.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_row_img.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_row_img_blobs.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_row_img_sequence.inc MDEV-31003: Second execution for ps-protocol 2023-07-26 17:15:00 +07:00
rpl_row_sp002.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_row_sp003.test MDEV-31003: Second execution for ps-protocol 2023-07-26 17:15:00 +07:00
rpl_row_sp006.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_row_sp007.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_row_tabledefs.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_row_UUID.test MDEV-31003: Second execution for ps-protocol 2023-07-26 17:15:00 +07:00
rpl_set_null.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_set_statement.inc MDEV-6720 - enable connection log in mysqltest by default 2016-03-31 10:11:16 +04:00
rpl_show_binlog_events.inc Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_show_log_events_with_varying_options.inc Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_show_relaylog_events.inc Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_shutdown_wait_slaves.inc MDEV-32168: slave_error_param condition is never checked from the wait_for_slave_param.inc 2023-11-17 19:44:11 +01:00
rpl_slave_max_statement_time.inc MDEV-27161: Add option for SQL thread to limit maximum execution time per query replicated 2022-08-03 20:25:43 +03:00
rpl_start_stop_slave.test MDEV-34705: Binlog-in-engine: Protect against concurrent RESET MASTER and dump threads 2025-07-03 14:44:52 +02:00
rpl_stm_create_if_not_exists.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_stm_EE_err2.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_stop_middle_group.test MDEV-31005: Make working cursor-protocol 2024-09-18 18:39:26 +07:00
rpl_stop_slave.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_sv_relay_space.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_test_framework.inc Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_tmp_table_and_DDL.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_trig004.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_truncate.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_truncate_helper.test Move mysql-test-run/extra/rpl_tests to suite/rpl/include 2018-03-29 13:59:44 +03:00
rpl_xa_empty_transaction.inc MDEV-25616 XA PREPARE event group is not binlogged when.. 2022-10-25 12:56:33 +03:00
rpl_xa_empty_transaction_test_case.inc MDEV-25616 XA PREPARE event group is not binlogged when.. 2022-10-25 12:56:33 +03:00
rpl_xa_mixed_engines.inc MDEV-742 XA PREPAREd transaction survive disconnect/server restart 2020-03-14 22:45:48 +02:00
sql_multisource.inc MDEV-20119: Implement the --do-domain-ids, --ignore-domain-ids, and --ignore-server-ids options for mysqlbinlog 2022-04-19 11:09:24 -06:00
sql_out_of_order_gtid.inc MDEV-20119: Implement the --do-domain-ids, --ignore-domain-ids, and --ignore-server-ids options for mysqlbinlog 2022-04-19 11:09:24 -06:00
start_alter_basic.inc MDEV-11675 Lag Free Alter On Slave 2022-01-27 21:25:07 +02:00
start_alter_concurrent.inc MDEV-11675 Lag Free Alter On Slave 2022-01-27 21:25:07 +02:00
start_alter_include.inc MDEV-11675 Lag Free Alter On Slave 2022-01-27 21:25:07 +02:00
start_alter_options.inc MDEV-11675 Lag Free Alter On Slave 2022-01-27 21:25:07 +02:00
sync_with_master_sql_delay_debug_sync.inc MDEV-33500 (part 2): rpl.rpl_parallel_sbm can still fail 2024-09-17 06:29:20 -06:00
type_conversions.test Merge 10.2 into 10.3 2018-10-17 19:37:05 +03:00