File: gr_acf_2groups_failover.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 (98 lines) | stat: -rw-r--r-- 5,952 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
include/group_replication.inc [rpl_server_count=5]
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 a 2 members group A in single primary mode.

[connection server1]
include/start_and_bootstrap_group_replication.inc
[connection server2]
include/start_group_replication.inc

# 2. Deploy a 2 members group B in single primary mode.

[connection server3]
include/start_and_bootstrap_group_replication.inc
[connection server4]
include/start_group_replication.inc

# 3. Configure replica to manage the asynchronous connection
#    to groups A and B.

[connection server5]
SELECT asynchronous_connection_failover_add_managed('ch1', 'GroupReplication', 'GROUP_A', '127.0.0.1', SERVER_MYPORT_1, '', 90, 70);;
asynchronous_connection_failover_add_managed('ch1', 'GroupReplication', 'GROUP_A', '127.0.0.1', SERVER_MYPORT_1, '', 90, 70)
The UDF asynchronous_connection_failover_add_managed() executed successfully.
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/assert.inc ['There is one row in performance_schema.replication_asynchronous_connection_failover for server1']
include/assert.inc ['There is one row in performance_schema.replication_asynchronous_connection_failover for server3']
include/assert.inc ['There is one row in performance_schema.replication_asynchronous_connection_failover_managed for group A']
include/assert.inc ['There is one row in performance_schema.replication_asynchronous_connection_failover_managed for group B']

# 4. Create and start the managed channel.

[connection server5]
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_1_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_slave.inc [FOR CHANNEL 'ch1']
include/assert.inc [Verify channel ch1 IO_THREAD is ON and connected to server1]

# 5. Stop primary from group A (server1) and IO thread shall connect to
#    new primary server2

[connection server1]
include/stop_group_replication.inc
[connection server5]

# 6. Stop new elected primary from group A (server2) and IO thread
#    should connect to primary from group B (server3)

[connection server2]
include/stop_group_replication.inc
[connection server5]

# 7. Stop primary from group B (server3) and IO thread should connect to
#    new elected primary from group B (server4)

[connection server3]
include/stop_group_replication.inc
[connection server5]

# 8. Stop primary from group B (server4) and IO thread should stop
[connection server4]
include/stop_group_replication.inc
[connection server5]

# 9. Assert Server2 and Server4 last members of the groups are on
#    replication_connection_status table

include/assert.inc ['Last member from group A Server2 is one row in performance_schema.replication_asynchronous_connection_failover']
include/assert.inc ['Last member from group B Server4 is one row in performance_schema.replication_asynchronous_connection_failover']

# 10. Clean up.

[connection server5]
SET SESSION sql_log_bin = 0;
call mtr.add_suppression("The source .* for channel 'ch1' has joined the group .*, and so added its entry into replication_asynchronous_connection_failover table.");
call mtr.add_suppression("The Monitor IO thread detected that the source .* does not belong to the group majority, thence the channel .* will try to connect to another source.");
call mtr.add_suppression("The source .* for channel 'ch1' has left the group .*, and so removed its entry from replication_asynchronous_connection_failover table.");
call mtr.add_suppression("The group .* for the channel .* has been removed, and so removed its entry from replication_asynchronous_connection_failover_managed and all the group members from replication_asynchronous_connection_failover table.");
call mtr.add_suppression("The group .* for the channel .* has been added, and so added its entry in replication_asynchronous_connection_failover_managed and source to replication_asynchronous_connection_failover table.");
call mtr.add_suppression("The IO thread detected that the source .* does not belong to the group majority, thence the channel .* will try to connect to another source.");
call mtr.add_suppression("The Monitor IO thread failed to detect if the source belongs to the group majority on the source .* for channel 'ch1'.");
SET SESSION sql_log_bin = 1;
include/stop_slave.inc [FOR CHANNEL 'ch1']
include/rpl_reset_slave.inc
SELECT asynchronous_connection_failover_delete_managed('ch1', 'GROUP_A');
asynchronous_connection_failover_delete_managed('ch1', 'GROUP_A')
The UDF asynchronous_connection_failover_delete_managed() executed successfully.
SELECT asynchronous_connection_failover_delete_managed('ch1', 'GROUP_B');
asynchronous_connection_failover_delete_managed('ch1', 'GROUP_B')
The UDF asynchronous_connection_failover_delete_managed() executed successfully.
include/group_replication_end.inc