| Bug #28839 | Errors in strict mode silently stop SQL thread if --slave-skip-errors exists | ||
|---|---|---|---|
| Submitted: | 1 Jun 2007 14:50 | Modified: | 23 Jul 2007 19:44 |
| Reporter: | Domas Mituzas | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Replication | Severity: | S1 (Critical) |
| Version: | 5.0-bk, 5.1-bk | OS: | Any |
| Assigned to: | Alexey Botchkov | CPU Architecture: | Any |
[19 Jun 2007 7:35]
Domas Mituzas
testcase
Attachment: rpl_bug28839.test (, text), 349 bytes.
[19 Jun 2007 7:36]
Domas Mituzas
slave option file for testcase
Attachment: rpl_bug28839-slave.opt (, text), 29 bytes.
[19 Jun 2007 11:15]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/29096 ChangeSet@1.2493, 2007-06-19 15:15:40+05:00, holyfoot@mysql.com +2 -0 Bug #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists. slave_sql thread calls thd->clear_error() to force error to be ignored, though this method didn't clear thd->killed state, what causes slave_sql thread to stop. thd->killed clearing added to THD::clear_error as a fix
[19 Jun 2007 20:00]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/29131 ChangeSet@1.2493, 2007-06-20 00:00:33+05:00, holyfoot@mysql.com +4 -0 Bug #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists. slave_sql thread calls thd->clear_error() to force error to be ignored, though this method didn't clear thd->killed state, what causes slave_sql thread to stop. thd->killed clearing added to THD::clear_error as a fix
[20 Jun 2007 10:05]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/29174 ChangeSet@1.2493, 2007-06-20 14:05:49+05:00, holyfoot@mysql.com +3 -0 Bug #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists. slave_sql thread calls thd->clear_error() to force error to be ignored, though this method didn't clear thd->killed state, what causes slave_sql thread to stop. clear thd->killed state if we ignore an error
[25 Jun 2007 21:49]
Bugs System
Pushed into 5.1.21-beta
[25 Jun 2007 21:51]
Bugs System
Pushed into 5.0.46
[23 Jul 2007 19:44]
Paul DuBois
Noted in 5.0.46, 5.1.21 changelogs. In strict SQL mode, errors silently stopped the SQL thread even for errors named using the --slave-skip-errors option.

Description: If there is failing event, that has ignored error but is in STRICT_TRANS_TABLES mode, replication will stop without mentioning the problem in error log or 'SHOW SLAVE STATUS' How to repeat: slave running with --slave-skip-errors=1062,1582 mysql> insert into t1 select * from t2; ERROR 1062 (23000): Duplicate entry '1' for key 1 mysql> delete from t1 where @@server_id=77; Query OK, 2 rows affected (0.03 sec) mysql> set sql_mode=strict_trans_tables; Query OK, 0 rows affected (0.00 sec) mysql> insert into t1 select * from t2; Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 results in only this line in error log on slave: 070601 17:45:30 [Note] Slave SQL thread exiting, replication stopped in log 'flute-bin.000007' at position 94 and SHOW SLAVE STATUS shows: Slave_IO_Running: Yes Slave_SQL_Running: No Last_Errno: 0 Last_Error: Suggested fix: be verbose about failure and/or continue the work. don't kill the slave thread.