File: gr_uninstall_while_network_blocked.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 (49 lines) | stat: -rw-r--r-- 2,643 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
include/group_replication.inc [rpl_server_count=2]
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]
[connection server1]
CREATE TABLE t1 (a INT PRIMARY KEY);
include/rpl_sync.inc
[connection server2]

# 1. Kill and restart server 2
# Kill and restart:--group_replication_local_address=GROUP_REPLICATION_LOCAL_ADDRESS2 --group_replication_group_seeds=GROUP_REPLICATION_GROUP_SEEDS --group_replication_group_name=GROUP_REPLICATION_GROUP_NAME --group_replication_communication_stack=GROUP_REPLICATION_COMMUNICATION_STACK
include/rpl_reconnect.inc
[connection server1]

# 2. Wait until server2 is marked as UNREACHABLE
include/gr_wait_for_member_state.inc

# 3. Execute query that will be blocked and leave the group plugin busy
INSERT INTO test.t1 VALUES(11);
[connection server_1]
set session sql_log_bin=0;
call mtr.add_suppression("Group Replication plugin is busy, it cannot be uninstalled. To force");
call mtr.add_suppression("Timeout while waiting for the group communication engine to exit!");
call mtr.add_suppression("The member has failed to gracefully leave the group.");
call mtr.add_suppression("read failed");
call mtr.add_suppression("Due to a plugin error, some transactions were unable to be certified and will now rollback.");
call mtr.add_suppression("The member lost contact with a majority of the members in the group. Until the network is restored.*");
call mtr.add_suppression("Plugin group_replication reported: 'Error while waiting for conflict detection procedure to finish on session.*");
call mtr.add_suppression("Run function 'before_commit' in plugin 'group_replication' failed");
set session sql_log_bin=1;

# 4. Uninstall plugin will return error due plugin being in use
UNINSTALL PLUGIN group_replication;
ERROR HY000: Plugin 'group_replication' cannot be uninstalled now. Plugin is busy, it cannot be uninstalled. To force a stop run STOP GROUP_REPLICATION and then UNINSTALL PLUGIN group_replication.

# 5. Call mysqladmin to shutdown server

# 6. Clean-up
[connection server1]
# CR_SERVER_LOST, CR_SERVER_GONE_ERROR or Rollback
Got one of the listed errors
include/rpl_start_server.inc [server_number=1]
include/rpl_reconnect.inc
[connection server2]
DROP TABLE test.t1;
[connection server_1]
DROP TABLE test.t1;
include/group_replication_end.inc