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

Slurpd not robust against errors (ITS#3313)



Full_Name: Steffen Hansen
Version: 2.2.14
OS: OpenPKG-2.1 on Linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (80.63.196.222)


I have a problem with slurpd exiting in case of unexpected results:

My setup consist of one master LDAP server and one slave server plus one
additional replica per server (custom app listening for LDAP changes --
kolabd).

As far as I can see from the code, slurpd starts a thread for each replica, and
when all those threads exit, slurpd exists. If slurpd receives unexpected an
response from a replica or the connection is torn down while a transaction is in
progress, the replica thread fails and replication for that node is dead until
slurpd is restarted. Once this has happened for all replicas, slurpd exits:

ldap_write: want=36, written=36
  0000:  30 22 02 01 03 42 00 a0  1b 30 19 04 17 32 2e 31   0"...B...0...2.1
  0010:  36 2e 38 34 30 2e 31 2e  31 31 33 37 33 30 2e 33   6.840.1.113730.3
  0020:  2e 34 2e 32                                        .4.2
ldap_free_connection: actually freed
end replication thread for 127.0.0.1:9999
slurpd: terminated.


Is there any way to get around this? I'd like slurpd to just try to reconnect if
something went wrong. Please contact me if you need additional information.