Below is the list of changes that have just been committed into a local
5.1 repository of elkin. When elkin 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-10-22 21:45:21+03:00, aelkin@stripped +3 -0
Bug #30594 rpl.rpl_skip_error is nondeterministic
Non-determinism in the tests was due to results of SBR are different from those gained
with row binlog format.
Because tests effectively verify skipping only ER_DUP_ENTRY it is explicitly required
to run the test on in mixed and stmt binlog format.
ER_DUP_ENTRY is automatically ignored when happened in RBR because of implicit rule
favoring reentrant reading from binlog rule
which means that a Write_rows_log_event overwrites a slave's row
if the one has the same primary key.
If future we might have skipping error due to applying of row-based events.
The comments added saying a new file would be needed for that: rpl_row_skip_error or smth.
mysql-test/suite/rpl/r/rpl_skip_error.result@stripped, 2007-10-22 21:45:17+03:00, aelkin@stripped +1 -2
new results
mysql-test/suite/rpl/t/rpl_skip_error-slave.opt@stripped, 2007-10-22 21:45:17+03:00, aelkin@stripped +1 -1
wrong error code that can not happen in the test removed.
mysql-test/suite/rpl/t/rpl_skip_error.test@stripped, 2007-10-22 21:45:17+03:00, aelkin@stripped +8 -0
enforcing the test is to skip only errors due to SBR.
The current test does not check anything for RBR as ignorable ER_DUP_ENTRY
does make sense only for SBR.
diff -Nrup a/mysql-test/suite/rpl/r/rpl_skip_error.result b/mysql-test/suite/rpl/r/rpl_skip_error.result
--- a/mysql-test/suite/rpl/r/rpl_skip_error.result 2007-07-30 01:10:20 +03:00
+++ b/mysql-test/suite/rpl/r/rpl_skip_error.result 2007-10-22 21:45:17 +03:00
@@ -29,8 +29,7 @@ select * from t1;
a
1
2
-3
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 Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error
-# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 786 # # master-bin.000001 Yes Yes 0 0 786 # None 0 No # No 0 0
+# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 851 # # master-bin.000001 Yes Yes 0 0 851 # None 0 No # No 0 0
drop table t1;
diff -Nrup a/mysql-test/suite/rpl/t/rpl_skip_error-slave.opt b/mysql-test/suite/rpl/t/rpl_skip_error-slave.opt
--- a/mysql-test/suite/rpl/t/rpl_skip_error-slave.opt 2007-07-30 14:32:04 +03:00
+++ b/mysql-test/suite/rpl/t/rpl_skip_error-slave.opt 2007-10-22 21:45:17 +03:00
@@ -1 +1 @@
---slave-skip-error=1062,1582
+--slave-skip-error=1062
diff -Nrup a/mysql-test/suite/rpl/t/rpl_skip_error.test b/mysql-test/suite/rpl/t/rpl_skip_error.test
--- a/mysql-test/suite/rpl/t/rpl_skip_error.test 2007-06-27 15:28:29 +03:00
+++ b/mysql-test/suite/rpl/t/rpl_skip_error.test 2007-10-22 21:45:17 +03:00
@@ -3,6 +3,14 @@
#########################################
# Note that errors are ignored by opt file.
source include/master-slave.inc;
+source include/have_binlog_format_mixed_or_statement.inc;
+
+#
+# Bug #30594
+# Skipping error due to applying Row-based repliation events
+# should be checked with another test file
+# consider names like rpl_row_skip_error
+#
create table t1 (n int not null primary key);
save_master_pos;
| Thread |
|---|
| • bk commit into 5.1 tree (aelkin:1.2578) BUG#30594 | Andrei Elkin | 22 Oct |