summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorgbichot@production.mysql.com <>2005-07-04 22:27:16 +0200
committergbichot@production.mysql.com <>2005-07-04 22:27:16 +0200
commit9cfdf2861a55c94a420380630d47e8ab8119cc82 (patch)
treebaf0c231ae2622de89fc8f58bf7dbb40271dadc6 /mysql-test
parentd42a35935d5b54065e76de272c346b285a9ec798 (diff)
downloadmariadb-git-9cfdf2861a55c94a420380630d47e8ab8119cc82.tar.gz
Making rpl_until more robust if machine is slow. Removing rpl_trunc_binlog
which is wrong now that slave recovers gracefully from a crashed binlog (thx Serg). stat -> my_stat in my_copy.c so that failing stat() does not hang client connection.
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/rpl_trunc_binlog.result17
-rw-r--r--mysql-test/t/rpl_trunc_binlog.test35
-rw-r--r--mysql-test/t/rpl_until.test9
3 files changed, 6 insertions, 55 deletions
diff --git a/mysql-test/r/rpl_trunc_binlog.result b/mysql-test/r/rpl_trunc_binlog.result
deleted file mode 100644
index 2663fffe4d4..00000000000
--- a/mysql-test/r/rpl_trunc_binlog.result
+++ /dev/null
@@ -1,17 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-stop slave;
-flush logs;
-create table t1 (a int) engine=bdb;
-reset slave;
-start slave;
-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_PORT 1 master-bin.000002 4 # # master-bin.000002 Yes Yes 0 Rolling back unfinished transaction (no COMMIT or ROLLBACK) from relay log. A probable cause is that the master died while writing the transaction to its binary log. 0 4 # None 0 No #
-select * from t1;
-a
-drop table t1;
diff --git a/mysql-test/t/rpl_trunc_binlog.test b/mysql-test/t/rpl_trunc_binlog.test
deleted file mode 100644
index eec36532275..00000000000
--- a/mysql-test/t/rpl_trunc_binlog.test
+++ /dev/null
@@ -1,35 +0,0 @@
-# We are testing if a binlog which contains BEGIN but not COMMIT (the
-# master died while writing the transaction to the binlog) triggers a
-# rollback on slave. So we use such a truncated binlog and simulate that
-# the master restarted after this.
-
-source include/master-slave.inc;
-
-connection slave;
-# If we are not supporting transactions in the slave, the unfinished
-# transaction won't cause any error, so we need to skip the test. In the 4.0
-# testsuite, the slave always runs without InnoDB, so we check for BDB.
-source include/have_bdb.inc;
-stop slave;
-
-connection master;
-flush logs;
-system mv -f var/log/master-bin.000001 var/log/master-bin.000002;
-system cp std_data/trunc_binlog.000001 var/log/master-bin.000001;
-
-connection slave;
-
-# truncated binlog contains: BEGIN; INSERT t1 VALUES (1);
-# so let's create the table t1 on slave
-
-create table t1 (a int) engine=bdb;
-reset slave;
-start slave;
-# can't sync_with_master so we must sleep
-sleep 3;
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 8 # 9 # 23 # 33 #
-show slave status;
-select * from t1;
-drop table t1;
-
diff --git a/mysql-test/t/rpl_until.test b/mysql-test/t/rpl_until.test
index 714719f5441..c1aee2cb1db 100644
--- a/mysql-test/t/rpl_until.test
+++ b/mysql-test/t/rpl_until.test
@@ -26,6 +26,7 @@ show binlog events;
connection slave;
start slave until master_log_file='master-bin.000001', master_log_pos=319;
sleep 2;
+wait_for_slave_to_stop;
# here table should be still not deleted
select * from t1;
--replace_result $MASTER_MYPORT MASTER_MYPORT
@@ -37,13 +38,15 @@ start slave until master_log_file='master-no-such-bin.000001', master_log_pos=29
# 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 # 23 # 33 #
show slave status;
# try replicate all until second insert to t2;
start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=746;
-sleep 4;
+sleep 2;
+wait_for_slave_to_stop;
select * from t2;
--replace_result $MASTER_MYPORT MASTER_MYPORT
--replace_column 1 # 9 # 23 # 33 #
@@ -59,8 +62,8 @@ stop slave;
# this should stop immediately as we are already there
start slave until master_log_file='master-bin.000001', master_log_pos=776;
-# 2 is not enough when running with valgrind
-real_sleep 4
+sleep 2;
+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 #