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"

    Details

    • Type: Task
    • Status: Closed
    • Priority: Trivial
    • Resolution: Fixed
    • Fix Version/s: N/A
    • Component/s: None
    • Labels:

      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.

        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:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: