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

--gtid-ignore-duplicate can double-apply event in case of parallel replication retry

    XMLWordPrintable

Details

    Description

      There is a bug in retry handling in parallel replication when --gtid-ignore-duplicates, in the function retry_event_group().

      Calling cleanup_context() releases the domain (release_domain_owner()). But the code does not re-check the domain with check_duplicate_gtid() before retrying the event. If another master connection obtains the domain in the meantime, this means that the event could be double-applied (once in the retry and once normally in the other connection), which could lead to eg. "duplicate key" error for an INSERT or even silently diverge the slave from the master.

      Attachments

        Issue Links

          Activity

            People

              knielsen Kristian Nielsen
              knielsen Kristian Nielsen
              Votes:
              0 Vote for this issue
              Watchers:
              3 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.