File: gr_single_primary_with_transaction_isolation.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 (122 lines) | stat: -rw-r--r-- 5,254 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
SET SQL_LOG_BIN=0;
call mtr.add_suppression("Transaction isolation level .tx_isolation. is set to SERIALIZABLE, which is not compatible with Group Replication");
SET SQL_LOG_BIN=1;
include/group_replication.inc [rpl_server_count=2]
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 GROUP IN SINGLE PRIMARY MODE AND CHECK IF FLAG SET TO FALSE IN
# `group_replication_enforce_update_everywhere_checks` FORCES THE PLUGIN
# TO IGNORE THE FAULTY CONFIGURATION OF `tx_isolate`
#
include/gr_single_primary_with_transaction_isolation.inc
# CONFIGURE SERVER 1
SET GLOBAL group_replication_enforce_update_everywhere_checks= FALSE;
SET GLOBAL group_replication_single_primary_mode= TRUE;
SET SESSION transaction_isolation='SERIALIZABLE';
# CONFIGURE SERVER 2
SET GLOBAL group_replication_enforce_update_everywhere_checks= FALSE;
SET GLOBAL group_replication_single_primary_mode= TRUE;
SET SESSION transaction_isolation='SERIALIZABLE';
# WRITE DATA ON SERVER 1 (ISOLATION LEVEL 'SERIALIZABLE')
# AND VERIFY PRESENCE OF THE DATA ON SERVER 2
CREATE TABLE first(c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
INSERT INTO first(c1) VALUES(2),(4);
SELECT * FROM first;
c1
2
4
DROP TABLE first;
#
# 2) START GROUP IN MULTI PRIMARY MODE AND CHECK IF FLAG SET TO FALSE IN
# `group_replication_enforce_update_everywhere_checks` FORCES THE PLUGIN
# TO IGNORE THE FAULTY CONFIGURATION OF `tx_isolate`
#
include/gr_single_primary_with_transaction_isolation.inc
# CONFIGURE SERVER 1
SET GLOBAL group_replication_enforce_update_everywhere_checks= FALSE;
SET GLOBAL group_replication_single_primary_mode= FALSE;
SET SESSION transaction_isolation='SERIALIZABLE';
# CONFIGURE SERVER 2
SET GLOBAL group_replication_enforce_update_everywhere_checks= FALSE;
SET GLOBAL group_replication_single_primary_mode= FALSE;
SET SESSION transaction_isolation='SERIALIZABLE';
# WRITE DATA ON SERVER 1 (ISOLATION LEVEL 'SERIALIZABLE')
# AND VERIFY PRESENCE OF THE DATA ON SERVER 2
CREATE TABLE first(c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
INSERT INTO first(c1) VALUES(2),(4);
SELECT * FROM first;
c1
2
4
DROP TABLE first;
#
# 3) START GROUP IN MULTI PRIMARY MODE AND CHECK IF FLAG SET TO TRUE IN
# `group_replication_enforce_update_everywhere_checks` FORCES THE PLUGIN
# TO THROW AN ERROR WHEN THERE IS FAULTY CONFIGURATION OF `tx_isolate`
#
include/gr_single_primary_with_transaction_isolation.inc
# CONFIGURE SERVER 1
SET GLOBAL group_replication_enforce_update_everywhere_checks= TRUE;
SET GLOBAL group_replication_single_primary_mode= FALSE;
SET SESSION transaction_isolation='SERIALIZABLE';
# CONFIGURE SERVER 2
SET GLOBAL group_replication_enforce_update_everywhere_checks= TRUE;
SET GLOBAL group_replication_single_primary_mode= FALSE;
SET SESSION transaction_isolation='SERIALIZABLE';
# WRITE DATA ON SERVER 1 (ISOLATION LEVEL 'SERIALIZABLE')
# AND VERIFY PRESENCE OF THE DATA ON SERVER 2
CREATE TABLE first(c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
INSERT INTO first(c1) VALUES(2),(4);
ERROR HY000: The table does not comply with the requirements by an external plugin.
DROP TABLE first;
#
# 4) START GROUP IN MULTI PRIMARY MODE AND
# WITH CORRECT CONFIGURATION OF `tx_isolate` then the flag
# `group_replication_enforce_update_everywhere_checks` doesn't matter
#
include/gr_single_primary_with_transaction_isolation.inc
# CONFIGURE SERVER 1
SET GLOBAL group_replication_enforce_update_everywhere_checks= TRUE;
SET GLOBAL group_replication_single_primary_mode= FALSE;
SET SESSION transaction_isolation='REPEATABLE-READ';
# CONFIGURE SERVER 2
SET GLOBAL group_replication_enforce_update_everywhere_checks= TRUE;
SET GLOBAL group_replication_single_primary_mode= FALSE;
SET SESSION transaction_isolation='REPEATABLE-READ';
# WRITE DATA ON SERVER 1 (ISOLATION LEVEL 'REPEATABLE-READ')
# AND VERIFY PRESENCE OF THE DATA ON SERVER 2
CREATE TABLE first(c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
INSERT INTO first(c1) VALUES(2),(4);
SELECT * FROM first;
c1
2
4
DROP TABLE first;
#
# 5) START GROUP IN MULTI PRIMARY MODE AND
# WITH CORRECT CONFIGURATION OF `tx_isolate` then the flag
# `group_replication_enforce_update_everywhere_checks` doesn't matter
#
include/gr_single_primary_with_transaction_isolation.inc
# CONFIGURE SERVER 1
SET GLOBAL group_replication_enforce_update_everywhere_checks= FALSE;
SET GLOBAL group_replication_single_primary_mode= FALSE;
SET SESSION transaction_isolation='REPEATABLE-READ';
# CONFIGURE SERVER 2
SET GLOBAL group_replication_enforce_update_everywhere_checks= FALSE;
SET GLOBAL group_replication_single_primary_mode= FALSE;
SET SESSION transaction_isolation='REPEATABLE-READ';
# WRITE DATA ON SERVER 1 (ISOLATION LEVEL 'REPEATABLE-READ')
# AND VERIFY PRESENCE OF THE DATA ON SERVER 2
CREATE TABLE first(c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
INSERT INTO first(c1) VALUES(2),(4);
SELECT * FROM first;
c1
2
4
DROP TABLE first;
# CLEANUP
include/group_replication_end.inc