[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#7616) syncrepl enhancement: defer requests when refreshing
- To: openldap-its@OpenLDAP.org
- Subject: Re: (ITS#7616) syncrepl enhancement: defer requests when refreshing
- From: hyc@symas.com
- Date: Wed, 5 Jun 2013 16:00:44 GMT
- Auto-submitted: auto-generated (OpenLDAP-ITS)
hyc@OpenLDAP.org wrote:
> Full_Name: Howard Chu
> Version: 2.4.35
> OS:
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (78.155.233.73)
> Submitted by: hyc
>
>
> We've discussed this on -devel a few times in the past. Sometimes it would be
> desirable to prevent a consumer from answering client requests if it has just
> started up and needs to perform an lengthy refresh.
>
> In prior discussions, there was a concern that in an MMR situation, two servers
> coming up at the same time would deadlock waiting for each other. We can avoid
> this problem by allowing any search request with a Sync control to proceed as
> normal. Or, any search request with a Sync control and a non-empty, valid
> cookie.
>
> Implementation can be done using an overlay hook. Note that syncrepl already
> installs an overlay hook now for delta-mmr, this would just expand the scope of
> that internal overlay.
I was considering returning LDAP_BUSY for this case, but it may make more
sense to return a REFERRAL to the provider instead. (Although again, if we
have two MMR servers pointed at each other starting at the same time, they
would just refer to each other and clients would get nowhere until one of them
finishes its refresh.)
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/