Below is the list of changes that have just been committed into a local
4.1 repository of matthias. When matthias 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
1.2505 06/04/12 16:59:59 mleich@stripped +6 -0
Fixes for Bug#12429: Replication tests fail: "Slave_IO_Running" (?) differs
related to MySQL 4.1 !!
- backport of several fixes done in MySQL 5.0 to 4.1
- fix for new discovered instability (see comment on Bug#12429)
- reenabling of testcases
mysql-test/t/rpl_until.test
1.18 06/04/12 16:59:49 mleich@stripped +4 -0
Add wait_for_slave_to_stop like in the current MySQL 5.0 version of this test.
I guess this makes the test results more predictable.
mysql-test/t/rpl_relayrotate.test
1.13 06/04/12 16:59:49 mleich@stripped +3 -5
- Replace select ... with select max(a)
- add sync_with_master (backport fix done by Kristian in MySQL 5.0 because of timing problems similar to Bug#15624)
mysql-test/t/rpl_deadlock.test
1.6 06/04/12 16:59:49 mleich@stripped +5 -5
- replace sleep with real_sleep (backport fix for Bug#15624 MySQL 5.0)
- egalized value for Slave_IO_Running
- line 105 (backport fix for Bug#12429 MySQL 5.0)
- line 85 (see comment in Bug#12429)
mysql-test/t/disabled.def
1.3 06/04/12 16:59:48 mleich@stripped +0 -3
Enable testcases
mysql-test/r/rpl_relayrotate.result
1.8 06/04/12 16:59:48 mleich@stripped +2 -5
Updated result
mysql-test/r/rpl_deadlock.result
1.4 06/04/12 16:59:48 mleich@stripped +2 -2
Update results
# 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: mleich
# Host: three.local.lan
# Root: /home/matthias/Arbeit/mysql-4.1/src-Y
--- 1.17/mysql-test/t/rpl_until.test 2005-12-12 17:51:52 +01:00
+++ 1.18/mysql-test/t/rpl_until.test 2006-04-12 16:59:49 +02:00
@@ -26,6 +26,7 @@
connection slave;
start slave until master_log_file='master-bin.000001', master_log_pos=244;
sleep 2;
+wait_for_slave_to_stop;
# here table should be still not deleted
select * from t1;
--replace_result $MASTER_MYPORT MASTER_MYPORT
@@ -37,6 +38,7 @@
# again this table should be still not deleted
select * from t1;
sleep 2;
+wait_for_slave_to_stop;
--replace_result $MASTER_MYPORT MASTER_MYPORT
--replace_column 1 # 9 # 11 # 23 # 33 #
show slave status;
@@ -44,6 +46,7 @@
# try replicate all until second insert to t2;
start slave until relay_log_file='slave-relay-bin.000002', relay_log_pos=537;
sleep 4;
+wait_for_slave_to_stop;
select * from t2;
--replace_result $MASTER_MYPORT MASTER_MYPORT
--replace_column 1 # 9 # 11 # 23 # 33 #
@@ -61,6 +64,7 @@
start slave until master_log_file='master-bin.000001', master_log_pos=561;
# 2 is not enough when running with valgrind
--real_sleep 4
+wait_for_slave_to_stop;
# here the sql slave thread should be stopped
--replace_result $MASTER_MYPORT MASTER_MYPORT bin.000005 bin.000004 bin.000006 bin.000004 bin.000007 bin.000004
--replace_column 1 # 9 # 23 # 33 #
--- 1.3/mysql-test/r/rpl_deadlock.result 2005-07-13 13:47:50 +02:00
+++ 1.4/mysql-test/r/rpl_deadlock.result 2006-04-12 16:59:48 +02:00
@@ -63,7 +63,7 @@
22
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
-# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 13110 # # master-bin.000001 Yes Yes 0 0 13110 # None 0 No #
+# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 13110 # # master-bin.000001 # Yes 0 0 13110 # None 0 No #
set global max_relay_log_size=0;
stop slave;
change master to master_log_pos=401;
@@ -83,5 +83,5 @@
22
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
-# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 13110 # # master-bin.000001 Yes Yes 0 0 13110 # None 0 No #
+# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 13110 # # master-bin.000001 # Yes 0 0 13110 # None 0 No #
drop table t1,t2,t3,t4;
--- 1.7/mysql-test/r/rpl_relayrotate.result 2004-05-19 15:43:30 +02:00
+++ 1.8/mysql-test/r/rpl_relayrotate.result 2006-04-12 16:59:48 +02:00
@@ -10,10 +10,7 @@
start slave;
stop slave;
start slave;
-select master_pos_wait('master-bin.001',3000)>=0;
-master_pos_wait('master-bin.001',3000)>=0
-1
-select * from t1 where a=8000;
-a
+select max(a) from t1;
+max(a)
8000
drop table t1;
--- 1.5/mysql-test/t/rpl_deadlock.test 2005-09-01 17:19:15 +02:00
+++ 1.6/mysql-test/t/rpl_deadlock.test 2006-04-12 16:59:49 +02:00
@@ -58,7 +58,7 @@
enable_query_log;
select * from t1 for update;
start slave;
---sleep 3 # hope that slave is blocked now
+--real_sleep 3 # hope that slave is blocked now
insert into t2 values(22); # provoke deadlock, slave should be victim
commit;
sync_with_master;
@@ -76,13 +76,13 @@
begin;
select * from t2 for update; # hold lock
start slave;
---sleep 10 # slave should have blocked, and be retrying
+--real_sleep 10 # slave should have blocked, and be retrying
commit;
sync_with_master;
select * from t1; # check that slave succeeded finally
select * from t2;
# check that no error is reported
---replace_column 1 # 8 # 9 # 23 # 33 #
+--replace_column 1 # 8 # 9 # 11 # 23 # 33 #
--replace_result $MASTER_MYPORT MASTER_MYPORT
show slave status;
@@ -97,12 +97,12 @@
begin;
select * from t2 for update;
start slave;
---sleep 10
+--real_sleep 10
commit;
sync_with_master;
select * from t1;
select * from t2;
---replace_column 1 # 8 # 9 # 23 # 33 #
+--replace_column 1 # 8 # 9 # 11 # 23 # 33 #
--replace_result $MASTER_MYPORT MASTER_MYPORT
show slave status;
--- 1.12/mysql-test/t/rpl_relayrotate.test 2005-07-28 02:21:48 +02:00
+++ 1.13/mysql-test/t/rpl_relayrotate.test 2006-04-12 16:59:49 +02:00
@@ -52,11 +52,9 @@
# which proves that the transaction restarted at
# the right place.
# We must wait for the transaction to commit before
-# reading, MASTER_POS_WAIT() will do it for sure
-# (the only statement with position>=3000 is COMMIT).
-select master_pos_wait('master-bin.001',3000)>=0;
-select * from t1 where a=8000;
-
+# reading:
+sync_with_master;
+select max(a) from t1;
connection master;
# The following DROP is a very important cleaning task:
--- 1.2/mysql-test/t/disabled.def 2006-01-27 13:23:07 +01:00
+++ 1.3/mysql-test/t/disabled.def 2006-04-12 16:59:48 +02:00
@@ -10,6 +10,3 @@
#
##############################################################################
-rpl_relayrotate : Unstable test case, bug#12429
-rpl_until : Unstable test case, bug#12429
-rpl_deadlock : Unstable test case, bug#12429
| Thread |
|---|
| • bk commit into 4.1 tree (mleich:1.2505) BUG#12429 | mleich | 12 Apr |