[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#5426) syncrepl and syncprov clash on contextCSN updates



Full_Name: Howard Chu
Version: 2.4/HEAD
OS: 
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (76.91.220.157)
Submitted by: hyc


If syncprov-checkpoint is configured on a database with a syncrepl consumer
(either for cascaded syncrepl or for mirrormode), the syncrepl consumer may fail
to update the contextCSN because syncprov updates it first. In 2.4 the syncrepl
consumer tries to delete its old value and add the new value, instead of just
doing a modify/Replace as it used to in 2.3. The 2.4 consumer was changed in
this respect because multiple consumers are now allowed on a database, thus
using multiple values in the contextCSN attribute. Replacing the entire
attribute when only a single value needed to change seemed like the wrong thing
to do.

The syncprov overlay still just uses a modify/Replace, so it doesn't have this
problem. Since both syncrepl and syncprov now currently track all of the
contextCSNs in use, probably syncrepl should just be switched back to using
modify/Replace, with the full list of known contextCSNs.