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

Re: syncrepl and LDAP_BUSY on LDBM by ITS#7904



Леонид Юрьев wrote:
Hi all,

We got a trouble with 2.4.40 syncrepl in the the multi-master mode.
I think is too complex for analyse, and so not yet testcase is ready.

But I noticed a change in ITS#7904 and the impact of LDAP_BUSY upon syncrepl.
http://www.openldap.org/devel/gitweb.cgi?p=openldap.git&a=search&h=refs%2Ftags%2FOPENLDAP_REL_ENG_2_4_40&st=commit&s=7904

For instance, I assume that in case the LDAP_BUSY returned from
ldap_sync_search(), then a syncrepl-connection would be closed and
reestablished.

Yes, syncrepl will retry on any error, including LDAP_BUSY. The patch for ITS#7904 only has any effect if (1) the consumer is too slow to keep up with data being sent by syncprov and (2) the entry where the pause occurred is deleted before the search resumes. In that case, a consumer in refresh would have to start all over. Possibly, if it is always too slow, it may never make progress.

Let see around the line 1554 of server/slapd/syncrepl.c and below.
https://github.com/leo-yuriev/openldap-lmdb-challenge/blob/master/servers/slapd/syncrepl.c#L1545

Also, nowadays it is no repeatable read txn-isolation during the
search and transfer data over a network.
Does it influence upon syncrepl or not?

No. "repeatable read" only matters if you actually backtrack and re-read records you already saw in a given transaction. An LDAP search operation only reads and returns any entry once.

Could anybody dispel my doubts?

Leonid.




--
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/