One of the RedHat talks at LDAPCon noted that OpenLDAP can get inconsistent
when conflicting Adds and Deletes are issued. We've had this issue outstanding
in ITS since 2009, it's probably time to address it.
The strategy I outlined in that ITS may not be the best one, we need to
evaluate if that approach still makes sense.
This also touches on a discussion of ITS#7052 back in 2012.
We committed a couple changes to fix this, but one of them subsequently had to
be reverted. One of the points raised in there was to fully serialize all
writes so they always complete in CSN order, and always propagate in CSN
order. I believe this is also the approach Leo Yuriev took in ReOpenLDAP. We
should look into doing the same. In practice we've already got serialization
occurring in accesslog and now in back-mdb too, so we're mostly there already.
The syncrepl consumer also needs to be fully serialized, to simplify conflict
resolution when conflicting writes are being received from multiple masters at
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/