Skip to content

Commit 82fe83a

Browse files
committed
MDEV-26012 InnoDB purge and shutdown hangs after failed ALTER TABLE
ha_innobase::commit_inplace_alter_table(): Invoke purge_sys.resume_FTS() on all error handling paths if purge_sys.stop_FTS() had been called. This fixes a regression that had been introduced in commit 1bd681c (MDEV-25506).
1 parent 033e29b commit 82fe83a

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

storage/innobase/handler/handler0alter.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10885,6 +10885,9 @@ ha_innobase::commit_inplace_alter_table(
1088510885
lock_fail:
1088610886
my_error_innodb(
1088710887
error, table_share->table_name.str, 0);
10888+
if (fts_exist) {
10889+
purge_sys.resume_FTS();
10890+
}
1088810891
DBUG_RETURN(true);
1088910892
} else if ((ctx->new_table->flags2
1089010893
& (DICT_TF2_FTS_HAS_DOC_ID | DICT_TF2_FTS))
@@ -10916,6 +10919,9 @@ ha_innobase::commit_inplace_alter_table(
1091610919
DBUG_ASSERT(ctx->need_rebuild());
1091710920
if (alter_rebuild_apply_log(ctx, ha_alter_info,
1091810921
altered_table)) {
10922+
if (fts_exist) {
10923+
purge_sys.resume_FTS();
10924+
}
1091910925
DBUG_RETURN(true);
1092010926
}
1092110927
}

0 commit comments

Comments
 (0)