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

Use MDL for innodb background threads instead of dict_operation_lock

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
          Matthias Leich
        2. MDEV-16678_2.test
          5 kB
          Matthias Leich
        3. MDEV-16678.ods
          71 kB
          Axel Schwenke

        Issue Links

          Activity

            Transition Time In Source Status Execution Times
            Thirunarayanan Balathandayuthapani made transition -
            Open In Progress
            426d 19h 41m 1
            Marko Mäkelä made transition -
            In Progress Stalled
            93d 5h 32m 1
            Marko Mäkelä made transition -
            Stalled Closed
            5d 4h 46m 1

            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.