[Date Prev][Date Next]
(ITS#7427) Bogus entries with syncrepl/MMR
Full_Name: Howard Chu
Submission from: (NULL) (18.104.22.168)
Submitted by: hyc
Related to ITS#7052 and #7162. We still see cases where some entries that were
deleted on a master are resurrected on a consumer. This happens when a single
consumer is talking to a pair of masters which are mirroring each other, and the
consumer gets an old batch of updates from one master, duplicating updates it
already received from the other master.
The spurious Adds are being accepted because they were sent with no cookie CSN.
These ops are embedded in a string of other old ops, which have cookie CSNs that
are correctly being ignored. The fix is to set a flag to remember when we've
seen an old op, and unset the flag when we're caught up. Then, for any ops that
are received without a cookie CSN, if the flag is set, this means we're in the
middle of a stream of old ops, and this op should be ignored.