Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-25919

InnoDB reports misleading lock wait timeout on DDL operations




      In the third and last part of MDEV-25506, operations that delete .ibd files were refactored so that the deletion would take place after transaction commit.

      As part of that refactoring, the lock conflict handling of internal transactions was revised so that if the data dictionary is being locked, any conflict would result in an immediate lock wait timeout error. Such lock conflicts should only be able to exist on the InnoDB persistent statistics tables or some internal tables that are related to the InnoDB FULLTEXT INDEX implementation.

      We should try to abandon the concept of 'dictionary transaction' and refactor the InnoDB internal SQL parser so that all table handles will be looked up before the parser is invoked. In this way, no data dictionary latch will be required during the execution, and lock waits can be handled in the normal fashion, without fearing any server hang (such as MDEV-15020).

      Making all transactions equal will remove the need to use separate internal transactions for InnoDB DDL operations.

      Note: Before MDEV-24589 and MDEV-25506, some InnoDB DDL operations were neither atomic nor rollback-safe, and mixing DDL and DML in one transaction would have been out of the question.


        Issue Links



              marko Marko Mäkelä
              marko Marko Mäkelä
              1 Vote for this issue
              6 Start watching this issue



                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.