summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2023-04-19 14:08:53 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2023-04-19 14:08:53 +0300
commitd6651864773afc2b7534285ee0d50d4fd6b47e9c (patch)
tree3f44009133173d5d0c4f8c9fa2d7e762f9d098ac
parentfeeeacc4d747868c234425dc12c157c6e5fa8fbb (diff)
downloadmariadb-git-d6651864773afc2b7534285ee0d50d4fd6b47e9c.tar.gz
MDEV-28976: mtr must wait for server to actually die
do_shutdown_server(): Call wait_until_dead() also when we are forcibly killing the process (timeout=0). We have evidence that killing the process may take some time and cause mystery failures in crash recovery tests. For InnoDB, several failures were observed between commit da094188f60bf67e3d90227304a4ea256fe2630f and commit 0ee1082bd2e7e7049c4f0e686bad53cf7ba053ab when no advisory file locking was being used by default.
-rw-r--r--client/mysqltest.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/client/mysqltest.cc b/client/mysqltest.cc
index 6330d4f881d..9e9b122c5fe 100644
--- a/client/mysqltest.cc
+++ b/client/mysqltest.cc
@@ -5191,7 +5191,7 @@ void do_shutdown_server(struct st_command *command)
if (timeout)
(void) my_kill(pid, SIGABRT);
/* Give server a few seconds to die in all cases */
- if (!timeout || wait_until_dead(pid, timeout < 5 ? 5 : timeout))
+ if (wait_until_dead(pid, timeout < 5 ? 5 : timeout))
{
(void) my_kill(pid, SIGKILL);
}