10 changed files with 290 additions and 5 deletions
			
			
		- 
					56mysql-test/main/selectivity.result
- 
					32mysql-test/main/selectivity.test
- 
					56mysql-test/main/selectivity_innodb.result
- 
					40mysql-test/suite/rpl/r/rpl_semi_sync_gtid_reconnect.result
- 
					74mysql-test/suite/rpl/t/rpl_semi_sync_gtid_reconnect.test
- 
					7scripts/wsrep_sst_mariabackup.sh
- 
					5sql/sql_repl.cc
- 
					4sql/sql_select.cc
- 
					20sql/table.cc
- 
					1sql/table.h
| @ -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 | |||
| @ -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 | |||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue