Details
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
- All
- Comments
- Work Log
- History
- Activity
- Transitions