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

syncrepl with refreshAndPersist works in 2.2.x, but not in 2.3.x



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.

Thank you

Andreas Taschner
Support Engineer
Novell Inc.

Attachment: slapd.master
Description: Binary data

Attachment: slapd.replica
Description: Binary data