DELETE FROM (w/o WHERE) crashes slaves if master does not have binlogging enabled
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
MySQL patches by Codership | Status tracked in 5.6 | |||||
5.5 |
Invalid
|
Undecided
|
Unassigned | |||
5.6 |
Fix Released
|
Critical
|
Seppo Jaakola | |||
Percona XtraDB Cluster moved to https://jira.percona.com/projects/PXC | Status tracked in 5.6 | |||||
5.5 |
Invalid
|
Undecided
|
Unassigned | |||
5.6 |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
How to reproduce: on a node with disabled binlog execute:
mysql> CREATE TABLE test.t1 (pk INT AUTO_INCREMENT PRIMARY KEY);
Query OK, 0 rows affected (0.03 sec)
mysql> INSERT INTO test.t1 VALUES(default);
Query OK, 1 row affected (0.01 sec)
// at that point all nodes have the same row in the table
mysql> DELETE FROM test.t1;
Query OK, 1 row affected (0.00 sec)
On slaves you get the following message in the error log:
2013-11-22 23:10:17 14523 [ERROR] Slave SQL: Could not execute Delete_rows event on table test.t1; Can't find record in 't1', Error_code: 1032; handler error HA_ERR_END_OF_FILE; the event's master log FIRST, end_log_pos 141, Error_code: 1032
2013-11-22 23:10:17 14523 [Warning] WSREP: RBR event 3 Delete_rows apply warning: 137, 3
mysqld: /home/ayurchen/
21:10:17 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.
key_buffer_
read_buffer_
max_used_
max_threads=1024
thread_count=9
connection_count=9
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_
Hope that's ok; if not, decrease some variables in the equation.
Thread pointer: 0x7f63fc0009a0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 7f64306d0a70 thread_stack 0x40000
/run/shm/
/run/shm/
/lib/x86_
/lib/x86_
/lib/x86_
/lib/x86_
/lib/x86_
/run/shm/
/run/shm/
/run/shm/
/run/shm/
/run/shm/
/run/shm/
/run/shm/
/run/shm/
/run/shm/
/run/shm/
/run/shm/
/run/shm/
/run/shm/
/lib/x86_
/lib/x86_
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0): Connection ID (thread ID): 3
Status: NOT_KILLED
The manual page at http://
information that should help you find out what is causing the crash.
Writing a core file
not applicable to 5.5 branch