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

Parallel Replication Breaks if XA PREPARE Fails Updating Slave GTID State

    XMLWordPrintable

Details

    Description

      Similar to MDEV-29642, but instead of a slave crashing, if a parallel slave executing an XA PREPARE fails the follow up autocommit transaction due to a temporary error which can be retried (e.g. a deadlock when trying to lock mysql.gtid_slave_pos), then the retry will run into the same issue as MDEV-29642, i.e. an out-of-order GTID attempt (if gtid strict mode is enabled) or XID already exists (otherwise).

      This is because the XA PREPARE had already committed successfully in binlog and storage engines, and only the slave GTID state update failed. Then on retry, the transaction has already been seen, so we error.

      Filed as a separate ticket (rather than extending MDEV-29642 scope) because this is specific to the parallel slave, and may need a separate effort.

      Attachments

        Issue Links

          Activity

            People

              vlad.lesin Vladislav Lesin
              bnestere Brandon Nesterenko
              Votes:
              2 Vote for this issue
              Watchers:
              11 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.