https://bugzilla.redhat.com/show_bug.cgi?id=388021
Resolves: bug 388021
Bug Description: MMR breaks from master that has been reinited
Reviewed by: ???
Files: see diff
Branch: HEAD
Fix Description: This problem occurs when you have two or more masters,
and you have updates that have originated at a master that have been
sent to other masters (so that the other masters have a valid min/max
csn for that replica in the ruv). If that master needs to be
reinitialized for some reason (crash, etc.) the reinit will erase the
changelog. The RUV for that master will now contain CSNs that are not
in the changelog. If that master attempts to update another master, it
will first look at the RUV from the consumer, which will contain the old
CSNs, and it will look for those CSNs in the changelog, fail, and abort
the update process, meaning this master can no longer send updates to
other servers.
The solution is for the master to just use the min CSN in its own RUV as
the new starting point, if it has not been purged. In the case of
purging, if the CSN is not found, this means the consumer is too far
behind and must be reinitialized.
Platforms tested: RHEL5 x86_64
Flag Day: no
Doc impact: no
https://bugzilla.redhat.com/attachment.cgi?id=263531&action=diff