~ubuntu-branches/ubuntu/maverick/mysql-5.1/maverick-proposed

« back to all changes in this revision

Viewing changes to mysql-test/suite/rpl/t/rpl_packet.test

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-02-22 14:16:05 UTC
  • mto: This revision was merged to the branch mainline in revision 20.
  • Revision ID: package-import@ubuntu.com-20120222141605-nxlu9yzc6attylc2
Tags: upstream-5.1.61
ImportĀ upstreamĀ versionĀ 5.1.61

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# ==== Purpose ====
1
2
#
2
3
# Check replication protocol packet size handling
 
4
#
 
5
# ==== Related bugs ====
3
6
# Bug#19402 SQL close to the size of the max_allowed_packet fails on slave
4
 
#
 
7
# BUG#23755: Replicated event larger that max_allowed_packet infinitely re-transmits
 
8
# BUG#42914: No LAST_IO_ERROR for max_allowed_packet errors
 
9
# BUG#55322: SHOW BINLOG EVENTS increases @@SESSION.MAX_ALLOWED_PACKET
5
10
 
6
11
# max-out size db name 
7
12
source include/master-slave.inc;
21
26
SET @@global.max_allowed_packet=1024;
22
27
SET @@global.net_buffer_length=1024;
23
28
 
 
29
sync_slave_with_master;
24
30
# Restart slave for setting to take effect
25
 
connection slave;
26
31
source include/stop_slave.inc;
27
32
source include/start_slave.inc;
28
33
 
38
43
create table `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
39
44
 
40
45
INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1023');
41
 
save_master_pos;
42
46
 
43
 
connection slave;
44
 
sync_with_master;
 
47
sync_slave_with_master;
45
48
eval select count(*) from `$db`.`t1` /* must be 1 */;
46
49
 
47
50
SHOW STATUS LIKE 'Slave_running';
48
51
select * from information_schema.session_status where variable_name= 'SLAVE_RUNNING';
49
52
connection master;
50
53
eval drop database $db;
51
 
save_master_pos;
52
54
 
53
 
connection slave;
54
 
sync_with_master;
 
55
sync_slave_with_master;
55
56
 
56
57
#
57
58
# Bug #23755: Replicated event larger that max_allowed_packet infinitely re-transmits
84
85
 
85
86
INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2048');
86
87
 
87
 
# The slave I/O thread must stop after trying to read the above event
88
 
connection slave;
89
 
--source include/wait_for_slave_io_to_stop.inc
90
 
let $slave_io_running= query_get_value(SHOW SLAVE STATUS, Slave_IO_Running, 1);
91
 
--echo Slave_IO_Running = $slave_io_running (expect No)
 
88
 
92
89
#
93
90
# Bug#42914: The slave I/O thread must stop after trying to read the above
94
91
# event, However there is no Last_IO_Error report.
95
92
#
96
 
let $last_io_error= query_get_value(SHOW SLAVE STATUS, Last_IO_Error, 1);
97
 
eval SELECT "$last_io_error" AS Last_IO_Error;
 
93
 
 
94
# The slave I/O thread must stop after trying to read the above event
 
95
connection slave;
 
96
# 1153 = ER_NET_PACKET_TOO_LARGE
 
97
--let $slave_io_errno= 1153
 
98
--let $show_slave_io_error= 1
 
99
--source include/wait_for_slave_io_error.inc
 
100
 
 
101
# TODO: this is needed because of BUG#55790. Remove once that is fixed.
 
102
--source include/stop_slave_sql.inc
98
103
 
99
104
#
100
105
# Bug#42914: On the master, if a binary log event is larger than
102
107
# is sent to a slave when it requests a dump from the master, thus leading the
103
108
# I/O thread to stop. However, there is no Last_IO_Error reported.
104
109
#
105
 
source include/master-slave-reset.inc;
 
110
 
 
111
--let $rpl_only_running_threads= 1
 
112
--source include/rpl_reset.inc
 
113
--connection master
 
114
DROP TABLE t1;
 
115
--sync_slave_with_master
 
116
 
 
117
 
106
118
connection master;
107
119
CREATE TABLE t1 (f1 int PRIMARY KEY, f2 LONGTEXT, f3 LONGTEXT) ENGINE=MyISAM;
108
120
sync_slave_with_master;
112
124
 
113
125
connection slave;
114
126
# The slave I/O thread must stop after receiving
115
 
# ER_MASTER_FATAL_ERROR_READING_BINLOG error message from master.
116
 
--source include/wait_for_slave_io_to_stop.inc
117
 
let $slave_io_running= query_get_value(SHOW SLAVE STATUS, Slave_IO_Running, 1);
118
 
--echo Slave_IO_Running = $slave_io_running (expect No)
119
 
let $last_io_error= query_get_value(SHOW SLAVE STATUS, Last_IO_Error, 1);
120
 
eval SELECT "$last_io_error" AS Last_IO_Error;
 
127
# 1236=ER_MASTER_FATAL_ERROR_READING_BINLOG error message from master.
 
128
--let $slave_io_errno= 1236
 
129
--let $show_slave_io_error= 1
 
130
--source include/wait_for_slave_io_error.inc
 
131
 
 
132
# Remove the bad binlog and clear error status on slave.
 
133
STOP SLAVE;
 
134
RESET SLAVE;
 
135
--connection master
 
136
RESET MASTER;
 
137
 
 
138
 
 
139
#
 
140
# BUG#55322: SHOW BINLOG EVENTS increases @@SESSION.MAX_ALLOWED_PACKET
 
141
#
 
142
# In BUG#55322, @@session.max_allowed_packet increased each time SHOW
 
143
# BINLOG EVENTS was issued. To verify that this bug is fixed, we
 
144
# execute SHOW BINLOG EVENTS twice and check that max_allowed_packet
 
145
# never changes.  We turn off the result log because we don't care
 
146
# about the contents of the binlog.
 
147
 
 
148
--disable_result_log
 
149
SET @max_allowed_packet_0= @@session.max_allowed_packet;
 
150
SHOW BINLOG EVENTS;
 
151
SET @max_allowed_packet_1= @@session.max_allowed_packet;
 
152
SHOW BINLOG EVENTS;
 
153
SET @max_allowed_packet_2= @@session.max_allowed_packet;
 
154
--enable_result_log
 
155
if (`SELECT NOT(@max_allowed_packet_0 = @max_allowed_packet_1 AND @max_allowed_packet_1 = @max_allowed_packet_2)`)
 
156
{
 
157
  --echo ERROR: max_allowed_packet changed after executing SHOW BINLOG EVENTS
 
158
  --source include/show_rpl_debug_info.inc
 
159
  SELECT @max_allowed_packet_0, @max_allowed_packet_1, @max_allowed_packet_2;
 
160
  --die @max_allowed_packet changed after executing SHOW BINLOG EVENTS
 
161
}
 
162
 
121
163
 
122
164
--echo ==== clean up ====
123
165
connection master;
128
170
connection slave;
129
171
DROP TABLE t1;
130
172
 
 
173
# Clear Last_IO_Error
 
174
RESET SLAVE;
 
175
 
 
176
--source include/rpl_end.inc
131
177
# End of tests