Commit bb9e547a authored by Venkatesh Duggirala's avatar Venkatesh Duggirala

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.
parent fedfba21
...@@ -28,7 +28,6 @@ include/stop_slave.inc ...@@ -28,7 +28,6 @@ include/stop_slave.inc
SET GLOBAL rpl_semi_sync_slave_enabled = OFF; SET GLOBAL rpl_semi_sync_slave_enabled = OFF;
include/start_slave.inc include/start_slave.inc
UNINSTALL PLUGIN rpl_semi_sync_slave; UNINSTALL PLUGIN rpl_semi_sync_slave;
include/assert.inc [semi sync master clients should be 0.]
UNINSTALL PLUGIN rpl_semi_sync_master; UNINSTALL PLUGIN rpl_semi_sync_master;
CREATE TABLE t1(i int); CREATE TABLE t1(i int);
INSERT INTO t1 values (3); INSERT INTO t1 values (3);
......
...@@ -125,12 +125,11 @@ SET GLOBAL rpl_semi_sync_slave_enabled = OFF; ...@@ -125,12 +125,11 @@ SET GLOBAL rpl_semi_sync_slave_enabled = OFF;
# Step 4.4: Uninstall semi sync plugin, it should be successful now. # Step 4.4: Uninstall semi sync plugin, it should be successful now.
UNINSTALL PLUGIN rpl_semi_sync_slave; 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 --connection master
--let $master_clients=[show status like "Rpl_semi_sync_master_clients", Value, 1] --let $status_var= Rpl_semi_sync_master_clients
--let assert_cond= $master_clients = 0 --let $status_var_value= 0
--let assert_text= semi sync master clients should be 0. --source include/wait_for_status_var.inc
--source include/assert.inc
# Step 4.6: So uninstalling semi sync plugin should be allowed # Step 4.6: So uninstalling semi sync plugin should be allowed
UNINSTALL PLUGIN rpl_semi_sync_master; UNINSTALL PLUGIN rpl_semi_sync_master;
......
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