File: rpl_mariadb_slave_capability.result

package info (click to toggle)
mariadb-10.0 10.0.32-0%2Bdeb8u1
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 476,064 kB
  • sloc: cpp: 1,400,131; ansic: 832,140; perl: 54,391; sh: 41,304; pascal: 32,365; yacc: 14,921; xml: 5,257; sql: 4,667; cs: 4,647; makefile: 4,555; ruby: 4,465; python: 2,292; lex: 1,427; java: 941; asm: 295; awk: 54; php: 22; sed: 16
file content (125 lines) | stat: -rw-r--r-- 5,536 bytes parent folder | download | duplicates (5)
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
include/master-slave.inc
[connection master]
set @old_master_binlog_checksum= @@global.binlog_checksum;
set @old_slave_dbug= @@global.debug_dbug;
include/stop_slave.inc
# Test slave with no capability gets dummy event, which is ignored.
SET @@global.debug_dbug='+d,simulate_slave_capability_none';
include/start_slave.inc
FLUSH LOGS;
CREATE TABLE t1 (a INT PRIMARY KEY);
INSERT INTO t1 VALUES (0);
ALTER TABLE t1 ORDER BY a;
SET SESSION binlog_annotate_row_events = ON;
DELETE FROM t1;
INSERT INTO t1 /* A comment just to make the annotate event sufficiently long that the dummy event will need to get padded with spaces so that we can test that this works */ VALUES(1);
include/show_binlog_events.inc
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000002	#	Gtid	#	#	BEGIN GTID #-#-#
master-bin.000002	#	Annotate_rows	#	#	DELETE FROM t1
master-bin.000002	#	Table_map	#	#	table_id: # (test.t1)
master-bin.000002	#	Delete_rows_v1	#	#	table_id: # flags: STMT_END_F
master-bin.000002	#	Query	#	#	COMMIT
master-bin.000002	#	Gtid	#	#	BEGIN GTID #-#-#
master-bin.000002	#	Annotate_rows	#	#	INSERT INTO t1 /* A comment just to make the annotate event sufficiently long that the dummy event will need to get padded with spaces so that we can test that this works */ VALUES(1)
master-bin.000002	#	Table_map	#	#	table_id: # (test.t1)
master-bin.000002	#	Write_rows_v1	#	#	table_id: # flags: STMT_END_F
master-bin.000002	#	Query	#	#	COMMIT
SELECT * FROM t1;
a
1
include/show_events.inc
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
slave-relay-bin.000005	#	Query	#	#	BEGIN
slave-relay-bin.000005	#	User var	#	#	@`!dummyvar`=NULL
slave-relay-bin.000005	#	Table_map	#	#	table_id: # (test.t1)
slave-relay-bin.000005	#	Delete_rows_v1	#	#	table_id: # flags: STMT_END_F
slave-relay-bin.000005	#	Query	#	#	COMMIT
slave-relay-bin.000005	#	Query	#	#	BEGIN
slave-relay-bin.000005	#	Query	#	#	# Dummy event replacing event type 160 that slave cannot handle.                                                                                                         
slave-relay-bin.000005	#	Table_map	#	#	table_id: # (test.t1)
slave-relay-bin.000005	#	Write_rows_v1	#	#	table_id: # flags: STMT_END_F
slave-relay-bin.000005	#	Query	#	#	COMMIT
set @@global.debug_dbug= @old_slave_dbug;
# Test dummy event is checksummed correctly.
set @@global.binlog_checksum = CRC32;
TRUNCATE t1;
INSERT INTO t1 VALUES(2);
include/show_binlog_events.inc
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000003	#	Gtid	#	#	BEGIN GTID #-#-#
master-bin.000003	#	Annotate_rows	#	#	INSERT INTO t1 VALUES(2)
master-bin.000003	#	Table_map	#	#	table_id: # (test.t1)
master-bin.000003	#	Write_rows_v1	#	#	table_id: # flags: STMT_END_F
master-bin.000003	#	Query	#	#	COMMIT
SELECT * FROM t1;
a
2
include/show_events.inc
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
slave-relay-bin.000007	#	Query	#	#	BEGIN
slave-relay-bin.000007	#	Query	#	#	# Dummy ev
slave-relay-bin.000007	#	Table_map	#	#	table_id: # (test.t1)
slave-relay-bin.000007	#	Write_rows_v1	#	#	table_id: # flags: STMT_END_F
slave-relay-bin.000007	#	Query	#	#	COMMIT
*** MDEV-5754: MySQL 5.5 slaves cannot replicate from MariaDB 10.0 ***
CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
INSERT INTO t2 VALUES (1);
SET debug_sync='now WAIT_FOR master_queued1';
SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
INSERT INTO t2 VALUES (2);
SET debug_sync='now WAIT_FOR master_queued2';
SET debug_sync='now SIGNAL master_cont1';
SET debug_sync='RESET';
SET debug_sync='RESET';
SET debug_sync='RESET';
include/show_binlog_events.inc
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000003	#	Gtid	#	#	BEGIN GTID #-#-# cid=#
master-bin.000003	#	Table_map	#	#	table_id: # (test.t2)
master-bin.000003	#	Write_rows_v1	#	#	table_id: # flags: STMT_END_F
master-bin.000003	#	Xid	#	#	COMMIT /* XID */
master-bin.000003	#	Gtid	#	#	BEGIN GTID #-#-# cid=#
master-bin.000003	#	Table_map	#	#	table_id: # (test.t2)
master-bin.000003	#	Write_rows_v1	#	#	table_id: # flags: STMT_END_F
master-bin.000003	#	Xid	#	#	COMMIT /* XID */
SELECT * FROM t2 ORDER BY a;
a
1
2
# Test that slave which cannot tolerate holes in binlog stream but
# knows the event does not get dummy event
include/stop_slave.inc
SET @@global.debug_dbug='+d,simulate_slave_capability_old_53';
include/start_slave.inc
ALTER TABLE t1 ORDER BY a;
UPDATE t1 SET a = 3;
include/show_binlog_events.inc
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000003	#	Gtid	#	#	BEGIN GTID #-#-#
master-bin.000003	#	Annotate_rows	#	#	UPDATE t1 SET a = 3
master-bin.000003	#	Table_map	#	#	table_id: # (test.t1)
master-bin.000003	#	Update_rows_v1	#	#	table_id: # flags: STMT_END_F
master-bin.000003	#	Query	#	#	COMMIT
SELECT * FROM t1;
a
3
include/show_events.inc
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
slave-relay-bin.000008	#	Query	#	#	BEGIN
slave-relay-bin.000008	#	Annotate_rows	#	#	UPDATE t1 SET a = 3
slave-relay-bin.000008	#	Table_map	#	#	table_id: # (test.t1)
slave-relay-bin.000008	#	Update_rows_v1	#	#	table_id: # flags: STMT_END_F
slave-relay-bin.000008	#	Query	#	#	COMMIT
select @@global.log_slave_updates;
@@global.log_slave_updates
1
select @@global.replicate_annotate_row_events;
@@global.replicate_annotate_row_events
0
set @@global.debug_dbug= @old_slave_dbug;
Clean up.
set @@global.binlog_checksum = @old_master_binlog_checksum;
DROP TABLE t1, t2;
include/rpl_end.inc