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

Locking for temporary tables in parallel replication

    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.

        Gliffy Diagrams

          Attachments

            Activity

            There are no comments yet on this issue.

              People

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

                Dates

                • Created:
                  Updated: