EVOLUTION-MANAGER
Edit File: galera_gcs_fc_limit.test
# # Test that under gcs.fc_limit=1 on the slave, transactions on the master can not commit. # --source include/galera_cluster.inc --source include/have_innodb.inc CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB; INSERT INTO t1 VALUES (1); --connection node_2 SELECT COUNT(*) = 1 FROM t1; --sleep 1 --let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options` SET GLOBAL wsrep_provider_options = 'gcs.fc_limit=1'; # Block the slave applier thread LOCK TABLE t1 WRITE; --connection node_1 --sleep 1 INSERT INTO t1 VALUES (2); --sleep 2 INSERT INTO t1 VALUES (3); --sleep 2 INSERT INTO t1 VALUES (4); --sleep 2 # This query will hang because flow control will kick in --send INSERT INTO t1 VALUES (5); --sleep 2 --let $galera_connection_name = node_1a --let $galera_server_number = 1 --source include/galera_connect.inc --connection node_1a --let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'Commit' AND INFO = 'INSERT INTO t1 VALUES (5)'; --source include/wait_condition.inc --connection node_2 # Unblock the slave applier thread UNLOCK TABLES; --connection node_1 --reap INSERT INTO t1 VALUES (6); --connection node_2 # Replication catches up and continues normally SELECT COUNT(*) = 6 FROM t1; --disable_query_log --eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_orig'; --enable_query_log DROP TABLE t1;