summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <guilhem@mysql.com>2003-06-10 23:29:49 +0200
committerunknown <guilhem@mysql.com>2003-06-10 23:29:49 +0200
commit0880795793f7c0c468bdb23f65050cc8ffd22d24 (patch)
treefb4220000a5221b9fe835c16793ea056ca5466eb /mysql-test
parentc126f4fa4440c24b11e1261a360248962c81bf41 (diff)
downloadmariadb-git-0880795793f7c0c468bdb23f65050cc8ffd22d24.tar.gz
More error messages. This is intended to help debugging; presently I have a
support issue with an unclear message which can have N reasons for appearing. This should help us know at which point it failed, and get the errno when my_open was involved (as the reason for the unclear message is often a permission problem). RESET SLAVE resets last_error and last_errno in SHOW SLAVE STATUS (without this, rpl_loaddata.test, which is expected to generate an error in last_error, influenced rpl_log_pos.test). A small test update. Added STOP SLAVE to mysql-test-run to get rid of several stupid error messages which are printed while the master restarts and the slave attempts/manages to connect to it and sends it nonsense binlog requests. mysql-test/mysql-test-run.sh: Before running a test, stop slave threads if they exist (if they don't the script goes on fine). This also works fine with the manager. Before this change, when the master was stopped/restarted (which happened before the slave server was stopped/restarted), the slave threads noticed the stop (so printed an error message in slave.err), then managed to reconnect (to the new master, the one that is running for the _next_ test), and this reconnection had time to produce error messages (because, for example, the binlog the slave thread was asking had been deleted) before the slave server was killed. This change reduces by 10% (40 lines) slave.err in replication tests. mysql-test/r/rpl000018.result: Result update. mysql-test/t/rpl000018.test: This test does "show master logs" so should do "reset master" instead of relying on the previous tests. sql/slave.cc: More error messages. sql/sql_repl.cc: More error messages. RESET SLAVE resets last_error and last_errno in SHOW SLAVE STATUS.
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/mysql-test-run.sh16
-rw-r--r--mysql-test/r/rpl000018.result1
-rw-r--r--mysql-test/t/rpl000018.test2
3 files changed, 19 insertions, 0 deletions
diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh
index ab4a5354dae..c688380b402 100644
--- a/mysql-test/mysql-test-run.sh
+++ b/mysql-test/mysql-test-run.sh
@@ -1064,6 +1064,16 @@ stop_slave ()
fi
}
+stop_slave_threads ()
+{
+ eval "this_slave_running=\$SLAVE$1_RUNNING"
+ slave_ident="slave$1"
+ if [ x$this_slave_running = x1 ]
+ then
+ $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$slave_ident.sock stop-slave > /dev/null 2>&1
+ fi
+}
+
stop_master ()
{
if [ x$MASTER_RUNNING = x1 ]
@@ -1157,6 +1167,12 @@ run_testcase ()
return
fi
+ # Stop all slave threads, so that we don't have useless reconnection attempts
+ # and error messages in case the slave and master servers restart.
+ stop_slave_threads
+ stop_slave_threads 1
+ stop_slave_threads 2
+
if [ -z "$USE_RUNNING_SERVER" ] ;
then
if [ -f $master_opt_file ] ;
diff --git a/mysql-test/r/rpl000018.result b/mysql-test/r/rpl000018.result
index ba51406bba0..282c1e492a1 100644
--- a/mysql-test/r/rpl000018.result
+++ b/mysql-test/r/rpl000018.result
@@ -1,3 +1,4 @@
+reset master;
reset slave;
slave start;
show master logs;
diff --git a/mysql-test/t/rpl000018.test b/mysql-test/t/rpl000018.test
index 291b482b912..3bd5fd0ef09 100644
--- a/mysql-test/t/rpl000018.test
+++ b/mysql-test/t/rpl000018.test
@@ -6,6 +6,8 @@
require_manager;
connect (master,localhost,root,,test,0,master.sock);
connect (slave,localhost,root,,test,0,slave.sock);
+connection master;
+reset master;
server_stop master;
server_start master;
connection slave;