1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge 10.4 into 10.5

This commit is contained in:
Marko Mäkelä
2019-11-12 17:21:37 +02:00
20 changed files with 615 additions and 549 deletions

View File

@@ -122,11 +122,11 @@ SET GLOBAL master_verify_checksum=0;
SET GLOBAL debug_dbug="+d,corrupt_read_log_event2_set";
--connection slave
START SLAVE IO_THREAD;
# When the checksum error is detected, the slave sets error code 1913
# When the checksum error is detected, the slave sets error code 1743
# (ER_NETWORK_READ_EVENT_CHECKSUM_FAILURE) in queue_event(), then immediately
# sets error 1595 (ER_SLAVE_RELAY_LOG_WRITE_FAILURE) in handle_slave_io().
# So we usually get 1595, but it is occasionally possible to get 1913.
let $slave_io_errno= 1595,1913;
# So we usually get 1595, but it is occasionally possible to get 1743.
let $slave_io_errno= 1595,1743; # ER_SLAVE_RELAY_LOG_WRITE_FAILURE, ER_NETWORK_READ_EVENT_CHECKSUM_FAILURE
--source include/wait_for_slave_io_error.inc
--connection master
SET GLOBAL debug_dbug="-d,corrupt_read_log_event2_set";
@@ -138,7 +138,7 @@ SET GLOBAL master_verify_checksum=1;
--connection slave
SET GLOBAL debug_dbug="+d,corrupt_queue_event";
START SLAVE IO_THREAD;
let $slave_io_errno= 1595,1913;
let $slave_io_errno= 1595,1743; # ER_SLAVE_RELAY_LOG_WRITE_FAILURE, ER_NETWORK_READ_EVENT_CHECKSUM_FAILURE
--source include/wait_for_slave_io_error.inc
SET GLOBAL debug_dbug="-d,corrupt_queue_event";

View File

@@ -30,7 +30,7 @@ SET GLOBAL master_verify_checksum=0;
SET GLOBAL debug_dbug="+d,corrupt_read_log_event2_set";
connection slave;
START SLAVE IO_THREAD;
include/wait_for_slave_io_error.inc [errno=1595,1913]
include/wait_for_slave_io_error.inc [errno=1595,1743]
connection master;
SET GLOBAL debug_dbug="-d,corrupt_read_log_event2_set";
SET GLOBAL debug_dbug= "";
@@ -39,7 +39,7 @@ SET GLOBAL master_verify_checksum=1;
connection slave;
SET GLOBAL debug_dbug="+d,corrupt_queue_event";
START SLAVE IO_THREAD;
include/wait_for_slave_io_error.inc [errno=1595,1913]
include/wait_for_slave_io_error.inc [errno=1595,1743]
SET GLOBAL debug_dbug="-d,corrupt_queue_event";
# 6. Slave. Corruption in relay log
SET GLOBAL debug_dbug="+d,corrupt_read_log_event_char";

View File

@@ -0,0 +1,40 @@
include/master-slave.inc
[connection master]
connection master;
RESET MASTER;
SET @@GLOBAL.rpl_semi_sync_master_enabled = 1;
connection slave;
include/stop_slave.inc
SET @@GLOBAL. rpl_semi_sync_slave_enabled = 1;
include/start_slave.inc
connection master;
CREATE TABLE t1 (a INT);
INSERT INTO t1 SET a = 1;
include/save_master_gtid.inc
FLUSH LOGS;
INSERT INTO t1 SET a = 2;
connection slave;
connection slave;
include/stop_slave_sql.inc
connection master;
INSERT INTO t1 SET a = 3;
include/sync_slave_io_with_master.inc
connection slave;
include/stop_slave_io.inc
connection master;
RESET MASTER;
SET @@global.gtid_binlog_state = '0-1-2';
connection slave;
CHANGE MASTER TO MASTER_USE_GTID = slave_pos;
SET @@global.gtid_slave_pos = '0-1-2';
include/start_slave.inc
connection master;
INSERT INTO t1 SET a = 4;
connection master;
DROP TABLE t1;
SET @@GLOBAL. rpl_semi_sync_master_enabled = 0;
connection slave;
include/stop_slave.inc
SET @@GLOBAL. rpl_semi_sync_slave_enabled = 0;
include/start_slave.inc
include/rpl_end.inc

View File

@@ -0,0 +1,74 @@
source include/not_embedded.inc;
source include/have_binlog_format_mixed.inc;
source include/master-slave.inc;
#
# Semisync initialization
#
--connection master
RESET MASTER;
--let $sav_enabled_master=`SELECT @@GLOBAL.rpl_semi_sync_master_enabled`
SET @@GLOBAL.rpl_semi_sync_master_enabled = 1;
--connection slave
source include/stop_slave.inc;
--let $sav_enabled_slave=`SELECT @@GLOBAL.rpl_semi_sync_slave_enabled`
SET @@GLOBAL. rpl_semi_sync_slave_enabled = 1;
source include/start_slave.inc;
# Prove fixes to
# MDEV-19376 Assert (!m_active_tranxs->is_tranx_end_pos(trx_wait_binlog_name...)
#
#
# Run few queries to replicate/execute on slave.
# Stop the slave applier.
# Replicate/not-executed few more.
# Restart the slave.
#
--connection master
CREATE TABLE t1 (a INT);
INSERT INTO t1 SET a = 1;
--source include/save_master_gtid.inc
--let $resume_gtid = $master_pos
FLUSH LOGS;
INSERT INTO t1 SET a = 2;
--sync_slave_with_master
--connection slave
--source include/stop_slave_sql.inc
--connection master
INSERT INTO t1 SET a = 3;
# the sync connection is 'slave' by default
--source include/sync_slave_io_with_master.inc
--connection slave
--source include/stop_slave_io.inc
--connection master
RESET MASTER;
--eval SET @@global.gtid_binlog_state = '$resume_gtid'
# The resume gtid is set up to point to the very first binlog file
--connection slave
CHANGE MASTER TO MASTER_USE_GTID = slave_pos;
--eval SET @@global.gtid_slave_pos = '$resume_gtid'
# Yet the slave io first submits the last received binlog file name:pos.
--source include/start_slave.inc
# Here goes the cracker.
--connection master
INSERT INTO t1 SET a = 4;
#
# Clean up
#
--connection master
DROP TABLE t1;
--eval SET @@GLOBAL. rpl_semi_sync_master_enabled = $sav_enabled_master
--sync_slave_with_master
source include/stop_slave.inc;
--eval SET @@GLOBAL. rpl_semi_sync_slave_enabled = $sav_enabled_slave
source include/start_slave.inc;
--source include/rpl_end.inc