Bug #22608 CR: Delete rows end up in binlog prior to drop of table
Submitted: 22 Sep 2006 17:14 Modified: 30 Jan 2007 18:06
Reporter: Jonathan Miller Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Cluster: Replication Severity:S2 (Serious)
Version:5.1.12 OS:Linux (Linux 32 Bit OS)
Assigned to: Jonathan Miller CPU Architecture:Any

[22 Sep 2006 17:14] Jonathan Miller
Description:
In repeating a test for feedback to another bug, I ran into this issue. I left running over night the cid_ndb_dd.pl script. This script creates a database, creates a table, inserts data, deletes the data, drops the table, drops the database and repeats.

I found that after it had been running for about 3 hours, the slave produced this error:

Last_Errno: 1146
Last_Error: Error 'Table 'TESTER.t1' doesn't exist' on opening table `TESTER`.`t1`

060922 15:19:13 [Note] Slave SQL thread initialized, starting replication in log 'n08.000001' at position 796596835, relay log './n12-relay-bin.000004' position: 12047481 060922 15:19:13 [ERROR] Slave: Error 'Table 'TESTER.t1' doesn't exist' on opening table `TESTER`.`t1`, Error_code: 1146
060922 15:19:13 [Warning] Slave: Table 'TESTER.t1' doesn't exist Error_code: 1146
060922 15:19:13 [Warning] Slave: Unknown error Error_code: 1105
060922 15:19:13 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'n08.000001' position 796596835

So I droped the database on both the master and the slave, reset both and restarted the test. This time we hit the error right out of the gate:

060922 18:36:15 [Note] Slave I/O thread: connected to master 'rep@n08:3306',  replication started in log 'FIRST' at position 4
060922 18:36:17 [ERROR] Slave: Error 'Table 'TESTER.t1' doesn't exist' on opening table `TESTER`.`t1`, Error_code: 1146
060922 18:36:17 [Warning] Slave: Table 'TESTER.t1' doesn't exist Error_code: 1146
060922 18:36:17 [Warning] Slave: Unknown error Error_code: 1105
060922 18:36:17 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'n08.000002' position 34796

I looked at the binlog and the relay log through mysqlbinlog and both look identical. I copied off the relay log, reset the slave, flushed the logs and restarted the slave to reprocess the binlog from the master. I still get the error.

I will attach the script, the binlog, relay log and error logs to this bug report.

NOTE: The test did not stop or have errors on the master. 
 

How to repeat:
Configuration:
Master:
host1 - mysqld, ndbd, ndb_mgmd (used for replication and script)
host2 - mysqld, ndbd
host3 - mysqld

Slave:
host4 - ndbd, ndb_mgmd
host5 - ndbd
host6 - mysqld (used as slave for replication)

The test was using memory tables.

Try to reprocess the master binlog.
[22 Sep 2006 17:22] Jonathan Miller
test script

Attachment: cid_ndb_dd.pl (application/x-perl, text), 19.70 KiB.

[30 Jan 2007 18:06] Jonathan Miller
Hi,

I have rerun the test over the last 24 hours with the latest telco clone. I am not able to recreate the issue currently. I will reopen if I hit it again at a later date.

/jeb