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

Use MDL for innodb background threads instead of dict_operation_lock

    XMLWordPrintable

Details

    Description

      Purge thread does take shared lock on innodb dictionary lock while processing the undo log record to avoid the dropping of table. But it also blocks DDL for
      the InnoDB. There are few issues exist for virtual column computation.
      Because purge thread acquires mdl lock for virtual column computation and could
      have deadlock with DDL. (fixed in 10.2+)

      Allow InnoDB background thread to take MDL lock on the table. In that case, it blocks DDL only for that table.

      For FOREIGN KEY constraint checks, we would prefer not to acquire dict_operation_lock S-latch, and rely on the correct acquisition of MDL on the SQL layer (to be covered by MDEV-21175).

      Attachments

        1. MDEV-16678_1.tgz
          17 kB
        2. MDEV-16678_2.test
          5 kB
        3. MDEV-16678.ods
          71 kB

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              thiru Thirunarayanan Balathandayuthapani
              Votes:
              2 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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