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

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

                Dates

                Created:
                Updated:
                Resolved: