Hi
Slave servers that are replicating changes using the refreshAndPersist operation type do not get updates from the
master server until they are restarted. They will not be notified of any other changes.
If I set the replication protocol operation type to refreshOnly and a suitable interval, the changes do get replicated
as expected.
I have verified that syncrepl with type=refreshAndPersist works with openldap2-2.2.24 and 2.2.27) also works as it
should.
However neither the 2.3.19-x (which is the current version on my platform - SLES 10, kernel 2.6.16) nor 2.3.30 work as
expected.
I have traversed the net and tried numerous configuration variations, but not found anything that changes the behavior.
I always end up having to restart the slave to get the updates over. Needless to say that I have tried on different
hardware (all x86-based) and all on complete fresh installations of the base OS.
When loading the consumer/replica/slave, the apparently connects to the provider (Config: ** successfully added
syncrepl "ldap://host1.nts.com:389").
There seems to be many people who have this working, but I have not yet been able to find a configuration example that
works.
Snip of consumer config (full config files attached) :
###############################
database bdb
suffix dc=example,dc=com
directory /var/opt/ldap/master
rootdn "cn=admin,dc=example,dc=com"
rootpw secret
index entryUUID,entryCSN,objectClass eq,pres
index cn,displayname,uid,sn,givenname,telephoneNumber sub,eq,pres
cachesize 250000
checkpoint 50 5
idlcachesize 750000
mode 0600
dbconfig set_cachesize 0 268435456 1
dbconfig set_lg_regionmax 262144
dbconfig set_lg_bsize 2097152
access to *
by self write
by dn.base="cn=admin,dc=example,dc=com" write
by anonymous auth
by * read
syncrepl rid=101
provider=ldap://host1.nts.com
type=refreshAndPersist
retry="10 10 60 +"
searchbase="dc=example,dc=com"
filter="(objectClass=*)"
scope=sub
schemachecking=off
sizelimit=500000
timelimit=360000
bindmethod=simple
binddn="cn=admin,dc=example,dc=com"
credentials=secret
updateref ldap://host1.nts.com
###############################
Snip of provider :
###############################
overlay syncprov
syncprov-checkpoint: 100 10
syncprov-sessionlog: 3000
database bdb
suffix dc=example,dc=com
directory /var/opt/ldap/master
rootdn "cn=admin,dc=example,dc=com"
rootpw secret
index entryUUID,entryCSN,objectClass eq,pres
index cn,displayname,uid,sn,givenname,telephoneNumber sub,eq,pres
cachesize 250000
checkpoint 50 5
idlcachesize 750000
mode 0600
dbconfig set_cachesize 0 268435456 1
dbconfig set_lg_regionmax 262144
dbconfig set_lg_bsize 2097152
access to *
by self write
by dn.base="cn=admin,dc=example,dc=com" write
by anonymous auth
by * read
###############################
Am I missing something or is refreshAndPersist broken ?
Any hints would be most appreciated.