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=r...
For instance, I assume that in case the LDAP_BUSY returned from ldap_sync_search(), then a syncrepl-connection would be closed and reestablished.
Let see around the line 1554 of server/slapd/syncrepl.c and below. https://github.com/leo-yuriev/openldap-lmdb-challenge/blob/master/servers/sl...
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?
Could anybody dispel my doubts?
Leonid.
Леонид Юрьев 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=r...
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/sl...
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.
Just correcting the thread title. It's "LMDB". "LDBM" is the broken old gdbm wrapper from 1996.
Howard Chu wrote:
Леонид Юрьев wrote:
openldap-technical@openldap.org