File: gr_acf_receiver_network_partition.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 (110 lines) | stat: -rw-r--r-- 6,862 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
include/group_replication.inc [rpl_server_count=4]
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. Deploy group A in single-primary mode on server1 and server2.
[connection server1]
SET SESSION sql_log_bin = 0;
call mtr.add_suppression("This server is not able to reach a majority of members in the group. This server will skip the replication failover channels handling until this server is back to the group majority.");
call mtr.add_suppression("This server is back to the group majority. Replication failover channels handling is resumed.");
SET SESSION sql_log_bin = 1;
include/start_and_bootstrap_group_replication.inc
[connection server2]
SET SESSION sql_log_bin= 0;
CREATE TABLE pid_table(pid_no INT);
LOAD DATA LOCAL INFILE 'pid_file' INTO TABLE pid_table;
DROP TABLE pid_table;
SET SESSION sql_log_bin= 1;
CHANGE REPLICATION SOURCE TO SOURCE_HOST='127.0.0.1', SOURCE_USER='root', SOURCE_AUTO_POSITION=1, SOURCE_CONNECTION_AUTO_FAILOVER=1, SOURCE_PORT=SERVER_3_PORT, SOURCE_CONNECT_RETRY=1, SOURCE_RETRY_COUNT=1 FOR CHANNEL 'ch1';
Warnings:
Note	1759	Sending passwords in plain text without SSL/TLS is extremely insecure.
Note	1760	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.
include/start_group_replication.inc

############################################################
# 2. Deploy group B in single-primary mode on server3.
#    Configure server4 as part of group B but not join it to
#    the group.
[connection server3]
include/start_and_bootstrap_group_replication.inc
[connection server4]

############################################################
# 3. Configure a failover channel on server1 that replicates
#    from server3.
[connection server1]
CHANGE REPLICATION SOURCE TO SOURCE_HOST='127.0.0.1', SOURCE_USER='root', SOURCE_AUTO_POSITION=1, SOURCE_CONNECTION_AUTO_FAILOVER=1, SOURCE_PORT=SERVER_3_PORT, SOURCE_CONNECT_RETRY=1, SOURCE_RETRY_COUNT=1 FOR CHANNEL 'ch1';
Warnings:
Note	1759	Sending passwords in plain text without SSL/TLS is extremely insecure.
Note	1760	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.
SELECT asynchronous_connection_failover_add_managed('ch1', 'GroupReplication', 'GROUP_B', '127.0.0.1', SERVER_MYPORT_3, '', 85, 65);;
asynchronous_connection_failover_add_managed('ch1', 'GroupReplication', 'GROUP_B', '127.0.0.1', SERVER_MYPORT_3, '', 85, 65)
The UDF asynchronous_connection_failover_add_managed() executed successfully.
include/start_slave.inc [FOR CHANNEL 'ch1']
include/assert.inc [Verify channel ch1 IO_THREAD is ON and connected to server3]
include/assert.inc ['There is one row in performance_schema.replication_asynchronous_connection_failover']
include/assert.inc ['The version of replication_asynchronous_connection_failover must be 1 or greater']
include/assert.inc ['There is one row in performance_schema.replication_asynchronous_connection_failover_managed for group B']
include/assert.inc ['The version of replication_asynchronous_connection_failover_managed must be 1']
[connection server2]
include/assert.inc ['There is one row in performance_schema.replication_asynchronous_connection_failover']
include/assert.inc ['The version of replication_asynchronous_connection_failover must be equal or greater than the one on server1']
include/assert.inc ['There is one row in performance_schema.replication_asynchronous_connection_failover_managed for group B']
include/assert.inc ['The version of replication_asynchronous_connection_failover_managed must be 1']

############################################################
# 4. Suspend server2, server1 will see it UNREACHABLE.
[connection server2]
[connection server1]
include/gr_wait_for_member_state.inc

############################################################
# 5. Add server4 to group B.
[connection server4]
include/start_group_replication.inc

############################################################
# 6. Since group A does not have a ONLINE majority, server1
#    will not detect the membership changes on group B.
[connection server1]
include/assert.inc ['There is one row in performance_schema.replication_asynchronous_connection_failover']
include/assert.inc ['The version of replication_asynchronous_connection_failover must remain the same']
include/assert_grep.inc [Only one majority loss warning is logged]

############################################################
# 7. Resume server2.
[connection server2]
[connection server1]

############################################################
# 8. server1 will update group B membership.
[connection server1]
include/assert.inc [Verify channel ch1 IO_THREAD is ON and connected to server3]
include/assert.inc ['The version of replication_asynchronous_connection_failover must be 2 or greater']
include/assert.inc ['The version of replication_asynchronous_connection_failover must be equal or greater than the one on server1 on step 6']
include/assert.inc ['There is one row in performance_schema.replication_asynchronous_connection_failover_managed for group B']
include/assert.inc ['The version of replication_asynchronous_connection_failover_managed must be 1']

############################################################
# 9. server2 will also update group B membership.
[connection server2]
include/assert.inc ['The version of replication_asynchronous_connection_failover must be equal or greater than the one on server1']
include/assert.inc ['There is one row in performance_schema.replication_asynchronous_connection_failover_managed for group B']
include/assert.inc ['The version of replication_asynchronous_connection_failover_managed must be 1']

############################################################
# 10. Clean up.
[connection server2]
include/stop_group_replication.inc
include/rpl_reset_slave.inc
[connection server1]
include/stop_group_replication.inc
include/rpl_reset_slave.inc
[connection server4]
include/stop_group_replication.inc
[connection server3]
include/stop_group_replication.inc
include/group_replication_end.inc