Skip to content

Commit 8dae715

Browse files
ayurchensysprg
authored andcommitted
MTR test to verify that Galera gcs.stateless flag works
Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
1 parent 03ae1f5 commit 8dae715

File tree

3 files changed

+71
-0
lines changed

3 files changed

+71
-0
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
connection node_2;
2+
connection node_1;
3+
# Correct Galera library found
4+
connection node_1;
5+
connection node_2;
6+
connection node_3;
7+
connection node_3;
8+
connection node_2;
9+
connection node_3;
10+
# restart
11+
include/assert_grep.inc [DONOR]
12+
include/assert_grep.inc [DONOR]
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
!include ../galera_3nodes.cnf
2+
3+
[mysqld.2]
4+
wsrep_provider_options="gcs.stateless=1"
5+
6+
# make node3 prefer node2 for donor, but also allow other nodes
7+
[mysqld.3]
8+
wsrep_sst_donor=node2,
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#
2+
# Test that a node marked as stateless is not chosen as a donor.
3+
# For that purpose
4+
# - set stateless flag for node2 in .cnf
5+
# - configure node3 to prefer node2 as SST donor in .cnf
6+
# - force SST for node3 after node2 is fully initialized
7+
# - check that node2 was not chosen as SST donor
8+
#
9+
10+
--source include/galera_cluster.inc
11+
--source include/have_perfschema.inc
12+
--source include/big_test.inc
13+
14+
# Make sure that the test is operating on the right version of galera library.
15+
--let $galera_version=26.4.23
16+
source ../wsrep/include/check_galera_version.inc;
17+
18+
--let $galera_connection_name = node_3
19+
--let $galera_server_number = 3
20+
--source include/galera_connect.inc
21+
22+
--let $node_1=node_1
23+
--let $node_2=node_2
24+
--let $node_3=node_3
25+
--source suite/galera/include/auto_increment_offset_save.inc
26+
27+
--connection node_3
28+
--source include/shutdown_mysqld.inc
29+
--remove_file $MYSQLTEST_VARDIR/mysqld.3/data/grastate.dat
30+
31+
# make sure node_2 is ready to be a DONOR
32+
--connection node_2
33+
--let $wait_condition = SELECT VARIABLE_VALUE = 'ON' FROM performance_schema.global_status WHERE VARIABLE_NAME = 'wsrep_ready'
34+
--source include/wait_condition.inc
35+
36+
--connection node_3
37+
--source include/start_mysqld.inc
38+
39+
--source suite/galera/include/auto_increment_offset_restore.inc
40+
41+
--let $assert_only_after = CURRENT_TEST
42+
--let $assert_text = DONOR
43+
--let $assert_select = DONOR
44+
45+
--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.1.err
46+
--let $assert_count = 6
47+
--source include/assert_grep.inc
48+
49+
--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.2.err
50+
--let $assert_count = 0
51+
--source include/assert_grep.inc

0 commit comments

Comments
 (0)