MDL BF-BF conflict on ALTER and UPDATE with multi-level foreign key parents#479
Open
hemantdangi-gc wants to merge 4 commits into10.5from
Open
MDL BF-BF conflict on ALTER and UPDATE with multi-level foreign key parents#479hemantdangi-gc wants to merge 4 commits into10.5from
hemantdangi-gc wants to merge 4 commits into10.5from
Conversation
hemantdangi-gc
commented
Jan 27, 2025
DROP TABLE on child and UPDATE of parent table can cause an MDL BF-BF conflict when applied concurrently. DROP TABLE takes MDL locks on both child and its parent table, however it only it did not add certification keys for the parent table. This patch adds the following: * Append certification keys corresponding to all parent tables before DROP TABLE replication. * Fix wsrep_append_fk_parent_table() so that it works when it is given a table list containing temporary tables. * Make sure function wsrep_append_fk_parent_table() is only called for local transaction. That was not the case for ALTER TABLE. * Add a test case that verifies that UPDATE parent depends on preceeding DROP TABLE child. * Adapt galera_ddl_fk_conflict test to work with DROP TABLE as well.
…arents Issue: Mariadb acquires additional MDL locks on UPDATE statements on table with foreign keys. For example, table t1 references t2, an UPDATE to t1 will MDL lock t2 in addition to t1. A replica may deliver an ALTER t1 and UPDATE t2 concurrently for applying. Then the UPDATE may acquire MDL lock for t1, followed by a conflict when the ALTER attempts to MDL lock on t1. Causing a BF-BF conflict. Solution: Additional keys for the referenced/foreign table needs to be added to avoid potential MDL conflicts with concurrent update and DDLs.
…gn key p…" This reverts commit c7a4ec5.
…arents Issue: Mariadb acquires additional MDL locks on UPDATE statements on table with foreign keys. For example, table t1 references t2, an UPDATE to t1 will MDL lock t2 in addition to t1. A replica may deliver an ALTER t1 and UPDATE t2 concurrently for applying. Then the UPDATE may acquire MDL lock for t1, followed by a conflict when the ALTER attempts to MDL lock on t1. Causing a BF-BF conflict. Solution: Additional keys for the referenced/foreign table needs to be added to avoid potential MDL conflicts with concurrent update and DDLs.
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.