Skip to content

Commit 395ce1d

Browse files
author
Jan Lindström
committed
MDEV-16021: galera mtr test galera_evs_suspect_timeout crashed
Crash was timeout crash. Add correct waits for connections, wsrep sync waits and auto increment offset save and restore.
1 parent cd87e4e commit 395ce1d

File tree

2 files changed

+48
-25
lines changed

2 files changed

+48
-25
lines changed
Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,35 @@
11
connection node_1;
2+
connection node_2;
3+
connection node_3;
4+
connection node_1;
25
SET GLOBAL wsrep_provider_options = 'evs.inactive_timeout=PT100M; evs.suspect_timeout=PT1S';
36
connection node_2;
47
SET GLOBAL wsrep_provider_options = 'evs.inactive_timeout=PT100M; evs.suspect_timeout=PT1S';
58
connection node_3;
69
Suspending node ...
710
connection node_1;
8-
SET SESSION wsrep_sync_wait = 0;
11+
SET SESSION wsrep_sync_wait=0;
912
SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
1013
VARIABLE_VALUE = 2
1114
1
12-
CREATE TABLE t1 (f1 INTEGER);
15+
CREATE TABLE t1 (f1 INTEGER) engine=InnoDB;
1316
INSERT INTO t1 VALUES (1);
1417
connection node_2;
15-
SET SESSION wsrep_sync_wait = 0;
18+
SET SESSION wsrep_sync_wait=0;
1619
SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
1720
VARIABLE_VALUE = 2
1821
1
19-
SET SESSION wsrep_sync_wait = DEFAULT;
20-
SELECT COUNT(*) = 1 FROM t1;
21-
COUNT(*) = 1
22+
SET SESSION wsrep_sync_wait = 15;
23+
SELECT COUNT(*) FROM t1;
24+
COUNT(*)
2225
1
23-
DROP TABLE t1;
2426
Resuming node ...
2527
connection node_3;
26-
CALL mtr.add_suppression("WSREP: gcs_caused() returned -1 \\(Operation not permitted\\)");
28+
CALL mtr.add_suppression("WSREP: gcs_caused.*");
29+
CALL mtr.add_suppression("WSREP: gcs/src/gcs_core.cpp:core_handle_uuid_msg.*");
30+
SET SESSION wsrep_sync_wait = 15;
31+
SELECT COUNT(*) FROM t1;
32+
COUNT(*)
33+
1
34+
connection node_1;
35+
DROP TABLE t1;

mysql-test/suite/galera_3nodes/t/galera_evs_suspect_timeout.test

Lines changed: 31 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,62 +7,76 @@
77
--source include/galera_cluster.inc
88
--source include/have_innodb.inc
99

10+
--let $galera_connection_name = node_3
11+
--let $galera_server_number = 3
12+
--source include/galera_connect.inc
13+
--let $wsrep_cluster_address_node3 = `SELECT @@wsrep_cluster_address`
14+
15+
# Save original auto_increment_offset values.
16+
--let $node_1=node_1
17+
--let $node_2=node_2
18+
--let $node_3=node_3
19+
--source ../galera/include/auto_increment_offset_save.inc
20+
1021
--connection node_1
1122
--let $wsrep_provider_options_node1 = `SELECT @@wsrep_provider_options`
1223
SET GLOBAL wsrep_provider_options = 'evs.inactive_timeout=PT100M; evs.suspect_timeout=PT1S';
1324

1425
--connection node_2
15-
--source include/wait_until_connected_again.inc
1626
--let $wsrep_provider_options_node2 = `SELECT @@wsrep_provider_options`
1727
SET GLOBAL wsrep_provider_options = 'evs.inactive_timeout=PT100M; evs.suspect_timeout=PT1S';
1828

19-
--let $galera_connection_name = node_3
20-
--let $galera_server_number = 3
21-
--source include/galera_connect.inc
22-
--connection node_3
23-
--source include/wait_until_connected_again.inc
24-
--let $wsrep_cluster_address_node3 = `SELECT @@wsrep_cluster_address`
25-
2629
# Suspend node #3
2730

31+
--connection node_3
2832
--source include/galera_suspend.inc
2933
--sleep 5
3034

3135
# Confirm that the other nodes have booted it out
3236

3337
--connection node_1
3438
--source include/wait_until_connected_again.inc
35-
SET SESSION wsrep_sync_wait = 0;
39+
SET SESSION wsrep_sync_wait=0;
3640
SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
3741
--disable_query_log
3842
--eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_node1';
3943
--enable_query_log
40-
4144
--source include/wait_until_connected_again.inc
42-
CREATE TABLE t1 (f1 INTEGER);
45+
46+
CREATE TABLE t1 (f1 INTEGER) engine=InnoDB;
4347
INSERT INTO t1 VALUES (1);
4448

4549
--connection node_2
46-
SET SESSION wsrep_sync_wait = 0;
50+
--source include/wait_until_connected_again.inc
51+
SET SESSION wsrep_sync_wait=0;
4752
SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
4853
--disable_query_log
4954
--eval SET GLOBAL wsrep_provider_options = '$wsrep_provider_options_node2';
5055
--enable_query_log
51-
5256
--source include/wait_until_connected_again.inc
53-
SET SESSION wsrep_sync_wait = DEFAULT;
54-
SELECT COUNT(*) = 1 FROM t1;
55-
DROP TABLE t1;
57+
58+
SET SESSION wsrep_sync_wait = 15;
59+
SELECT COUNT(*) FROM t1;
5660

5761
# Reconnect node #3 so that MTR's end-of-test checks can run
5862

5963
--source include/galera_resume.inc
6064
--connection node_3
6165
--source include/wait_until_connected_again.inc
6266

63-
CALL mtr.add_suppression("WSREP: gcs_caused() returned -1 \\(Operation not permitted\\)");
67+
CALL mtr.add_suppression("WSREP: gcs_caused.*");
68+
CALL mtr.add_suppression("WSREP: gcs/src/gcs_core.cpp:core_handle_uuid_msg.*");
6469

6570
--disable_query_log
6671
--eval SET GLOBAL wsrep_cluster_address = '$wsrep_cluster_address_node3';
6772
--enable_query_log
6873
--source include/wait_until_connected_again.inc
74+
75+
SET SESSION wsrep_sync_wait = 15;
76+
SELECT COUNT(*) FROM t1;
77+
78+
--connection node_1
79+
DROP TABLE t1;
80+
# Restore original auto_increment_offset values.
81+
--source ../galera/include/auto_increment_offset_restore.inc
82+

0 commit comments

Comments
 (0)