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

(ITS#3814) Slurpd not replaying missing transactions on start

Full_Name: Robert Heinzmann
Version: openldap2-2.2.6-37.38
OS: SuSE Linux Enterprise Server 9
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (


we want to deplay openldap in an replicated HA environment. We have 1 Master and
2 slaves. The master is protected by a cluster middleware. Replication is
working ok, but we found a problem if one of the slaves is down while changes
were made to the master and if we have to restart the slurpd at the same time.

We configured ldapmaster to replicate to 2 ldap slaves and performed the
following tests: 

- we shut down one ldap slave
- we made a change to the master server (slurpd properly replicates to the other
slave server, but cant connect to the powered down ldap slave server)
- we then restart slurpd on the master
- we then start the shut down ldap slave again

Now the missing transaction is not replayed to the standby server and cant even
be manually replayed with "one shot" slurpd altought there are replications left
to replay (see capture below). 

In this situation Master and Slave1 have the latest data and Slave2 is missing
one transaction (which is still in the log!). If we not make another change to
the master, BOTH! changes - the new one and the transaction left over - get
replicated, which is good. 

Slurpd "one-shot" should replay all transactions and synchronize all servers
,which is not working. Is this a but or a feature ? 


/usr/lib/openldap/slurpd -t /var/lib/slurpd -d 255 -o -r
/var/lib/slurpd/replica/slurpd.replog 2>&1

Retrieved state information for srvlxr103.XXX:389 (timestamp 1120066773.0)
Retrieved state information for srvlxr203.XXX:389 (timestamp 1120066823.0)
Processing in one-shot mode:
0 total replication records in file,
0 replication records to process.
begin replication thread for srvlxr103.XXX:389
end replication thread for srvlxr103.XXX:389
begin replication thread for srvlxr203.XXX:389
end replication thread for srvlxr203.XXX:389
slurpd: terminated.

tail /var/lib/slurpd/replica/slurpd.replog

replica: srvlxr103.XXX.XXX:389
replica: srvlxr203.XXX.XXX:389
time: 1120066750
dn: ou=users,dc=XXX,dc=XXX
changetype: modrdn
newrdn: ou=userss
deleteoldrdn: 0

replica: srvlxr103.XXX.XXX:389
replica: srvlxr203.XXX.XXX:389
time: 1120066773
dn: ou=userss,dc=XXX,dc=XXX
changetype: modrdn
newrdn: ou=users
deleteoldrdn: 0

replica: srvlxr103.XXX.XXX:389
replica: srvlxr203.XXX.XXX:389
time: 1120066823
dn: ou=TEST,dc=XXX,dc=de
changetype: add
objectClass: organizationalUnit
ou: TEST
structuralObjectClass: organizationalUnit
entryUUID: 9d2d466a-7d10-1029-8894-cd4a7a371095
creatorsName: cn=Administrator,dc=XXX,dc=XXX
createTimestamp: 20050629174023Z
entryCSN: 20050629174023Z#000001#00#000000
modifiersName: cn=Administrator,dc=XXX,dc=XXX
modifyTimestamp: 20050629174023Z