File: rpl_semi_sync_observe_commit_only.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 (46 lines) | stat: -rw-r--r-- 2,498 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
# 1. Set-up semi sync replication environment
# a) Setup a 2 layered topology with the given topology 1->2
include/rpl_init.inc [topology=1->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 server_1]
SET GLOBAL replication_sender_observe_commit_only = 1;
SET GLOBAL replication_optimize_for_static_plugin_config = 1;
CALL mtr.add_suppression("Semi-sync source failed on net_flush.*");
CALL mtr.add_suppression("Read semi-sync reply magic number error.*");
CALL mtr.add_suppression("A message intended for a client cannot be sent there as no client-session is attached.*");
CALL mtr.add_suppression("Timeout waiting for reply of binlog.*");
include/install_semisync_source.inc
[connection server_2]
include/install_semisync_replica.inc
CALL mtr.add_suppression("The replica coordinator and worker threads are stopped.*");
# b) Ensure that replication_sender_observe_commit_only is turned on
[connection server_1]
# replication_sender_observe_commit_only: 1
include/assert.inc [replication_sender_observe_commit_only should be ON (source)]
# 2. Prepare a testing environment and execute statements in the background
CREATE TABLE t (a int);
# 3. Issue the replica restart while the source is running statements
[connection server_2]
include/rpl_restart_server.inc [server_number=2 gtids=on parameters: --skip_slave_start=0 --rpl_semi_sync_replica_enabled=1]
# 4. Sanity check - check whether semi-sync replication was correctly restarted
include/check_slave_is_running.inc
include/check_slave_no_error.inc
include/assert.inc [Semi sync should be enabled on the replica]
# 5. Wait for source to finish the execution of statements
[connection server_1]
# 6. Wait for replica to catch-up with latest changes
[connection server_2]
include/rpl_sync.inc
# 7. Check whether the replica replicated table correctly
include/diff_tables.inc [server_1:t, server_2:t]
# 8. Clean up
[connection server_2]
include/uninstall_semisync_replica.inc
[connection server_1]
SET GLOBAL replication_sender_observe_commit_only = OFF;
SET GLOBAL replication_optimize_for_static_plugin_config = OFF;
include/uninstall_semisync_source.inc
DROP TABLE t;
include/rpl_end.inc