[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#6999) retry: counter not reaching zero, continuing on
- To: openldap-its@OpenLDAP.org
- Subject: Re: (ITS#6999) retry: counter not reaching zero, continuing on
- From: hyc@symas.com
- Date: Fri, 29 Jul 2011 19:50:45 GMT
- Auto-submitted: auto-generated (OpenLDAP-ITS)
ml+openldap@esmtp.org wrote:
> On Fri, Jul 29, 2011, Howard Chu wrote:
>
>> The ITS mailer only supports plaintext, no attachments.
>
> Sorry about that. Here's the log inline (5 attempts by syncrepl):
I was able to reproduce this behavior. The culprit is the ldap_result() call
in do_syncrep2() returning 0 due to a timeout. The actual sequence of events
is that do_syncrep1() successfully binds to the master and sends a syncsearch
request, then do_syncrep2() reads the search response. The first message is a
Present UUID list which it parses successfully. It then loops back to look for
the next message from the provider, but due to whatever timing vagaries, that
message is not available yet. But anyway, do_syncrep2() returns with rc=0 and
this resets the retry counter, as I said before.
At the moment I don't have any good ideas how this could be fixed in the code.
Timeouts of this sort are normal behavior for refreshAndPersist. I guess we
need to keep using the NULL timeout while the connection is actually in its
Refresh phase, before it enters its Persist phase.
I think you could workaround it by using delta-syncrepl, which doesn't use a
Present UUID list.
This will require some more thought.
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/