Commit c0ea3056 authored by Andrei Elkin's avatar Andrei Elkin Committed by Monty

MDEV-13073. This is a part with a new test (refined Ali's

one) and affected result files.

Specifically to rpl_semi_sync_after_sync*, the changed results reflect
a fact that thanks to fixes in the dump thread functionality
there's no longer zombie thread to kill neither such thread represent
a semisync client (so the counter drops).
parent 74b35b68
...@@ -1014,9 +1014,15 @@ The following options may be given as the first argument: ...@@ -1014,9 +1014,15 @@ The following options may be given as the first argument:
Should transaction wait for semi-sync ack after having Should transaction wait for semi-sync ack after having
synced binlog, or after having committed in storage synced binlog, or after having committed in storage
engine.. One of: AFTER_SYNC, AFTER_COMMIT engine.. One of: AFTER_SYNC, AFTER_COMMIT
--rpl-semi-sync-slave-delay-master
Only write master info file when ack is needed.
--rpl-semi-sync-slave-enabled --rpl-semi-sync-slave-enabled
Enable semi-synchronous replication slave (disabled by Enable semi-synchronous replication slave (disabled by
default). default).
--rpl-semi-sync-slave-kill-conn-timeout[=#]
Timeout for the mysql connection used to kill the slave
io_thread's connection on master. This timeout comes into
play when stop slave is executed.
--rpl-semi-sync-slave-trace-level=# --rpl-semi-sync-slave-trace-level=#
The tracing level for semi-sync replication. The tracing level for semi-sync replication.
--safe-mode Skip some optimize stages (for testing). Deprecated. --safe-mode Skip some optimize stages (for testing). Deprecated.
...@@ -1595,7 +1601,9 @@ rpl-semi-sync-master-timeout 10000 ...@@ -1595,7 +1601,9 @@ rpl-semi-sync-master-timeout 10000
rpl-semi-sync-master-trace-level 32 rpl-semi-sync-master-trace-level 32
rpl-semi-sync-master-wait-no-slave TRUE rpl-semi-sync-master-wait-no-slave TRUE
rpl-semi-sync-master-wait-point AFTER_COMMIT rpl-semi-sync-master-wait-point AFTER_COMMIT
rpl-semi-sync-slave-delay-master FALSE
rpl-semi-sync-slave-enabled FALSE rpl-semi-sync-slave-enabled FALSE
rpl-semi-sync-slave-kill-conn-timeout 5
rpl-semi-sync-slave-trace-level 32 rpl-semi-sync-slave-trace-level 32
safe-user-create FALSE safe-user-create FALSE
secure-auth TRUE secure-auth TRUE
......
This diff is collapsed.
...@@ -5,6 +5,7 @@ connection master; ...@@ -5,6 +5,7 @@ connection master;
call mtr.add_suppression("Timeout waiting for reply of binlog"); call mtr.add_suppression("Timeout waiting for reply of binlog");
call mtr.add_suppression("Read semi-sync reply"); call mtr.add_suppression("Read semi-sync reply");
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT."); call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.");
call mtr.add_suppression("mysqld: Got an error reading communication packets");
connection slave; connection slave;
call mtr.add_suppression("Master server does not support semi-sync"); call mtr.add_suppression("Master server does not support semi-sync");
call mtr.add_suppression("Semi-sync slave .* reply"); call mtr.add_suppression("Semi-sync slave .* reply");
...@@ -177,7 +178,7 @@ Variable_name Value ...@@ -177,7 +178,7 @@ Variable_name Value
Rpl_semi_sync_master_yes_tx 16 Rpl_semi_sync_master_yes_tx 16
show status like 'Rpl_semi_sync_master_clients'; show status like 'Rpl_semi_sync_master_clients';
Variable_name Value Variable_name Value
Rpl_semi_sync_master_clients 1 Rpl_semi_sync_master_clients 0
[ semi-sync replication of these transactions will fail ] [ semi-sync replication of these transactions will fail ]
insert into t1 values (500); insert into t1 values (500);
[ master status should be OFF ] [ master status should be OFF ]
...@@ -322,7 +323,6 @@ connection slave; ...@@ -322,7 +323,6 @@ connection slave;
include/stop_slave.inc include/stop_slave.inc
reset slave; reset slave;
connection master; connection master;
kill query _tid;
connection slave; connection slave;
include/start_slave.inc include/start_slave.inc
connection master; connection master;
...@@ -354,7 +354,6 @@ include/stop_slave.inc ...@@ -354,7 +354,6 @@ include/stop_slave.inc
reset slave; reset slave;
connection master; connection master;
reset master; reset master;
kill query _tid;
set sql_log_bin=0; set sql_log_bin=0;
grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl_password'; grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl_password';
flush privileges; flush privileges;
...@@ -405,7 +404,6 @@ SHOW STATUS LIKE 'Rpl_semi_sync_slave_status'; ...@@ -405,7 +404,6 @@ SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
Variable_name Value Variable_name Value
Rpl_semi_sync_slave_status OFF Rpl_semi_sync_slave_status OFF
connection master; connection master;
kill query _tid;
[ Semi-sync status on master should be ON ] [ Semi-sync status on master should be ON ]
show status like 'Rpl_semi_sync_master_clients'; show status like 'Rpl_semi_sync_master_clients';
Variable_name Value Variable_name Value
......
...@@ -5,6 +5,7 @@ connection master; ...@@ -5,6 +5,7 @@ connection master;
call mtr.add_suppression("Timeout waiting for reply of binlog"); call mtr.add_suppression("Timeout waiting for reply of binlog");
call mtr.add_suppression("Read semi-sync reply"); call mtr.add_suppression("Read semi-sync reply");
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT."); call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.");
call mtr.add_suppression("mysqld: Got an error reading communication packets");
connection slave; connection slave;
call mtr.add_suppression("Master server does not support semi-sync"); call mtr.add_suppression("Master server does not support semi-sync");
call mtr.add_suppression("Semi-sync slave .* reply"); call mtr.add_suppression("Semi-sync slave .* reply");
...@@ -177,7 +178,7 @@ Variable_name Value ...@@ -177,7 +178,7 @@ Variable_name Value
Rpl_semi_sync_master_yes_tx 14 Rpl_semi_sync_master_yes_tx 14
show status like 'Rpl_semi_sync_master_clients'; show status like 'Rpl_semi_sync_master_clients';
Variable_name Value Variable_name Value
Rpl_semi_sync_master_clients 1 Rpl_semi_sync_master_clients 0
[ semi-sync replication of these transactions will fail ] [ semi-sync replication of these transactions will fail ]
insert into t1 values (500); insert into t1 values (500);
[ master status should be OFF ] [ master status should be OFF ]
...@@ -322,7 +323,6 @@ connection slave; ...@@ -322,7 +323,6 @@ connection slave;
include/stop_slave.inc include/stop_slave.inc
reset slave; reset slave;
connection master; connection master;
kill query _tid;
connection slave; connection slave;
include/start_slave.inc include/start_slave.inc
connection master; connection master;
...@@ -354,7 +354,6 @@ include/stop_slave.inc ...@@ -354,7 +354,6 @@ include/stop_slave.inc
reset slave; reset slave;
connection master; connection master;
reset master; reset master;
kill query _tid;
set sql_log_bin=0; set sql_log_bin=0;
grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl_password'; grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl_password';
flush privileges; flush privileges;
...@@ -405,7 +404,6 @@ SHOW STATUS LIKE 'Rpl_semi_sync_slave_status'; ...@@ -405,7 +404,6 @@ SHOW STATUS LIKE 'Rpl_semi_sync_slave_status';
Variable_name Value Variable_name Value
Rpl_semi_sync_slave_status OFF Rpl_semi_sync_slave_status OFF
connection master; connection master;
kill query _tid;
[ Semi-sync status on master should be ON ] [ Semi-sync status on master should be ON ]
show status like 'Rpl_semi_sync_master_clients'; show status like 'Rpl_semi_sync_master_clients';
Variable_name Value Variable_name Value
......
This diff is collapsed.
...@@ -4071,6 +4071,20 @@ NUMERIC_BLOCK_SIZE NULL ...@@ -4071,6 +4071,20 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST AFTER_SYNC,AFTER_COMMIT ENUM_VALUE_LIST AFTER_SYNC,AFTER_COMMIT
READ_ONLY NO READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME RPL_SEMI_SYNC_SLAVE_DELAY_MASTER
SESSION_VALUE NULL
GLOBAL_VALUE OFF
GLOBAL_VALUE_ORIGIN COMPILE-TIME
DEFAULT_VALUE OFF
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE BOOLEAN
VARIABLE_COMMENT Only write master info file when ack is needed.
NUMERIC_MIN_VALUE NULL
NUMERIC_MAX_VALUE NULL
NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME RPL_SEMI_SYNC_SLAVE_ENABLED VARIABLE_NAME RPL_SEMI_SYNC_SLAVE_ENABLED
SESSION_VALUE NULL SESSION_VALUE NULL
GLOBAL_VALUE OFF GLOBAL_VALUE OFF
...@@ -4085,6 +4099,20 @@ NUMERIC_BLOCK_SIZE NULL ...@@ -4085,6 +4099,20 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST OFF,ON ENUM_VALUE_LIST OFF,ON
READ_ONLY NO READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME RPL_SEMI_SYNC_SLAVE_KILL_CONN_TIMEOUT
SESSION_VALUE NULL
GLOBAL_VALUE 5
GLOBAL_VALUE_ORIGIN COMPILE-TIME
DEFAULT_VALUE 5
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE INT UNSIGNED
VARIABLE_COMMENT Timeout for the mysql connection used to kill the slave io_thread's connection on master. This timeout comes into play when stop slave is executed.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 4294967295
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME RPL_SEMI_SYNC_SLAVE_TRACE_LEVEL VARIABLE_NAME RPL_SEMI_SYNC_SLAVE_TRACE_LEVEL
SESSION_VALUE NULL SESSION_VALUE NULL
GLOBAL_VALUE 32 GLOBAL_VALUE 32
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment