Bug #47927 | Replication fails when executing random queries in server | ||
---|---|---|---|
Submitted: | 8 Oct 2009 23:49 | Modified: | 6 Dec 2009 4:36 |
Reporter: | Hema Sridharan | Email Updates: | |
Status: | Duplicate | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S3 (Non-critical) |
Version: | mysql-5.1, mysql-6.0 | OS: | Any |
Assigned to: | Luis Soares | CPU Architecture: | Any |
[8 Oct 2009 23:49]
Hema Sridharan
[8 Oct 2009 23:50]
Hema Sridharan
Please see similar BUG#39753
[9 Oct 2009 2:07]
MySQL Verification Team
I couldn't repeat with mysql-6.0 tree which exactly source tree have you tried?. Thanks in advance.
[9 Oct 2009 2:36]
Hema Sridharan
I used mysql-6.0-backup and mysql-5.1 tree
[9 Oct 2009 11:33]
MySQL Verification Team
Thank you for the feedback. I was able to repeat with mysql-5.1 ( I tried before with mysql-6.0): 1_int_autoinc', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log master-bin.000018, end_log_pos 14974 # 08:29:02 Slave has stopped with error: Could not execute Delete_rows event on table test.table1_int_autoinc; Can't find record in 'table1_int_autoinc', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log master-bin.000018, end_log_pos 14974 # 08:29:02 Slave has stopped with error: Could not execute Delete_rows event on table test.table1_int_autoinc; Can't find record in 'table1_int_autoinc', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log master-bin.000018, end_log_pos 14974 # 08:29:02 Killing child process with pid 12598...
[9 Oct 2009 11:41]
MySQL Verification Team
Thank you for the bug report. Verified as described on Suse 11.2 64-bit.
[6 Dec 2009 4:36]
Luis Soares
Analysis ======== 1. I tried to repeat the failure in mysql-5.1, and was able to do it: # 16:12:54 Slave has stopped with error: Could not execute Delete_rows event on table test.table1_int_autoinc; Can't find record in 'table1_int_autoinc', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log master-bin.000022, end_log_pos 14317 2. table1_int_autoinc is created with default engine (MyISAM), therefore is a non-transactional table. 3. Searching master binlog for position 14317, I find a delete rows event for table table1_int_autoinc, as expected on behalf of thread_id=13. 4. Searching the master query log file I find that there is only one delete on table1_auto_inc issued on behalf of thread 13: 13 Query DELETE FROM `table1_int_autoinc` WHERE `int` > 0 LIMIT 1 This instruction is preceded by: 13 Query SET AUTOCOMMIT=OFF 13 Query START TRANSACTION Furthermore, while thread 13 transaction context, is valid, there are other threads/connections changing table table1_int_autoinc and with autocommit=ON. Conclusion ========== 1. This is the same behavior described in BUG#40278 in general and in particular well documented in BUG#43667. 2. Given 1., this bug shall be marked as a duplicate of BUG#40278. WL#2687 is the fix for this, and is currently pushed into tree mysql-5.1-rep+3. 3. I have tested in mysql-5.1-rep+3 and this problem with table table1_int_autoinc does not show up anymore. However other issues were found (some similar to this one, but with different root cause). These are tracked and should be fixed in: BUG#49479, BUG#49481 and BUG#49482.