master A is at position X
master B, replicating from A, gets to position X
master A syncs to its filesystem that it's at position X
master A receives some inserts, and is now at position Y
master B, replicating from A, gets to position Y
master A crashes before the position gets synced to filesystem
master A gets rebooted, recovers from innodb log, but has itself
only marked at position X
- master B requests position Y from master A, but that position
doesn't exist yet, so replication breaks.
Perhaps someone here knows the proper recovery procedure at this point?
If this were master-slave, I'd probably do an LVM Snapshot and get a fresh copy of the master db. The same could be done for master-master.
I'm not sure this would work, since some data will have been inserted in on master B as well. I.e., with master-master, a one-way sync won't work. The only recovery option that I can see is to destroy Master A, and copy Master B -- either via an LVM snapshot or shutdown, sync, startup -- to create a new Master A. Maybe this is what you're suggesting?
Is there a better way?
best, Jeff