summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThirunarayanan Balathandayuthapani <thiru@mariadb.com>2021-08-31 18:34:12 +0530
committerThirunarayanan Balathandayuthapani <thiru@mariadb.com>2021-08-31 18:38:30 +0530
commit3396ff91ff31689973e4b0019e4f75ddde5d644f (patch)
tree3d56444da436b089accf61c49f03c0e9bf8b0a91
parent1fcd8db7765719f24692a6ef39afdc75337c44b2 (diff)
downloadmariadb-git-bb-10.5-MDEV-25702.tar.gz
MDEV-25702 InnoDB: Failing assertion: rec_offs_nth_extern(offsets, n)bb-10.5-MDEV-25702
for background thread while optimizing table with FULLTEXT index InnoDB could evict the fts auxiliary table in row_fts_merge_insert. So bulk insert could be dealing with garbage FTS auxiliary table. In order to provoke the scenario, we tested it by removing the table forcefully from dictionary. 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 5ec73d9677c..8513210d602 100644
--- a/storage/innobase/row/row0ftsort.cc
+++ b/storage/innobase/row/row0ftsort.cc
@@ -1635,7 +1635,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);
ut_ad(!aux_index->is_instant());
@@ -1760,6 +1759,8 @@ row_fts_merge_insert(
}
exit:
+ dict_table_close(aux_table, FALSE, FALSE);
+
fts_sql_commit(trx);
trx->op_info = "";