File: gr_blocked_start_gr_killed.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 (79 lines) | stat: -rw-r--r-- 3,222 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
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. Setup GR environment and get thread id
#    of the query which will be killed.

[connection server1]
RESET REPLICA FOR CHANNEL "group_replication_applier";
SET sql_log_bin=0;
CALL mtr.add_suppression("Error writing file.*(errno: 28 - No space left on device)");
CALL mtr.add_suppression("Disk is full writing.*(OS errno 28 - No space left on device)");
CALL mtr.add_suppression("Retry in 60 secs. Message reprinted in 600 secs");
CALL mtr.add_suppression("Unblocking the group replication thread waiting for applier to start, as the start group replication was killed");
CALL mtr.add_suppression("Unable to initialize the Group Replication applier module.");
CALL mtr.add_suppression("MYSQL_BIN_LOG::open failed to sync the index file.");
CALL mtr.add_suppression("Failed in open_log.*called from Relay_log_info::rli_init_info");
CALL mtr.add_suppression("Failed to setup the group replication applier thread.");
call mtr.add_suppression("The group replication applier thread has received KILL request.");
CALL mtr.add_suppression("Fatal error during execution on the Applier process of Group Replication. The server will now leave the group.");
CALL mtr.add_suppression("Unable to confirm whether the server has left the group or not. Check performance_schema.replication_group_members to check group membership information.");
CALL mtr.add_suppression("The server was automatically set into read only mode after an error was detected.");
SET sql_log_bin=1;
SET GLOBAL group_replication_group_name= "GROUP_REPLICATION_GROUP_NAME";
SET GLOBAL group_replication_bootstrap_group=ON;

# 2. Block START GR with no disk space.

SET @debug_save= @@GLOBAL.DEBUG;
SET @@GLOBAL.DEBUG= 'd,simulate_file_write_error';
START GROUP_REPLICATION;

# 3. Verify START GR is blocked.

[connection server_1]

# 4. Kill the blocked START GR command.

KILL QUERY CONNECTION_ID;

# 5. Reap the killed command and reset debug point.

[connection server1]
ERROR HY000: The START GROUP_REPLICATION command failed as the applier module failed to start.
SET @@GLOBAL.DEBUG= @debug_save;

# 6. Verify member is still OFFLINE

include/gr_wait_for_member_state.inc

# 7. Verify no more thread is waiting for disk space


# 8. Restart group_replication on server1 and server2.

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

# 9. Add some data to server1.

[connection server1]
CREATE TABLE test.t1 (c1 INT NOT NULL PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO test.t1 VALUES (1);

# 10. Verify data is replicated to the group.

include/rpl_sync.inc
[connection server1]
include/assert.inc [Verify test.t1 is synced]
[connection server2]
include/assert.inc [Verify test.t1 is synced]

# 11. Clean up

DROP TABLE t1;
include/group_replication_end.inc