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

GTID heuristics to help user differentiate between "master not caught up" and "alternate future"

    XMLWordPrintable

Details

    • Task
    • Status: Closed (View Workflow)
    • Trivial
    • Resolution: Fixed
    • N/A
    • None

    Description

      Using MariaDB GTID, master will give an error if slave tries to start
      replicating from a GTID that does not exist in the binlog on the master.

      Such error can mean two different things:

      1. Master is itself a slave, and is behind compared to the slave trying to
      connect to it. So master just needs to catch up, and then the connect will
      work ("master not caught up").

      2. Slave and master have diverged; a transaction was done on the slave that
      does not exist on the master and never will ("alternate future").

      Usually, one can distinguish between (1) and (2) simply by looking as the
      sequence numbers and give a different error message as appropriate. In (1)
      usually the slave's sequence number will be higher than what master has, while
      in (2) slave's sequence number may be smaller or equal to what master has.

      We cannot distinguish 100% sure between the cases since we do not strictly
      enforce monotonic sequence IDs, but a heuristic distinct error message for the
      two situations is still likely to be useful in the majority of cases.

      Attachments

        Activity

          People

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