From e7bab059b764bc58ee14e182b51f90c47a6c8e17 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Wed, 3 Jun 2020 17:39:33 +0200 Subject: [PATCH] MDEV-22787 postfix Ensure that FTS_MSG_STOP is the very last message, and nothing comes after it in fts_optimize_shutdown. Stop the timer to ensure that. --- storage/innobase/fts/fts0opt.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/storage/innobase/fts/fts0opt.cc b/storage/innobase/fts/fts0opt.cc index 325d1366f72..8dcaa05ef06 100644 --- a/storage/innobase/fts/fts0opt.cc +++ b/storage/innobase/fts/fts0opt.cc @@ -42,6 +42,7 @@ ib_wqueue_t* fts_optimize_wq; static void fts_optimize_callback(void *); static void timer_callback(void*); static tpool::timer* timer; + static tpool::task_group task_group(1); static tpool::task task(fts_optimize_callback,0, &task_group); @@ -3014,6 +3015,7 @@ fts_optimize_shutdown() /* We tell the OPTIMIZE thread to switch to state done, we can't delete the work queue here because the add thread needs deregister the FTS tables. */ + timer->disarm(); task_group.cancel_pending(&task); msg = fts_optimize_create_msg(FTS_MSG_STOP, NULL);