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

Re: (ITS#8102) syncrepl_entry: be_modify failed (16)



--On Friday, April 10, 2015 5:12 PM +0000 tpretz@gmail.com wrote:

> Full_Name: Tom Pressnell
> Version: 2.4.40
> OS: debian wheezy
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (5.63.147.4)
>
>
> Hi,
>
> In testing i have encountered the following when restoring replication
> from multiple providers.
>
> slapd: slapd starting
> slapd: null_callback : error code 0x10
> slapd: syncrepl_entry: rid=106 be_modify failed (16)AsAslapd: do_syncrepl:
> rid=106 rc 16 retrying (9 retries left)
>
> Running 2.4.40 on debian wheezy amd64.
> This occurs with both the mdb and hdb backends.
>
> While the consumer was offline i removed all values of an indexed
> attribute from hundreds of entries, all providers are synced.
>
> Using standard syncrepl (not delta), issue occurs at process startup
> where the consumer has been offline for a short while, i.e. replaying the
> sessionlog not falling back to present.
>
> Having a read of syncrepl.c it would seem that syncrepl_diff_entry is
> called for a entry received from a provider in a race with the same entry
> from another provider in a different thread.
> Both diff calls result in an attribute delete operation, when be_modify
> is hit for the second time it fails with no such attribute as the first
> thread has already removed it (uses DELETE, not SOFTDEL).

Please test against current RE24, as there have been a number of fixes to 
syncrepl.  Thanks!

--Quanah

--

Quanah Gibson-Mount
Platform Architect
Zimbra, Inc.
--------------------
Zimbra ::  the leader in open source messaging and collaboration