File: gr_consistent_reads_after_member_join.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 (64 lines) | stat: -rw-r--r-- 2,400 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
58
59
60
61
62
63
64
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]

############################################################
# 01. Bootstrap group with M1, add M2.
include/start_and_bootstrap_group_replication.inc
[connection server2]
include/start_group_replication.inc

############################################################
# 02. Create table t1 with group_replication_consistency= 'AFTER'
[connection server1]
SET @@SESSION.group_replication_consistency= 'AFTER';
CREATE TABLE t1 (a INT  PRIMARY KEY);

############################################################
# 03. Lock table t1 on server2 to block a future update.
[connection server2]
LOCK table t1 READ;

############################################################
# 04. Execute transaction T1, the transaction will block since
#     server2 cannot prepare.
[connection server1]
INSERT INTO t1 VALUES (11);
[connection server_1]
[connection server_2]

############################################################
# 05. Execute START GR on M3.
#     The member will be in RECOVERING until T1 is complete.
[connection server3]
include/start_group_replication.inc

############################################################
# 06. On M2: Unlock t1.
[connection server2]
UNLOCK tables;

############################################################
# 07. server3 will change to ONLINE state.
[connection server3]
include/gr_wait_for_member_state.inc

############################################################
# 08. Validate data.
[connection server1]
include/assert.inc ['There is 1 value in table t1']
[connection server2]
include/assert.inc ['There is 1 value in table t1']
include/rpl_sync.inc
[connection server3]
include/assert.inc ['There is 1 value in table t1']
include/diff_tables.inc [server1:t1, server2:t1, server3:t1]

############################################################
# 09. Clean up.
[connection server1]
DROP TABLE t1;
SET @@SESSION.group_replication_consistency= DEFAULT;
include/group_replication_end.inc