File: gr_recovery_double_view_update.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 (69 lines) | stat: -rw-r--r-- 3,100 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
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]
#
# Start group replication on server 1
#
server1
include/start_and_bootstrap_group_replication.inc
CREATE TABLE t1 (c1 INT NOT NULL PRIMARY KEY) ENGINE=InnoDB;
#
# Set server 2 options to fail on recovery
#
server2
SET @debug_save_rec_int= @@GLOBAL.group_replication_recovery_reconnect_interval;
SET @debug_save_ret_count= @@GLOBAL.group_replication_recovery_retry_count;
CHANGE REPLICATION SOURCE TO SOURCE_PASSWORD='bad_password' FOR CHANNEL 'group_replication_recovery';
SET GLOBAL group_replication_recovery_reconnect_interval= 10 # seconds;
SET GLOBAL group_replication_recovery_retry_count= 2;
#
# Set server 2 making sure 2 views are received when recovery fails
#
set session sql_log_bin=0;
call mtr.add_suppression("There was an error when connecting to the donor*");
call mtr.add_suppression("For details please check performance_schema.replication_connection_status table and error log messages of Replica I/O for channel group_replication_recovery.");
call mtr.add_suppression("Maximum number of retries when*");
call mtr.add_suppression("Fatal error during the incremental recovery process of Group Replication.*");
call mtr.add_suppression("The member is leaving a group without being on one");
call mtr.add_suppression("Skipping leave operation: concurrent attempt to leave the group is on-going.");
call mtr.add_suppression("The server was automatically set into read only mode after an error was detected.");
call mtr.add_suppression("All donors left. Aborting group replication incremental recovery.*");
set session sql_log_bin=1;
SET @debug_save= @@GLOBAL.DEBUG;
SET @@GLOBAL.DEBUG='d,recovery_thread_wait_before_cleanup';
SET GLOBAL group_replication_group_name= "6749cab0-93ae-11e5-a837-0800200c9a66";
START GROUP_REPLICATION;
#
# Give time for server 2 to fail the connection once
# Stop recovery on the donor (server1)
#
server1
include/stop_group_replication.inc
#
# Watch server 2 enter an error state.
#
server2
SET DEBUG_SYNC= "now SIGNAL signal.recovery_end_end";
SET @@GLOBAL.DEBUG= @debug_save;
include/gr_wait_for_member_state.inc
#
# Check all is fine
#
server1
include/start_and_bootstrap_group_replication.inc
server2
include/stop_group_replication.inc
CHANGE REPLICATION SOURCE TO SOURCE_USER='root', SOURCE_PASSWORD='' FOR CHANNEL 'group_replication_recovery';
include/start_group_replication.inc
INSERT INTO t1 VALUES (1);
include/rpl_sync.inc
include/assert.inc [The table should contain 1 elements]
DROP TABLE t1;
#
# Cleanup
#
SET @@GLOBAL.group_replication_recovery_reconnect_interval= @debug_save_rec_int;
SET @@GLOBAL.group_replication_recovery_retry_count= @debug_save_ret_count;
include/group_replication_end.inc