summaryrefslogtreecommitdiff
path: root/storage/innobase/fts
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/fts')
-rw-r--r--storage/innobase/fts/fts0fts.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/storage/innobase/fts/fts0fts.cc b/storage/innobase/fts/fts0fts.cc
index 297406c64bb..eb09bca5f5d 100644
--- a/storage/innobase/fts/fts0fts.cc
+++ b/storage/innobase/fts/fts0fts.cc
@@ -2575,7 +2575,6 @@ fts_cmp_set_sync_doc_id(
que_t* graph = NULL;
fts_cache_t* cache = table->fts->cache;
char table_name[MAX_FULL_NAME_LEN];
-retry:
ut_a(table->fts->doc_col != ULINT_UNDEFINED);
fts_table.suffix = "CONFIG";
@@ -2583,7 +2582,8 @@ retry:
fts_table.type = FTS_COMMON_TABLE;
fts_table.table = table;
- trx = trx_create();
+ trx= trx_create();
+retry:
trx_start_internal(trx);
trx->op_info = "update the next FTS document id";
@@ -2663,7 +2663,8 @@ func_exit:
"for table " << table->name;
fts_sql_rollback(trx);
- if (error == DB_DEADLOCK) {
+ if (error == DB_DEADLOCK || error == DB_LOCK_WAIT_TIMEOUT) {
+ DEBUG_SYNC_C("fts_cmp_set_sync_doc_id_retry");
std::this_thread::sleep_for(FTS_DEADLOCK_RETRY_WAIT);
goto retry;
}