Uploaded image for project: 'MariaDB MaxScale'
  1. MariaDB MaxScale
  2. MXS-7596

sync_transaction accepts stale sync message as a fresh one

    XMLWordPrintable

Details

    • MXS-SPRINT-280
    • Can result in unexpected behaviour
    • Readwritesplit now ties the transaction sync responses to the GTID being synced to avoid a slow sync response from a previous transaction from being counted as a sync response for the current one.

    Description

      If one server is very slow to respond to the transaction sync query and another one is faster and deliver the sync, a subsequent transaction may end up being acknowledged by the older stale sync if both servers suddenly stop replicating (i.e. lose the Slave status).

      This happens because the bookkeeping for the syncs does not uniquely identify which transaction is being synced and instead keeps track of how many are ongoing. This works in most cases but in the aforementioned case, this isn't enough information to know that the sync is stale.

      The solution is to embed the GTID being synced into the sync payload.

      Attachments

        Issue Links

          Activity

            People

              markus makela markus makela
              markus makela markus makela
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 1h
                  1h
                  Remaining:
                  0d
                  Logged:
                  Time Not Required
                  Not Specified

                  Git Integration

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