[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/