~percona-dev/percona-server/release-5.1.52-12-rnt-replication_slave_skip_columns

« back to all changes in this revision

Viewing changes to mysql-test/slave_type_conversions_error_on_truncate.patch/percona_different_columns_count_crash.test

  • Committer: Oleg Tsarev
  • Date: 2011-05-07 22:22:10 UTC
  • Revision ID: oleg.tsarev@percona.com-20110507222210-nqsrr2x8m9d428hd
rpl_utility.cc => create_conversion_table function used column count from event (doesnt' check column count on slave table)
If you drop some columns on slave, input RBR-event from master crash the server
I added additional check, and now slave just exit with slave error.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
-- source include/have_innodb.inc
 
2
-- source include/master-slave.inc
 
3
-- source include/have_binlog_format_row.inc
 
4
-- source include/have_log_bin.inc
 
5
 
 
6
connection master;
 
7
create database foo;
 
8
use foo;
 
9
CREATE TABLE `incidents` (
 
10
`i_id` int(11) NOT NULL DEFAULT '0',
 
11
`ref_no` varchar(13) CHARACTER SET ascii NOT NULL DEFAULT 'XXXXXX-XXXXXX',
 
12
`subject` varchar(240) COLLATE utf8_unicode_ci DEFAULT NULL,
 
13
`status_id` smallint(6) NOT NULL DEFAULT '0',
 
14
`status_type` smallint(6) NOT NULL DEFAULT '0',
 
15
`created_by` int(11) DEFAULT NULL,
 
16
`assgn_acct_id` int(11) DEFAULT NULL,
 
17
`prod_id` int(11) DEFAULT NULL,
 
18
`prod_lvl2_id` smallint(6) DEFAULT NULL,
 
19
`cat_id` int(11) DEFAULT NULL,
 
20
`cat_lvl2_id` smallint(6) DEFAULT NULL,
 
21
`lang_id` smallint(6) DEFAULT NULL,
 
22
`created` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
 
23
`last_resp` timestamp NULL DEFAULT NULL,
 
24
`closed` timestamp NULL DEFAULT NULL,
 
25
`updated` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
 
26
`initial_soln` timestamp NULL DEFAULT NULL,
 
27
`c_id` int(11) DEFAULT NULL,
 
28
`assgn_group_id` int(11) DEFAULT NULL,
 
29
`escldate` timestamp NULL DEFAULT NULL,
 
30
`escllevel` int(11) DEFAULT NULL,
 
31
`sessionid` varchar(11) CHARACTER SET ascii COLLATE ascii_bin DEFAULT NULL,
 
32
`interface_id` smallint(6) NOT NULL,
 
33
`mailbox_id` smallint(6) DEFAULT NULL,
 
34
`ei_cust` smallint(6) DEFAULT NULL,
 
35
`ei_staff` smallint(6) DEFAULT NULL,
 
36
`dormant` tinyint(4) NOT NULL,
 
37
`resp_sav` longtext COLLATE utf8_unicode_ci,
 
38
`disp_id` int(11) DEFAULT NULL,
 
39
`disp_lvl2_id` smallint(6) DEFAULT NULL,
 
40
`queue_id` int(11) DEFAULT NULL,
 
41
`slai_id` int(11) DEFAULT NULL,
 
42
`org_id` int(11) DEFAULT NULL,
 
43
`rel_due` timestamp NULL DEFAULT NULL,
 
44
`sla_resp_delta` int(11) DEFAULT NULL,
 
45
`sla_rsln_delta` int(11) DEFAULT NULL,
 
46
`rule_state` int(11) DEFAULT NULL,
 
47
`chat_queue_id` int(11) DEFAULT NULL,
 
48
`mailing_id` int(11) DEFAULT NULL,
 
49
`rr_id` int(11) DEFAULT NULL,
 
50
`prod_lvl3_id` smallint(6) DEFAULT NULL,
 
51
`prod_lvl4_id` smallint(6) DEFAULT NULL,
 
52
`prod_lvl5_id` smallint(6) DEFAULT NULL,
 
53
`prod_lvl6_id` smallint(6) DEFAULT NULL,
 
54
`cat_lvl3_id` smallint(6) DEFAULT NULL,
 
55
`cat_lvl4_id` smallint(6) DEFAULT NULL,
 
56
`cat_lvl5_id` smallint(6) DEFAULT NULL,
 
57
`cat_lvl6_id` smallint(6) DEFAULT NULL,
 
58
`disp_lvl3_id` smallint(6) DEFAULT NULL,
 
59
`disp_lvl4_id` smallint(6) DEFAULT NULL,
 
60
`disp_lvl5_id` smallint(6) DEFAULT NULL,
 
61
`disp_lvl6_id` smallint(6) DEFAULT NULL,
 
62
`smime_type` tinyint(4) NOT NULL,
 
63
`banner_txt` mediumtext COLLATE utf8_unicode_ci,
 
64
`banner_acct_id` int(11) DEFAULT NULL,
 
65
`banner_upd` timestamp NULL DEFAULT NULL,
 
66
`banner_flag` smallint(6) DEFAULT NULL,
 
67
`last_survey_score` smallint(6) DEFAULT NULL,
 
68
`severity_id` int(11) DEFAULT NULL,
 
69
`source_lvl1` smallint(6) DEFAULT NULL,
 
70
`source_lvl2` smallint(6) DEFAULT NULL,
 
71
`c$qa_score` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
72
`c$qa_date` datetime DEFAULT NULL,
 
73
`c$qa_associate` smallint(6) DEFAULT NULL,
 
74
`c$csat_score` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
75
`c$csat_analysis` smallint(6) DEFAULT NULL,
 
76
`c$qa_section_01` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
77
`c$qa_section_02` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
78
`c$qa_section_03` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
79
`c$qa_section_04` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
80
`c$qa_bonus` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
81
`c$operating_system` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
82
`flow_id` int(11) DEFAULT NULL,
 
83
`post_hash` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
 
84
`resp_chan_id` int(11) DEFAULT NULL,
 
85
`chan_id` int(11) DEFAULT NULL,
 
86
UNIQUE KEY `incidents$i_id` (`i_id`),
 
87
UNIQUE KEY `incidents$ref_no` (`ref_no`),
 
88
KEY `incidents$escldate` (`escldate`),
 
89
KEY `incidents$assgn_acct_id` (`assgn_acct_id`),
 
90
KEY `incidents$c_id` (`c_id`),
 
91
KEY `incidents$slai_id` (`slai_id`),
 
92
KEY `incidents$sessionid` (`sessionid`),
 
93
KEY `incidents$status_id$asgid` (`status_id`,`assgn_group_id`),
 
94
KEY `incidents$status_id$asaid` (`status_id`,`assgn_acct_id`),
 
95
KEY `incidents$status_type$asgid` (`status_type`,`assgn_group_id`),
 
96
KEY `incidents$status_type$asaid` (`status_type`,`assgn_acct_id`),
 
97
KEY `incidents$org_id` (`org_id`),
 
98
KEY `incidents$updated` (`updated`),
 
99
KEY `incidents$created` (`created`),
 
100
KEY `incidents$intf_id` (`interface_id`),
 
101
KEY `incidents$subject` (`subject`),
 
102
KEY `incidents$closed` (`closed`),
 
103
KEY `incidents$product` (`prod_id`),
 
104
KEY `incidents$rule_state` (`rule_state`),
 
105
KEY `incidents$queue_id` (`queue_id`),
 
106
KEY `incidents$asgid` (`assgn_group_id`),
 
107
KEY `incidents$assgn_acct_id$updated` (`assgn_acct_id`,`updated`),
 
108
KEY `incidents$cat_lvl2` (`cat_lvl2_id`),
 
109
KEY `incidents$cat_lvl3` (`cat_lvl3_id`),
 
110
KEY `incidents$created_by` (`created_by`),
 
111
KEY `incidents$banner_acct_id` (`banner_acct_id`),
 
112
KEY `incidents$status_type$queue_id` (`status_type`,`queue_id`),
 
113
KEY `incidents$status_id$queue_id` (`status_id`,`queue_id`),
 
114
KEY `inc$status_type$queue_id$asaid` (`status_type`,`queue_id`,`assgn_acct_id`),
 
115
KEY `incidents$cat_lvl1_id` (`cat_id`),
 
116
KEY `incidents$cat_lvl2_id` (`cat_lvl2_id`),
 
117
KEY `incidents$cat_lvl3_id` (`cat_lvl3_id`),
 
118
KEY `incidents$cat_lvl4_id` (`cat_lvl4_id`),
 
119
KEY `incidents$cat_lvl5_id` (`cat_lvl5_id`),
 
120
KEY `incidents$cat_lvl6_id` (`cat_lvl6_id`),
 
121
KEY `incidents$prod_lvl1_id` (`prod_id`),
 
122
KEY `incidents$prod_lvl2_id` (`prod_lvl2_id`),
 
123
KEY `incidents$prod_lvl3_id` (`prod_lvl3_id`),
 
124
KEY `incidents$prod_lvl4_id` (`prod_lvl4_id`),
 
125
KEY `incidents$prod_lvl5_id` (`prod_lvl5_id`),
 
126
KEY `incidents$prod_lvl6_id` (`prod_lvl6_id`),
 
127
KEY `incidents$disp_lvl1_id` (`disp_id`),
 
128
KEY `incidents$disp_lvl2_id` (`disp_lvl2_id`),
 
129
KEY `incidents$disp_lvl3_id` (`disp_lvl3_id`),
 
130
KEY `incidents$disp_lvl4_id` (`disp_lvl4_id`),
 
131
KEY `incidents$disp_lvl5_id` (`disp_lvl5_id`),
 
132
KEY `incidents$disp_lvl6_id` (`disp_lvl6_id`),
 
133
KEY `incidents$rr_id` (`rr_id`),
 
134
KEY `incidents$flow_id` (`flow_id`),
 
135
KEY `incidents$chat_queue_id` (`chat_queue_id`),
 
136
KEY `incidents$initial_soln` (`initial_soln`),
 
137
KEY `incidents$mailbox_id` (`mailbox_id`),
 
138
KEY `incidents$resp_chan_id` (`resp_chan_id`),
 
139
KEY `incidents$prod_id` (`prod_id`),
 
140
KEY `incidents$cat_id` (`cat_id`),
 
141
KEY `incidents$disp_id` (`disp_id`),
 
142
KEY `incidents$banner_flag` (`banner_flag`),
 
143
KEY `incidents$chan_id` (`chan_id`)
 
144
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
 
145
sync_slave_with_master;
 
146
 
 
147
connection slave;
 
148
use foo;
 
149
SET GLOBAL slave_type_conversions='ALL_NON_LOSSY,ALL_LOSSY';
 
150
DROP TABLE `incidents`;
 
151
CREATE TABLE `incidents` (
 
152
`i_id` int(11) NOT NULL DEFAULT '0',
 
153
`ref_no` varchar(13) CHARACTER SET ascii NOT NULL,
 
154
`subject` varchar(240) COLLATE utf8_unicode_ci DEFAULT NULL,
 
155
`status_id` smallint(6) NOT NULL DEFAULT '0',
 
156
`status_type` smallint(6) NOT NULL DEFAULT '0',
 
157
`created_by` int(11) DEFAULT NULL,
 
158
`assgn_acct_id` int(11) DEFAULT NULL,
 
159
`prod_id` int(11) DEFAULT NULL,
 
160
`cat_id` int(11) DEFAULT NULL,
 
161
`lang_id` smallint(6) DEFAULT NULL,
 
162
`created` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
 
163
`last_resp` timestamp NULL DEFAULT NULL,
 
164
`closed` timestamp NULL DEFAULT NULL,
 
165
`updated` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
 
166
`initial_soln` timestamp NULL DEFAULT NULL,
 
167
`c_id` int(11) DEFAULT NULL,
 
168
`assgn_group_id` int(11) DEFAULT NULL,
 
169
`escldate` timestamp NULL DEFAULT NULL,
 
170
`escllevel` int(11) DEFAULT NULL,
 
171
`sessionid` varchar(11) CHARACTER SET ascii COLLATE ascii_bin DEFAULT NULL,
 
172
`interface_id` smallint(6) NOT NULL,
 
173
`mailbox_id` smallint(6) DEFAULT NULL,
 
174
`ei_cust` smallint(6) DEFAULT NULL,
 
175
`ei_staff` smallint(6) DEFAULT NULL,
 
176
`dormant` tinyint(4) NOT NULL,
 
177
`resp_sav` longtext COLLATE utf8_unicode_ci,
 
178
`disp_id` int(11) DEFAULT NULL,
 
179
`queue_id` int(11) DEFAULT NULL,
 
180
`slai_id` int(11) DEFAULT NULL,
 
181
`org_id` int(11) DEFAULT NULL,
 
182
`rel_due` timestamp NULL DEFAULT NULL,
 
183
`sla_resp_delta` int(11) DEFAULT NULL,
 
184
`sla_rsln_delta` int(11) DEFAULT NULL,
 
185
`rule_state` int(11) DEFAULT NULL,
 
186
`chat_queue_id` int(11) DEFAULT NULL,
 
187
`mailing_id` int(11) DEFAULT NULL,
 
188
`rr_id` int(11) DEFAULT NULL,
 
189
`smime_type` tinyint(4) NOT NULL,
 
190
`banner_txt` mediumtext COLLATE utf8_unicode_ci,
 
191
`banner_acct_id` int(11) DEFAULT NULL,
 
192
`banner_upd` timestamp NULL DEFAULT NULL,
 
193
`banner_flag` smallint(6) DEFAULT NULL,
 
194
`last_survey_score` smallint(6) DEFAULT NULL,
 
195
`severity_id` int(11) DEFAULT NULL,
 
196
`source_lvl1` smallint(6) DEFAULT NULL,
 
197
`source_lvl2` smallint(6) DEFAULT NULL,
 
198
`c$qa_score` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
199
`c$qa_date` datetime DEFAULT NULL,
 
200
`c$qa_associate` smallint(6) DEFAULT NULL,
 
201
`c$csat_score` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
202
`c$csat_analysis` smallint(6) DEFAULT NULL,
 
203
`c$qa_section_01` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
204
`c$qa_section_02` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
205
`c$qa_section_03` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
206
`c$qa_section_04` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
207
`c$qa_bonus` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
208
`c$operating_system` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 
209
`flow_id` int(11) DEFAULT NULL,
 
210
`post_hash` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
 
211
`resp_chan_id` int(11) DEFAULT NULL,
 
212
`chan_id` int(11) DEFAULT NULL,
 
213
UNIQUE KEY `incidents$i_id` (`i_id`),
 
214
UNIQUE KEY `incidents$ref_no` (`ref_no`),
 
215
KEY `incidents$escldate` (`escldate`),
 
216
KEY `incidents$assgn_acct_id` (`assgn_acct_id`),
 
217
KEY `incidents$c_id` (`c_id`),
 
218
KEY `incidents$slai_id` (`slai_id`),
 
219
KEY `incidents$sessionid` (`sessionid`),
 
220
KEY `incidents$status_id$asgid` (`status_id`,`assgn_group_id`),
 
221
KEY `incidents$status_id$asaid` (`status_id`,`assgn_acct_id`),
 
222
KEY `incidents$status_type$asgid` (`status_type`,`assgn_group_id`),
 
223
KEY `incidents$status_type$asaid` (`status_type`,`assgn_acct_id`),
 
224
KEY `incidents$org_id` (`org_id`),
 
225
KEY `incidents$updated` (`updated`),
 
226
KEY `incidents$created` (`created`),
 
227
KEY `incidents$intf_id` (`interface_id`),
 
228
KEY `incidents$subject` (`subject`),
 
229
KEY `incidents$closed` (`closed`),
 
230
KEY `incidents$rule_state` (`rule_state`),
 
231
KEY `incidents$queue_id` (`queue_id`),
 
232
KEY `incidents$asgid` (`assgn_group_id`),
 
233
KEY `incidents$assgn_acct_id$updated` (`assgn_acct_id`,`updated`),
 
234
KEY `incidents$created_by` (`created_by`),
 
235
KEY `incidents$banner_acct_id` (`banner_acct_id`),
 
236
KEY `incidents$status_type$queue_id` (`status_type`,`queue_id`),
 
237
KEY `incidents$status_id$queue_id` (`status_id`,`queue_id`),
 
238
KEY `inc$status_type$queue_id$asaid` (`status_type`,`queue_id`,`assgn_acct_id`),
 
239
KEY `incidents$rr_id` (`rr_id`),
 
240
KEY `incidents$flow_id` (`flow_id`),
 
241
KEY `incidents$chat_queue_id` (`chat_queue_id`),
 
242
KEY `incidents$initial_soln` (`initial_soln`),
 
243
KEY `incidents$mailbox_id` (`mailbox_id`),
 
244
KEY `incidents$resp_chan_id` (`resp_chan_id`),
 
245
KEY `incidents$prod_id` (`prod_id`),
 
246
KEY `incidents$cat_id` (`cat_id`),
 
247
KEY `incidents$disp_id` (`disp_id`),
 
248
KEY `incidents$banner_flag` (`banner_flag`),
 
249
KEY `incidents$chan_id` (`chan_id`)
 
250
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
 
251
 
 
252
connection master;
 
253
 
 
254
BINLOG '
 
255
kt+8TQ8EDAAA7AAAAPAAAAAAAAQANS4xLjUyLTItbG9nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 
256
AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAA2QAEGggAAAAICAgCAAAAAAAAAAAAAAAA
 
257
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 
258
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 
259
AAAAAAAAAAA=
 
260
'/*!*/;
 
261
BINLOG '
 
262
Ygi9TRMEDAAAnQAAAHZg7QAAAIcoAAAAAAEAA2ZvbwAJaW5jaWRlbnRzAEwDDw8CAgMDAwIDAgIH
 
263
BwcHBwMDBwMPAgICAgH8AwIDAwMHAwMDAwMDAgICAgICAgICAgICAfwDBwICAwICDwwCDwIPDw8P
 
264
Dw8DDwMDGg0A0AILAAQD/QL9Av0C/QL9Av0C/QL9Ah4A5G+/+///7///Dw==
 
265
Ygi9TRcEDAAAlgAAAAxh7QAAAIcoAAAAAAEATP////////////+gJTm4Zf/v5//3zdmKAA0xMTA1
 
266
MDEtMDAwMDg3CgBObyBTdW1tYXJ5awACADYAAAAFAAAAAQBiCL1NYgi9TWIIvU0eKVsAeYgBAAIA
 
267
AgADAAAAAAYAAADQyb1NYPr//wIAAAANAAAAAAZ9iRMBAAAA
 
268
'/*!*/;
 
269
connection slave;
 
270
wait_for_slave_to_stop;
 
271
let $error=query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1);
 
272
echo $error;
 
273
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
 
274
START SLAVE;
 
275
SET GLOBAL slave_type_conversions='';
 
276
 
 
277
connection master;
 
278
drop database foo;
 
279
sync_slave_with_master;