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

Re: (ITS#6472) Syncrepl : loop problem with moddn on a new node



> Full_Name: Julien COMBES
> Version: 2.4.21
> OS: Debian 5.0.4
> URL: ftp://ftp.openldap.org/incoming/its-syncrepl-loop-moddn.tar.bz2
> Submission from: (NULL) (212.23.175.185)
>
>
> Hello,
>
> I think I have found a loop problem with syncrepl replication with
> openldap
> 2.4.21, BDB 4.7.25 with all patches and hdb database. The problem appears
> sometimes when an entry is moved with "modrdbn -s" in a node which has
> just been
> created. I have reproduced the problem with the creation of a node and a
> moddn
> while the consumer was stopped and then restarted after.
>
> The problem follows these steps :
>  - When it starts, the consumer does a request objectClass=* on the
> provider :
> Feb 12 09:09:19 ldapma24-ida01 slapd[30445]: conn=1007 op=1 SRCH
> base="dc=my,dc=domain" scope=2 deref=0 filter="(objectClass=*)"
>
>  - The consumer finds the modrdn and tries to do this :
> Feb 12 09:09:19 ldapra24-ida01 slapd[12156]:
> ==>hdb_modrdn(cn=user1,ou=A,dc=my,dc=domain,cn=user1,ou=X,dc=my,dc=domain)
>
>  - The consumer fails with these errors :
> Feb 12 09:09:19 ldapra24-ida01 slapd[12156]: =>
> hdb_dn2id("ou=x,dc=my,dc=domain")
> Feb 12 09:09:19 ldapra24-ida01 slapd[12156]: <= hdb_dn2id: get failed:
> DB_NOTFOUND: No matching key/data pair found (-30988)
> Feb 12 09:09:19 ldapra24-ida01 slapd[12156]: hdb_modrdn:
> newSup(ndn=ou=x,dc=my,dc=domain) not here!
> Feb 12 09:09:19 ldapra24-ida01 slapd[12156]: send_ldap_result: conn=-1
> op=0 p=0
> Feb 12 09:09:19 ldapra24-ida01 slapd[12156]: send_ldap_result: err=32
> matched=""
> text="new superior not found"
>
>  - The consumer retries the request objectClass=* on the provider and
> loops on
> the problem. The replication doesn't work anymore.
>
> To reproduce the problem, I have used these steps :
>  - start an empty provider
>  - ldapadd the entries in mydomain.ldif
> ldapadd -x  -h 127.0.0.1 -D "dc=my,dc=domain" -W  -f mydomain.ldif
>  - start the consumer.
>  - stop the consumer when replication is finished
>  - ldapadd the new node
> ldapadd -x  -h 127.0.0.1 -D "dc=my,dc=domain" -W -f add.ldif
>  - modrdn -s
> ldapmodrdn -x -h 127.0.0.1 -D "dc=my,dc=domain" -W -r -s
> "ou=X,dc=my,dc=domain"
> "cn=user1,ou=A,dc=my,dc=domain" "cn=user1"
>  - start the consumer
>
> I join in its-syncrepl-loop-moddn.tar.bz2  :
>  - slapd.conf of provider and consummer
>  - log files of provider and consummer
>  - mydomain.ldif and add.ldif

Thanks for the detailed report.  The bug is confirmed, and it's not
related to back-hdb, but seems to be syncrepl-related in general.

p.