summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThirunarayanan Balathandayuthapani <thiru@mariadb.com>2021-09-13 12:37:07 +0530
committerThirunarayanan Balathandayuthapani <thiru@mariadb.com>2021-09-13 12:39:17 +0530
commit696de6d06c0eeaf7b20d5f89278ed7d62a9f204f (patch)
treebc762917359769174d24d4e435147fd9e9523c69
parentf34517237912d5cb3a6a8d36c0fb91b99f2a1715 (diff)
downloadmariadb-git-696de6d06c0eeaf7b20d5f89278ed7d62a9f204f.tar.gz
MDEV-25702 Auxiliary FTS table evicts during optimize table
InnoDB could evict the fts auxiliary table in row_fts_merge_insert(). So bulk insert could be dealing with garbage FTS auxiliary table.Patch should delay closing the table in row_fts_merge_insert().
-rw-r--r--storage/innobase/row/row0ftsort.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/storage/innobase/row/row0ftsort.cc b/storage/innobase/row/row0ftsort.cc
index 29e126290cf..c274c63182e 100644
--- a/storage/innobase/row/row0ftsort.cc
+++ b/storage/innobase/row/row0ftsort.cc
@@ -1664,7 +1664,6 @@ row_fts_merge_insert(
aux_table = dict_table_open_on_name(aux_table_name, FALSE, FALSE,
DICT_ERR_IGNORE_NONE);
ut_ad(aux_table != NULL);
- dict_table_close(aux_table, FALSE, FALSE);
aux_index = dict_table_get_first_index(aux_table);
/* Create bulk load instance */
@@ -1789,6 +1788,8 @@ row_fts_merge_insert(
}
exit:
+ dict_table_close(aux_table, FALSE, FALSE);
+
fts_sql_commit(trx);
trx->op_info = "";