File: gr_primary_mode_group_operations_48.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 (52 lines) | stat: -rw-r--r-- 1,974 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
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. Start server1 and bootstrap group
include/start_and_bootstrap_group_replication.inc
CREATE TABLE test.t1 (a INT PRIMARY KEY);

# 2. Configure server2 with weight to be next primary
[connection server2]
SET GLOBAL group_replication_member_weight= 90;
include/start_group_replication.inc

# 3. Lock table to block primary election
LOCK TABLE t1 READ;

# 4. Start server3
[connection server3]
set session sql_log_bin=0;
call mtr.add_suppression("The function 'group_replication_switch_to_multi_primary_mode' failed. A primary election is occurring in the group. Wait for it to end.");
set session sql_log_bin=1;
include/start_group_replication.inc

# 5. Insert data to prevent server2 set read only and block on primary
#    election
[connection server1]
INSERT INTO t1 VALUES (1);

# 6. Stop server1 and run primary election
include/stop_group_replication.inc

# 7. Executing an action will fail, a primary election is running
[connection server3]
SELECT group_replication_switch_to_multi_primary_mode();
ERROR HY000: The function 'group_replication_switch_to_multi_primary_mode' failed. A primary election is occurring in the group. Wait for it to end.

# 8. Unlock table to primary election finish
[connection server2]
UNLOCK TABLES;

# 9. Assert server2 is the new primary
include/gr_assert_primary_member.inc

# 10. Cleanup
[connection server1]
include/start_group_replication.inc
[connection server2]
DROP TABLE t1;
SET GLOBAL group_replication_member_weight= DEFAULT;
include/group_replication_end.inc