Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
MDEV-23484 Rollback unnecessarily acquires dict_sys.latch
row_undo(): Remove the unnecessary acquisition and release of dict_sys.latch. This was supposed to prevent the table from being dropped while the undo log record is being rolled back. But, thanks to trx_resurrect_table_locks() that was introduced in mysql/mysql-server@935ba09 and commit c291ddf as well as commit 1bd681c (MDEV-25506 part 3) tables will be protected against dropping due to table locks. This reverts commit 0049d5b (which had reverted a previous attempt of fixing this) and addresses an earlier race condition with the following: prepare_inplace_alter_table_dict(): If recovered transactions hold locks on the table while we are executing online ADD INDEX, acquire a table lock so that the rollback of those recovered transactions will not interfere with the ADD INDEX.
- Loading branch information
Showing
4 changed files
with
31 additions
and
69 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters