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

(ITS#5678) slurpd stops processing the replication log if consecutive blank lines are encountered



Full_Name: Michael Gwin
Version: 2.3.30
OS: linux (debian etch x86_64)
URL: 
Submission from: (NULL) (195.85.247.248)


Hi,

Replication of our ldap database often stops working, with pending changes
stacking up and not getting processed by slurpd. /var/lib/ldap/replog (as
configured in slapd.conf by the "replog" directive) fills up with entries, and
slurpd doesn't pick up on them.

Whilst trying to debug the issue, I noticed there were consecutive blank lines
seperating entries in the replication log (both /var/lib/ldap/replog and
/var/spool/slurpd/replica/slurpd.replog). Running slurpd in one shot mode on
either of these files would result in any entries before the consecutive blank
lines being processed, but not the entries following them. After reducing each
set of consecutive blank lines to one blank line, slurpd processes all entries
correctly.

The replicas are set up in slapd.conf as follows:

replogfile      /var/lib/ldap/replog
replica         uri=ldap://host1.domain.tld:389
                starttls=critical
                bindmethod=simple
                binddn="cn=replicationuser,o=MYORG"
                credentials=XYZ

replica         uri=ldaps://host2.domain.tld:636
                bindmethod=simple
                binddn="cn=replicationuser,o=MYORG"
                credentials=XYZ
                attrs=account,MYORGGroup,MYORGPerson,\
                  organization,organizationalRole,\
                  organizationalUnit,posixAccount,posixGroup,\
                  simpleSecurityObject,top

NB. - the "attrs" directive of the second replica is one line in slapd.conf.
    - some of the (confidential) values have been changed.

version info:

- openldap 2.3.30 on all hosts (debian package: slapd-2.3.30-5+etch1)
- all hosts are running debian etch x86_64

Not all entries are seperated by multiple blank lines. I don't know if it's ok
in theory for slapd to write multiple blank lines to /var/lib/ldap/replog, but
slurpd should handle them properly, or if slapd shouldn't be writing them at
all.

How to reproduce:

Insert consecutive blank lines between two entries in a replication log, and run
slurpd in one-shot mode on it. Processing stops when the consecutive blank lines
are encountered.