diff options
author | Thirunarayanan Balathandayuthapani <thiru@mariadb.com> | 2020-01-28 18:00:19 +0530 |
---|---|---|
committer | Thirunarayanan Balathandayuthapani <thiru@mariadb.com> | 2020-01-28 18:21:00 +0530 |
commit | a134ec37364bf7f006a73cf8eda212cec6a4f2cc (patch) | |
tree | 47aa2e9951615dee136a9de2ae7f693f7bbf6ff5 /storage/innobase/fts/fts0opt.cc | |
parent | afc16a6faac8c60622ec389dc38b7a223f53a726 (diff) | |
download | mariadb-git-a134ec37364bf7f006a73cf8eda212cec6a4f2cc.tar.gz |
MDEV-21550 Assertion `!table->fts->in_queue' failed in fts_optimize_remove_table
Problem:
=======
The problem is that InnoDB doesn't add the table in fts slots if drop table fails. InnoDB marks the table is in fts slots while processing sync message. So the consecutive alter statement assumes that table is in queue and tries to remove it. But InnoDB can't find the table in fts_slots.
Solution:
=========
i) Removal of in_queue in fts_t while processing the fts sync message.
ii) Add the table to fts_slots when drop table fails.
Diffstat (limited to 'storage/innobase/fts/fts0opt.cc')
-rw-r--r-- | storage/innobase/fts/fts0opt.cc | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/storage/innobase/fts/fts0opt.cc b/storage/innobase/fts/fts0opt.cc index 202bd80d20a..deda14fee24 100644 --- a/storage/innobase/fts/fts0opt.cc +++ b/storage/innobase/fts/fts0opt.cc @@ -2645,8 +2645,6 @@ fts_optimize_request_sync_table( ib_wqueue_add(fts_optimize_wq, msg, msg->heap, true); - table->fts->in_queue = true; - mutex_exit(&fts_optimize_wq->mutex); } |