Bug#18950197 RPL_SEMI_SYNC_UNINSTALL_PLUGIN FAILS BECAUSE

RPL_SEMI_SYNC_MASTER_CLIENTS=1

Analysis: Uninstalling rpl_semi_sync_slave on slave
          will trigger removing the slave logic on Master which
          will reduce Rpl_semi_sync_master_clients by one number.
          But it happens asynchronously on Master. Having assert
          to check this value with zero will have problems on
          slow pb2 machines.

Fix: Change assert into wait_for_status_var condition.
This commit is contained in:
Venkatesh Duggirala 2017-05-24 16:12:57 +05:30
parent fedfba2171
commit bb9e547a86
2 changed files with 4 additions and 6 deletions

View File

@ -28,7 +28,6 @@ include/stop_slave.inc
SET GLOBAL rpl_semi_sync_slave_enabled = OFF;
include/start_slave.inc
UNINSTALL PLUGIN rpl_semi_sync_slave;
include/assert.inc [semi sync master clients should be 0.]
UNINSTALL PLUGIN rpl_semi_sync_master;
CREATE TABLE t1(i int);
INSERT INTO t1 values (3);

View File

@ -125,12 +125,11 @@ SET GLOBAL rpl_semi_sync_slave_enabled = OFF;
# Step 4.4: Uninstall semi sync plugin, it should be successful now.
UNINSTALL PLUGIN rpl_semi_sync_slave;
# Step 4.5: On Master, check that semi sync slaves are now '0'.
# Step 4.5: On Master, wait until semi sync slaves is '0'.
--connection master
--let $master_clients=[show status like "Rpl_semi_sync_master_clients", Value, 1]
--let assert_cond= $master_clients = 0
--let assert_text= semi sync master clients should be 0.
--source include/assert.inc
--let $status_var= Rpl_semi_sync_master_clients
--let $status_var_value= 0
--source include/wait_for_status_var.inc
# Step 4.6: So uninstalling semi sync plugin should be allowed
UNINSTALL PLUGIN rpl_semi_sync_master;