File: gr_primary_mode_group_operations_46.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 (50 lines) | stat: -rw-r--r-- 1,629 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
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. Test starts in Single primary mode with server1 as primary
include/start_and_bootstrap_group_replication.inc
CREATE TABLE t1(a int primary key);
[connection server2]

# 2. Set weight on server2 to be the next elected primary and join to
#    the group
SET @@GLOBAL.group_replication_member_weight= 90;
include/start_group_replication.inc

# 3. Add server3 to group
[connection server3]
include/start_group_replication.inc

# 4. Lock table on the new primary (server 2)
[connection server_2]
LOCK TABLE t1 READ;

# 5. Execute a transaction that will stuck
[connection server1]
INSERT INTO t1 VALUES (1);

# 6. Stop server1
include/stop_group_replication.inc

# 7. Server2 will wait for buffered transactions on read only mode
[connection server2]

# 8. Unlock table on server2
[connection server_2]
UNLOCK TABLES;

# 9. Server2 will apply buffered transactions and disable read only mode

# 10. Assert server2 is primary server
include/gr_assert_primary_member.inc

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