1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
# ==== Purpose ====
#
# Test the behavior of mysql server replication with the transaction boundary
# parser.
#
# This test will insert data in the master while the slave will have some debug
# sync points activated to stop the IO thread in the middle of the transaction
# what will cause the transactions to be spanned along distinct relay log files.
#
# As the GTID auto positioning protocol will retrieved the partial transactions
# from the beginning, we repeat the test again disabling GTID auto positioning.
#
# ==== Related Bugs and Worklogs ====
#
# BUG#17943188: SHOW SLAVE STATUS/RETRIEVED_GTID_SET MAY HAVE PARTIAL TRX OR
# MISS COMPLETE TRX
#
# This test should run only on debug build
--source include/have_debug.inc
# This test uses debug sync to stop the IO thread in the middle of a transaction
--source include/have_debug_sync.inc
--source include/force_myisam_default.inc
--source include/have_myisam.inc
--let $rpl_gtid_utils= 1
--source include/have_binlog_format_statement.inc
--source include/master-slave.inc
--echo # Using MyISAM storage engine
--let $storage_engine= MyISAM
--source extra/rpl_tests/rpl_trx_boundary_parser.inc
#
# As we are going to use GTID related checks for the IO thread after
# a CHANGE MASTER, we will first reset both slave and master to avoid
# problems with the gtid related mtr includes.
#
--source include/rpl_connection_slave.inc
--source include/stop_slave.inc
RESET MASTER;
RESET SLAVE;
--source include/rpl_connection_master.inc
RESET MASTER;
#
# Disabling slave's auto positioning
#
--source include/rpl_connection_slave.inc
CHANGE REPLICATION SOURCE TO SOURCE_AUTO_POSITION= 0;
--source include/start_slave.inc
--echo # Using MyISAM storage engine without auto positioning
--let $storage_engine= MyISAM
--source extra/rpl_tests/rpl_trx_boundary_parser.inc
# Enabling slave's auto positioning again
#
--source include/rpl_connection_slave.inc
--source include/stop_slave.inc
CHANGE REPLICATION SOURCE TO SOURCE_AUTO_POSITION= 1;
--source include/start_slave.inc
--source include/rpl_end.inc
|