Commit 2070da70 authored by He Zhenxing's avatar He Zhenxing

BUG#40704 main.events_restart fails sporadically in pushbuild: "server has gone away"

mysqltest command 'shutdown_server' is supposed to shutdown the server
and wait for it to be gone, and kill it when timeout. But because the
arguments passed to my_kill were in the wrong order, 'shutdown_server'
does not wait nor kill the server at all. So after 'shutdown_server',
the server is still running, and the server may still accepting
connections.


mysql-test/include/mtr_warnings.sql:
  Suppress forcing close thread messages when server shuts down
mysql-test/include/restart_mysqld.inc:
  wait_until_disconnected.inc is not required after fix shutdown_server command
parent 2349c56f
......@@ -4177,9 +4177,9 @@ void do_shutdown_server(struct st_command *command)
/* Check that server dies */
while(timeout--){
if (my_kill(0, pid) < 0){
if (my_kill(pid, 0) < 0){
DBUG_PRINT("info", ("Process %d does not exist anymore", pid));
break;
DBUG_VOID_RETURN;
}
DBUG_PRINT("info", ("Sleeping, timeout: %d", timeout));
my_sleep(1000000L);
......@@ -4187,7 +4187,7 @@ void do_shutdown_server(struct st_command *command)
/* Kill the server */
DBUG_PRINT("info", ("Killing server, pid: %d", pid));
(void)my_kill(9, pid);
(void)my_kill(pid, 9);
DBUG_VOID_RETURN;
......
......@@ -102,6 +102,7 @@ INSERT INTO global_suppressions VALUES
("Failed to open log"),
("Failed to open the existing master info file"),
("Forcing shutdown of [0-9]* plugins"),
("Forcing close of thread"),
/*
Due to timing issues, it might be that this warning
......
......@@ -9,9 +9,6 @@ EOF
# it 10 seconds to die before zapping it
shutdown_server 10;
# Check server is gone
--source include/wait_until_disconnected.inc
# Write file to make mysql-test-run.pl start up the server again
--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
restart
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment