Hi All,
I have a multi-master openldap setup with 2 machines replicating a directory 
containing about 3.5 million entries.
I'm running openldap 2.4.31 on centos 6, and the directory is using the BDB 
backend.
Although the 2 machines are configured for multi-master syncrepl replication, 
in practice data is only written to one of the machines (I'll call it the 
master), and the second machine (which I'll call the slave) only gets data 
written by openldap replication.
Currently the contextCSN of the directory is the same from both machines, which 
(as I understand it) should mean that the directories are in sync, but I have 
written a program to compare what is in both directories which finds that there 
are 16 entries in the master directory not in the slave directory. I have 
double checked thisusing ldapsearch on both directories.
I can't see any error messages in the openldap log and there doesn't appear to 
be any pattern connecting the entries which are missing from the slave. Most of 
the missing entries werein the master directory before I created the slave 
machine and configured replication and have not changed.
The syncrepl config looks like this:
dn: olcDatabase={1}bdb,cn=configolcSyncrepl: {0}rid=101 
provider="ldap://<master>:389" binddn="<binddn>" bindmethod=simple 
credentials=<bindpw> searchbase="<prefix>" type=refreshAndPersist retry="5 5 
300 5" timeout=1olcSyncrepl: {1}rid=110 provider="ldap://<slave>:389" 
binddn="<binddn>" bindmethod=simple credentials=<bindpw> searchbase="<prefix>" 
type=refreshAndPersist retry="5 5 300 5" timeout=1
Are there any known issues with openldap replication which could result in 
missing data?
How can I force these missing entries to appear in the slave without rebuilding 
the whole of the slave directory and without changing the data in the master 
directory?
Chris                                     

Reply via email to