File: rpl_delayed_slave.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 (149 lines) | stat: -rw-r--r-- 7,966 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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
include/master-slave.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 master]
call mtr.add_suppression("Unsafe statement written to the binary log using statement format");
call mtr.add_suppression("Unsafe statement written to the binary log using statement format");
[on master]
CREATE TABLE t1 (a VARCHAR(100), b INT);
INSERT INTO t1 VALUES ("zero", 0);
==== Normal setup ====
[on slave]
include/sync_slave_sql_with_master.inc
include/stop_slave.inc
include/start_slave.inc
include/assert.inc [SHOW SLAVE STATUS should return the same delay that we set with CHANGE MASTER]
[on master]
INSERT INTO t1 VALUES ('normal setup', 1);
[connection slave]
include/assert.inc [Assert that the REMAINING_DELAY from performance_schema is same as SQL_Remaining_Delay in the output of show slave status.]
[connection master]
include/sync_slave_sql_with_master.inc
include/assert.inc [Status should not be 'Waiting until SOURCE_DELAY seconds after source executed event']
[connection master]
[connection slave]
include/assert.inc [The difference between the immediate_commit_timestamp should be at least the SQL_Delay]
[connection master]
==== Slave lags "naturally" after master ====
[on master]
# CREATE FUNCTION delay_on_slave(time_units INT) RETURNS INT BEGIN IF @@server_id = 2 THEN RETURN SLEEP(time_units * T); ELSE RETURN 0; END IF; END
INSERT INTO t1 SELECT delay_on_slave(3), 2;
Warnings:
Note	1592	Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the replica.
Note	1592	Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the replica.
[connection slave]
include/assert.inc [Assert that the REMAINING_DELAY from performance_schema is same as SQL_Remaining_Delay in the output of show slave status.]
[connection master]
include/sync_slave_sql_with_master.inc
include/assert.inc [Status should not be 'Waiting until SOURCE_DELAY seconds after source executed event']
[connection master]
[connection slave]
include/assert.inc [The difference between the immediate_commit_timestamp should be at least the SQL_Delay]
[connection master]
INSERT INTO t1 VALUES ('slave is already lagging: this statement should execute immediately', 3);
[connection slave]
include/assert.inc [Assert that the REMAINING_DELAY from performance_schema is same as SQL_Remaining_Delay in the output of show slave status.]
[connection master]
include/sync_slave_sql_with_master.inc
include/assert.inc [Status should not be 'Waiting until SOURCE_DELAY seconds after source executed event']
[connection master]
[connection slave]
include/assert.inc [The difference between the immediate_commit_timestamp should be at least the SQL_Delay]
[connection master]
INSERT INTO t1 SELECT delay_on_slave(2), 4;
Warnings:
Note	1592	Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system variable that may have a different value on the replica.
Note	1592	Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the replica.
[connection slave]
include/assert.inc [Assert that the REMAINING_DELAY from performance_schema is same as SQL_Remaining_Delay in the output of show slave status.]
[connection master]
include/sync_slave_sql_with_master.inc
include/assert.inc [Status should not be 'Waiting until SOURCE_DELAY seconds after source executed event']
[connection master]
[connection slave]
include/assert.inc [The difference between the immediate_commit_timestamp should be at least the SQL_Delay]
[connection master]
==== STOP SLAVE / START SLAVE + DML ====
[connection slave]
include/stop_slave.inc
include/start_slave.inc
[on master]
INSERT INTO t1 VALUES ('stop slave and start slave: DML', 5);
[on slave]
include/stop_slave.inc
include/assert.inc [SQL thread position should not increase after STOP SLAVE]
include/assert.inc [Query should not be executed after STOP SLAVE]
include/assert.inc [Status should be '' after STOP SLAVE]
include/start_slave.inc
[connection master]
[connection slave]
include/assert.inc [Assert that the REMAINING_DELAY from performance_schema is same as SQL_Remaining_Delay in the output of show slave status.]
[connection master]
include/sync_slave_sql_with_master.inc
include/assert.inc [Status should not be 'Waiting until SOURCE_DELAY seconds after source executed event']
[connection master]
[connection slave]
include/assert.inc [The difference between the immediate_commit_timestamp should be at least the SQL_Delay]
[connection master]
==== STOP SLAVE / START SLAVE + DDL ====
This verifies BUG#56442
[on master]
CREATE TABLE t_check_dml_not_executed_prematurely (a INT);
include/save_master_pos.inc
[on slave]
include/stop_slave.inc
include/assert.inc [SQL thread position should not increase after STOP SLAVE]
include/assert.inc [Query should not be executed after STOP SLAVE]
include/assert.inc [Status should be '' after STOP SLAVE]
include/start_slave.inc
[connection master]
[connection slave]
include/assert.inc [Assert that the REMAINING_DELAY from performance_schema is same as SQL_Remaining_Delay in the output of show slave status.]
[connection master]
include/sync_slave_sql_with_master.inc
include/assert.inc [Status should not be 'Waiting until SOURCE_DELAY seconds after source executed event']
[connection master]
[connection slave]
include/assert.inc [The difference between the immediate_commit_timestamp should be at least the SQL_Delay]
[connection master]
[connection slave]
include/assert.inc [DDL Query should be executed]
include/check_slave_is_running.inc
==== Change back to no delay ====
[on slave]
include/stop_slave.inc
CHANGE REPLICATION SOURCE TO SOURCE_DELAY = 0;
include/assert.inc [Delay should be 0 when we set it to 0]
==== Reset delay with RESET SLAVE ====
CHANGE REPLICATION SOURCE TO SOURCE_DELAY = 71;
include/start_slave.inc
include/assert.inc [Delay should be 71 when we set it to 71]
include/stop_slave.inc
RESET SLAVE;
Warnings:
Warning	1287	'RESET SLAVE' is deprecated and will be removed in a future release. Please use RESET REPLICA instead
include/start_slave.inc
include/assert.inc [Delay should be 0 after RESET SLAVE]
==== Set an invalid value for the delay ====
include/stop_slave.inc
# Expect error for setting negative delay
CHANGE REPLICATION SOURCE TO SOURCE_DELAY = -1;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 1
# Expect that it's ok to set delay of 2^31-1
CHANGE REPLICATION SOURCE TO SOURCE_DELAY = 2147483647;
# Expect error for setting delay between 2^31 and 2^32-1
CHANGE REPLICATION SOURCE TO SOURCE_DELAY = 2147483648;
ERROR HY000: The requested value 2147483648 for the source delay exceeds the maximum 2147483647
# Expect error for setting delay to nonsense
CHANGE REPLICATION SOURCE TO SOURCE_DELAY = blah;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'blah' at line 1
CHANGE REPLICATION SOURCE TO SOURCE_DELAY = 0;
include/start_slave.inc
==== Clean up ====
[on master]
DROP TABLE t1, t_check_dml_not_executed_prematurely;
DROP FUNCTION delay_on_slave;
[on slave]
include/sync_slave_sql_with_master.inc
include/rpl_end.inc