# # Test Flush tables with read lock along with # flush tables with read lock for compatibility. # Also, making sure all DDL and DMLs are propagated # after provider is unpaused # --source include/galera_cluster.inc --source include/have_innodb.inc --let $galera_connection_name = node_2a --let $galera_server_number = 2 --source include/galera_connect.inc --connection node_1 CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB; INSERT INTO t1 VALUES (1); --connection node_2 SET session wsrep_sync_wait=0; SET session wsrep_causal_reads=OFF; FLUSH TABLE WITH READ LOCK; --connection node_1 ALTER TABLE t1 ADD COLUMN f2 INTEGER; INSERT INTO t1 VALUES (2,3); --connection node_2a SET session wsrep_sync_wait=0; SET session wsrep_causal_reads=OFF; SHOW CREATE TABLE t1; --sleep 1 --send FLUSH TABLES t1 WITH READ LOCK; --connection node_2 # let the flush table wait in pause state before we unlock # table otherwise there is window where-in flush table is # yet to wait in pause and unlock allows alter table to proceed. # this is because send in asynchronous. --sleep 3 # this will release existing lock but will not resume # the cluster as there is new FTRL that is still pausing it. UNLOCK TABLES; SHOW CREATE TABLE t1; --connection node_2a --reap UNLOCK TABLES; --sleep 2 SHOW CREATE TABLE t1; SELECT * from t1; --connection node_1 DROP TABLE t1;