File: gr_primary_mode_group_operations_36.result

package info (click to toggle)
mysql-8.0 8.0.43-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,273,924 kB
  • sloc: cpp: 4,684,605; ansic: 412,450; pascal: 108,398; java: 83,641; perl: 30,221; cs: 27,067; sql: 26,594; sh: 24,181; python: 21,816; yacc: 17,169; php: 11,522; xml: 7,388; javascript: 7,076; makefile: 2,194; lex: 1,075; awk: 670; asm: 520; objc: 183; ruby: 97; lisp: 86
file content (57 lines) | stat: -rw-r--r-- 2,369 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
include/group_replication.inc [rpl_server_count=3]
Warnings:
Note	####	Sending passwords in plain text without SSL/TLS is extremely insecure.
Note	####	Storing MySQL user name or password information in the connection metadata repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START REPLICA; see the 'START REPLICA Syntax' in the MySQL Manual for more information.
[connection server1]

# 1. Server1 start, bootstrap the group and create table test.t1
include/start_and_bootstrap_group_replication.inc
set session sql_log_bin=0;
call mtr.add_suppression("The function 'group_replication_switch_to_multi_primary_mode' failed. Member has left the group. This operation was locally aborted and for that reason terminated.");
set session sql_log_bin=1;
CREATE TABLE test.t1 (a INT PRIMARY KEY);

# 2. Start server2 and server3
[connection server2]
include/start_group_replication.inc
[connection server3]
include/start_group_replication.inc

# 3. Begin a transaction on server1
[connection server1]
BEGIN;
INSERT INTO t1 VALUES(1);

# 4. Execute action to switch to multi primary
[connection server_1_1]
SELECT group_replication_switch_to_multi_primary_mode();

# 5. Assert that action is waiting for a member
[connection server2]
include/assert.inc [stage/group_rpl/Multi-primary Switch: waiting on another member step completion]

# 6. Restart a member, won't impact the success of action
[connection server_1]
include/stop_group_replication.inc

# 7. The action continued on other servers and everyone is on MP
[connection server2]
include/gr_assert_multi_primary_mode.inc
[connection server3]
include/gr_assert_multi_primary_mode.inc

# 8. Check that Single primary mode is true on server 1 and the update
#    everywhere checks are false.
[connection server_1_1]
ERROR HY000: The function 'group_replication_switch_to_multi_primary_mode' failed. Member has left the group. This operation was locally aborted and for that reason terminated.
include/assert.inc [group_replication_enforce_update_everywhere_checks is OFF]

# 9. Cleanup
[connection server1]
ROLLBACK;
SET GLOBAL group_replication_single_primary_mode= OFF;
SET GLOBAL group_replication_enforce_update_everywhere_checks= ON;
include/start_group_replication.inc
[connection server2]
DROP TABLE t1;
include/group_replication_end.inc