mirror of
https://github.com/MariaDB/server.git
synced 2025-07-18 01:08:14 +02:00
76 lines
2.3 KiB
Text
76 lines
2.3 KiB
Text
#
|
|
# Test progress output during IST
|
|
#
|
|
|
|
--source include/galera_cluster.inc
|
|
# This could cause out of storage if run /dev/shm
|
|
--source include/big_test.inc
|
|
|
|
# Isolate node #2
|
|
--connection node_2
|
|
SET GLOBAL wsrep_provider_options = 'gmcast.isolate = 1';
|
|
|
|
--connection node_1
|
|
--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
|
--source include/wait_condition.inc
|
|
|
|
--connection node_2
|
|
SET SESSION wsrep_on = OFF;
|
|
--let $wait_condition = SELECT VARIABLE_VALUE = 'non-Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
|
|
--source include/wait_condition.inc
|
|
SET SESSION wsrep_on = ON;
|
|
|
|
# Node #2 is now isolated. Run some transactions to accumulate writesets for IST
|
|
|
|
--connection node_1
|
|
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t1 VALUES (2);
|
|
INSERT INTO t1 VALUES (3);
|
|
INSERT INTO t1 VALUES (4);
|
|
INSERT INTO t1 VALUES (5);
|
|
INSERT INTO t1 VALUES (6);
|
|
INSERT INTO t1 VALUES (7);
|
|
INSERT INTO t1 VALUES (8);
|
|
INSERT INTO t1 VALUES (9);
|
|
INSERT INTO t1 VALUES (10);
|
|
|
|
# Restore node #2, IST is performed
|
|
|
|
--connection node_2
|
|
SET GLOBAL wsrep_provider_options = 'gmcast.isolate = 0';
|
|
|
|
--connection node_1
|
|
--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
|
|
--source include/wait_condition.inc
|
|
|
|
--connection node_2
|
|
--let $wait_condition = SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
|
|
--source include/wait_condition.inc
|
|
|
|
#
|
|
# Grep for expected IST output in joiner log
|
|
#
|
|
|
|
--connection node_1
|
|
|
|
--let $assert_count = 1
|
|
--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.2.err
|
|
--let $assert_only_after = Need state transfer
|
|
|
|
--let $assert_text = Receiving IST: 11 writesets, seqnos
|
|
--let $assert_select = Receiving IST: 11 writesets, seqnos
|
|
--source include/assert_grep.inc
|
|
|
|
--let $assert_text = Receiving IST\.\.\. 0\.0% \( 0/11 events\) complete
|
|
--let $assert_select = Receiving IST\.\.\. 0\.0% \( 0/11 events\) complete
|
|
--source include/assert_grep.inc
|
|
|
|
--let $assert_text = Receiving IST\.\.\.100\.0% \(11/11 events\) complete
|
|
--let $assert_select = Receiving IST\.\.\.100\.0% \(11/11 events\) complete
|
|
--source include/assert_grep.inc
|
|
|
|
# Cleanup
|
|
|
|
--connection node_1
|
|
DROP TABLE t1;
|