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

Locking for temporary tables in parallel replication

    XMLWordPrintable

Details

    Description

      Temporary tables have no locking. They are intended to be accessible from
      within a single thread only.

      However, with parallel replication, all worker threads have access to the
      same temporary tables, in case of statement-based binlogging on the master.

      Within one replication domain, we serialise transactions that use
      statement-based replication of temporary tables (MDEV-7668, MDEV-7936).

      However, it is still possible to get two worker threads to try to
      simultanously use the same temporary table at the same time, if the user
      creates two transactions with different domain id, using a single temporary
      table. This would be user error, and it is ok for it to cause replication to
      stop with an error, or even silently diverge. But it should not crash the
      server, which seems entirely possible to happen with current code where
      there is no locking.

      Attachments

        Activity

          People

            knielsen Kristian Nielsen
            knielsen Kristian Nielsen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

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