Below is the list of changes that have just been committed into a local
5.0 repository of hf. When hf does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-06-20 14:05:49+05:00, holyfoot@stripped +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
mysql-test/r/rpl_skip_error.result@stripped, 2007-06-20 14:05:48+05:00, holyfoot@stripped +19 -0
Bug #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists.
test result
mysql-test/t/rpl_skip_error.test@stripped, 2007-06-20 14:05:48+05:00, holyfoot@stripped +19 -0
Bug #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists.
test case
sql/log_event.cc@stripped, 2007-06-20 14:05:48+05:00, holyfoot@stripped +1 -0
Bug #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists.
clear thd->killed state if we ignore the error
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: holyfoot
# Host: hfmain.(none)
# Root: /home/hf/work/28839/my50-28839
--- 1.233/sql/log_event.cc 2007-06-20 14:05:53 +05:00
+++ 1.234/sql/log_event.cc 2007-06-20 14:05:53 +05:00
@@ -1964,6 +1964,7 @@ Default database: '%s'. Query: '%s'",
{
DBUG_PRINT("info",("error ignored"));
clear_all_errors(thd, rli);
+ thd->killed= THD::NOT_KILLED;
}
/*
Other cases: mostly we expected no error and get one.
--- 1.7/mysql-test/r/rpl_skip_error.result 2007-06-20 14:05:53 +05:00
+++ 1.8/mysql-test/r/rpl_skip_error.result 2007-06-20 14:05:53 +05:00
@@ -14,3 +14,22 @@ n
2
3
drop table t1;
+create table t1(a int primary key);
+insert into t1 values (1),(2);
+delete from t1 where @@server_id=1;
+set sql_mode=strict_trans_tables;
+select @@server_id;
+@@server_id
+1
+insert into t1 values (1),(2),(3);
+select @@server_id;
+@@server_id
+2
+select * from t1;
+a
+1
+2
+show slave status;
+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
+Waiting for master to send event 127.0.0.1 root 9306 1 master-bin.000001 843 slave-relay-bin.000003 981 master-bin.000001 Yes Yes 0 0 843 981 None 0 No 0
+drop table t1;
--- 1.7/mysql-test/t/rpl_skip_error.test 2007-06-20 14:05:53 +05:00
+++ 1.8/mysql-test/t/rpl_skip_error.test 2007-06-20 14:05:53 +05:00
@@ -17,3 +17,22 @@ connection master;
drop table t1;
sync_with_master;
# End of 4.1 tests
+
+#
+# #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists
+#
+create table t1(a int primary key);
+insert into t1 values (1),(2);
+delete from t1 where @@server_id=1;
+set sql_mode=strict_trans_tables;
+select @@server_id;
+insert into t1 values (1),(2),(3);
+sync_slave_with_master;
+connection slave;
+select @@server_id;
+select * from t1;
+show slave status;
+connection master;
+drop table t1;
+sync_with_master;
+# End of 5.0 tests
| Thread |
|---|
| • bk commit into 5.0 tree (holyfoot:1.2493) BUG#28839 | holyfoot | 20 Jun |