File: gr_stop_with_running_channel.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-- 3,372 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
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 group on server1.
[connection server1]
SET SESSION sql_log_bin = 0;
call mtr.add_suppression("Run function 'before_commit' in plugin 'group_replication' failed");
call mtr.add_suppression("Replica SQL for channel 'ch1': Worker 1 failed executing transaction.*");
call mtr.add_suppression("Replica SQL for channel 'ch1': ... The replica coordinator and worker threads are stopped.*");
call mtr.add_suppression("Replica SQL for channel 'ch1': Error 'Error on observer while running replication hook 'before_commit'.'.*");
call mtr.add_suppression("Replica: Error on observer while running replication hook 'before_commit'. Error_code: MY-003100");
SET SESSION sql_log_bin = 1;
include/start_and_bootstrap_group_replication.inc

############################################################
# 2. Configure a channel on server1 that replicates from
#    server2.
[connection server1]
CHANGE REPLICATION SOURCE TO SOURCE_HOST='127.0.0.1', SOURCE_USER='root', SOURCE_PORT=SERVER_2_PORT, SOURCE_AUTO_POSITION=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']

############################################################
# 3. Stop group on server1, through debug sync block the stop
#    after acquiring `shared_plugin_stop` lock.
[connection server_1]
SET @@GLOBAL.DEBUG= '+d,group_replication_hold_stop_before_leave_the_group';
STOP GROUP_REPLICATION;
[connection server1]
SET DEBUG_SYNC='now wait_for signal.stopping_before_leave_the_group';

############################################################
# 4. Commit a transaction on server2 which will be replicated
#    to server1 through channel 'ch1'.
#    Channel 'ch1' will fail since the plugin is stopping.
[connection server2]
CREATE TABLE t1 (c1 INT NOT NULL PRIMARY KEY);
[connection server1]
include/wait_for_slave_sql_error.inc [errno=3100 FOR CHANNEL 'ch1']

############################################################
# 5. Resume STOP GROUP_REPLICATION on server1.
[connection server1]
SET @@GLOBAL.DEBUG= '-d,group_replication_hold_stop_before_leave_the_group';
SET DEBUG_SYNC='now signal signal.resume_stop_before_leave_the_group';
[connection server_1]
[connection server1]
include/gr_wait_for_member_state.inc
SET DEBUG_SYNC= 'RESET';
include/assert.inc ['There is no table t1 on server1']

############################################################
# 6. Clean up.
[connection server1]
include/rpl_reset_slave.inc
[connection server2]
DROP TABLE t1;
include/group_replication_end.inc