File: gr_garbage_collect_sequence_number.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 (148 lines) | stat: -rw-r--r-- 6,462 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
include/group_replication.inc
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. Add debug point to reduce certifier broadcast time to 1 second.
#    Bootstrap M1 and join M2.
[connection server1]
SET @@GLOBAL.DEBUG= '+d,group_replication_certifier_broadcast_thread_short_period';
include/start_and_bootstrap_group_replication.inc
[connection server2]
SET @@GLOBAL.DEBUG= '+d,group_replication_certifier_broadcast_thread_short_period';
SET @@GLOBAL.DEBUG= '+d,group_replication_certifier_garbage_collection_ran';
include/start_group_replication.inc
#################################################################
# 2. Insert 5 rows.
#    Wait for garbage collector to run for every insert.
[connection server1]
CREATE TABLE t1(c1 INT PRIMARY KEY);
[connection server2]
SET DEBUG_SYNC= "now WAIT_FOR signal.group_replication_certifier_garbage_collection_finished";
[connection server1]
INSERT INTO t1 VALUES (1);
[connection server2]
SET DEBUG_SYNC= "now WAIT_FOR signal.group_replication_certifier_garbage_collection_finished";
[connection server1]
INSERT INTO t1 VALUES (2);
[connection server2]
SET DEBUG_SYNC= "now WAIT_FOR signal.group_replication_certifier_garbage_collection_finished";
[connection server1]
INSERT INTO t1 VALUES (3);
[connection server2]
SET DEBUG_SYNC= "now WAIT_FOR signal.group_replication_certifier_garbage_collection_finished";
[connection server1]
INSERT INTO t1 VALUES (4);
[connection server2]
SET DEBUG_SYNC= "now WAIT_FOR signal.group_replication_certifier_garbage_collection_finished";
[connection server1]
INSERT INTO t1 VALUES (5);
include/rpl_sync.inc
#################################################################
# 3. Assert sequence numbers and last_committed are correct.
#    Verify no gaps in sequence number.
[connection server2]
include/include/assert_logical_timestamps.inc [0 0;1 2;2 3;3 4;4 5;5 6;6 7]
#################################################################
# 4. Run 5 DDLs.
#    Wait for garbage collector to run for every statement.
[connection server1]
[connection server2]
SET DEBUG_SYNC= "now WAIT_FOR signal.group_replication_certifier_garbage_collection_finished";
[connection server1]
CREATE TABLE tt1(c1 INT PRIMARY KEY);
[connection server2]
SET DEBUG_SYNC= "now WAIT_FOR signal.group_replication_certifier_garbage_collection_finished";
[connection server1]
CREATE TABLE tt2(c1 INT PRIMARY KEY);
[connection server2]
SET DEBUG_SYNC= "now WAIT_FOR signal.group_replication_certifier_garbage_collection_finished";
[connection server1]
CREATE TABLE tt3(c1 INT PRIMARY KEY);
[connection server2]
SET DEBUG_SYNC= "now WAIT_FOR signal.group_replication_certifier_garbage_collection_finished";
[connection server1]
CREATE TABLE tt4(c1 INT PRIMARY KEY);
[connection server2]
SET DEBUG_SYNC= "now WAIT_FOR signal.group_replication_certifier_garbage_collection_finished";
[connection server1]
CREATE TABLE tt5(c1 INT PRIMARY KEY);
include/rpl_sync.inc
#################################################################
# 5. Assert sequence numbers and last_committed are correct.
#    Verify no gaps in sequence number.
[connection server2]
include/include/assert_logical_timestamps.inc [0 0;1 2;2 3;3 4;4 5;5 6;6 7;7 8;8 9;9 10;10 11;11 12]
#################################################################
# 6. Stop the group.
[connection server2]
include/stop_group_replication.inc
SET @@GLOBAL.DEBUG= '-d,group_replication_certifier_garbage_collection_ran';
SET @@GLOBAL.DEBUG= '-d,group_replication_certifier_broadcast_thread_short_period';
SET DEBUG_SYNC= 'RESET';
[connection server1]
include/stop_group_replication.inc
SET @@GLOBAL.DEBUG= '-d,group_replication_certifier_broadcast_thread_short_period';
#################################################################
# 7. Add debug point to disable certification info garbage collection.
#    Bootstrap M1 and join M2.
[connection server1]
SET @@GLOBAL.DEBUG= '+d,group_replication_do_not_clear_certification_database';
SET @@GLOBAL.DEBUG= '+d,group_replication_certifier_broadcast_thread_big_period';
include/start_and_bootstrap_group_replication.inc
[connection server2]
SET @@GLOBAL.DEBUG= '+d,group_replication_do_not_clear_certification_database';
SET @@GLOBAL.DEBUG= '+d,group_replication_certifier_broadcast_thread_big_period';
include/start_group_replication.inc
#################################################################
# 8. Insert 10 rows.
[connection server1]
[connection server1]
INSERT INTO test.t1 VALUES (6);
[connection server1]
INSERT INTO test.t1 VALUES (7);
[connection server1]
INSERT INTO test.t1 VALUES (8);
[connection server1]
INSERT INTO test.t1 VALUES (9);
[connection server1]
INSERT INTO test.t1 VALUES (10);
[connection server1]
INSERT INTO test.t1 VALUES (11);
[connection server1]
INSERT INTO test.t1 VALUES (12);
[connection server1]
INSERT INTO test.t1 VALUES (13);
[connection server1]
INSERT INTO test.t1 VALUES (14);
[connection server1]
INSERT INTO test.t1 VALUES (15);
include/rpl_sync.inc
[connection server2]
include/include/assert_logical_timestamps.inc [0 0;1 2;1 3;1 4;1 5;1 6;1 7;1 8;1 9;1 10;1 11]
#################################################################
# 9. Run 5 DDLs.
[connection server1]
DROP TABLE tt1;
DROP TABLE tt2;
DROP TABLE tt3;
DROP TABLE tt4;
DROP TABLE tt5;
include/rpl_sync.inc
[connection server2]
include/include/assert_logical_timestamps.inc [0 0;1 2;1 3;1 4;1 5;1 6;1 7;1 8;1 9;1 10;1 11;11 12;12 13;13 14;14 15;15 16]
#################################################################
# 10. Cleanup.
[connection server1]
DROP TABLE t1;
include/rpl_sync.inc
[connection server2]
include/stop_group_replication.inc
SET @@GLOBAL.DEBUG= '-d,group_replication_do_not_clear_certification_database';
SET @@GLOBAL.DEBUG= '-d,group_replication_certifier_broadcast_thread_big_period';
[connection server1]
include/stop_group_replication.inc
SET @@GLOBAL.DEBUG= '-d,group_replication_do_not_clear_certification_database';
SET @@GLOBAL.DEBUG= '-d,group_replication_certifier_broadcast_thread_big_period';
include/group_replication_end.inc