1include/group_replication.inc
2Warnings:
3Note	####	Sending passwords in plain text without SSL/TLS is extremely insecure.
4Note	####	Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
5[connection server1]
6#
7# a) Server1 is in ONLINE state. Expect group_replication_primary_member EMPTY.
8#
9[connection server1]
10include/start_and_bootstrap_group_replication.inc
11include/gr_wait_for_member_state.inc
12include/assert.inc [Verify MEMBER_STATE is ONLINE]
13include/assert.inc [Verify group_replication_primary_member is EMPTY("")]
14STOP SLAVE SQL_THREAD FOR CHANNEL 'group_replication_applier';
15#
16# b) Server2 is in OFFLINE state. Expect group_replication_primary_member EMPTY.
17#
18[connection server2]
19SET SESSION sql_log_bin= 0;
20call mtr.add_suppression("Table 't1' already exists");
21call mtr.add_suppression("The applier thread execution was aborted. Unable to process more transactions, this member will now leave the group");
22call mtr.add_suppression("Fatal error during execution on the Applier process of Group Replication. The server will now leave the group.");
23call mtr.add_suppression("It is not possible to ensure the execution of group transactions received during recovery.");
24call mtr.add_suppression("Fatal error during the Recovery process of Group Replication. The server will leave the group.");
25call mtr.add_suppression("The server was automatically set into read only mode after an error was detected.");
26call mtr.add_suppression("Skipping leave operation: concurrent attempt to leave the group is on-going.");
27call mtr.add_suppression("Slave SQL for channel 'group_replication_applier': ... The slave coordinator and worker threads are stopped,*");
28SET SESSION sql_log_bin= 1;
29include/assert.inc [Verify MEMBER_STATE is OFFLINE]
30include/assert.inc [Verify group_replication_primary_member is EMPTY("")]
31#
32# c) Server2 is in RECOVERING state. Expect group_replication_primary_member EMPTY.
33#
34SET sql_log_bin=0;
35CREATE TABLE t1 (a INT PRIMARY KEY NOT NULL);
36SET sql_log_bin=1;
37include/start_group_replication.inc
38include/assert.inc [Verify MEMBER_STATE is RECOVERING]
39include/assert.inc [Verify group_replication_primary_member is EMPTY("")]
40#
41# d) Server2 is in ERROR state. Expect group_replication_primary_member EMPTY.
42#
43[connection server1]
44START SLAVE SQL_THREAD FOR CHANNEL 'group_replication_applier';
45[connection server2]
46include/gr_wait_for_member_state.inc
47[connection server1]
48CREATE TABLE t1 (a INT PRIMARY KEY NOT NULL);
49[connection server2]
50include/gr_wait_for_member_state.inc
51include/rpl_gr_wait_for_number_of_members.inc
52include/assert.inc [Verify MEMBER_STATE is ERROR]
53include/assert.inc [Verify group_replication_primary_member is EMPTY("")]
54#
55# e) Server2 is in ONLINE state. Expect group_replication_primary_member EMPTY.
56#
57include/stop_group_replication.inc
58SET sql_log_bin=0;
59DROP TABLE t1;
60SET sql_log_bin=1;
61include/start_group_replication.inc
62include/gr_wait_for_member_state.inc
63include/assert.inc [Verify MEMBER_STATE is ONLINE]
64include/assert.inc [Verify group_replication_primary_member is EMPTY("")]
65[connection server1]
66DROP TABLE t1;
67include/group_replication_end.inc
68