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

Re: (ITS#6686) VLV overlay fails to handle multiple search operations per LDAP connection



Sebastien Bahloul wrote:
> Hi Howard,
>
> Le mercredi 27 octobre 2010 15:03:36, Howard Chu a écrit :
>> sebastien.bahloul@gmail.com wrote:
>>> Full_Name: Sebastien Bahloul
>>> Version: HEAD
>>> OS: Linux RHEL 5
>>> URL:
>>> Submission from: (NULL) (109.197.176.10)
>>>
>>>
>>> Hi,
>>>
>>> I think there is a bug / limitation inside VLV implementation : it can
>>> not handle multiple search operation on a single connection. The first
>>> operation succeeds and next operations fail with the following message :
>>>
>>> LDAP: error code 51 - Other sort requests already in progress
>>>
>>> But I think this issue is more global. This implementation seems to be
>>> able to only handle a single VLV context per connection.
>>
>> Correct, that is by design.
>>
>>> If I am right, this is related with the indexing method of sort_conns
>>> structure which seems to be based only on the connection id. I suggest
>>> to implement a double indexing array by connection id / VLV context id.
>>
>> I have no interest in extending this. It would require much more overhead
>> to protect the slapd from getting overloaded by too many such requests.
>
> In fact my suggestion was a question : I would like to contribute a patch to
> add support for this way of using VLV. Is this feature extension as a double
> indexed array an acceptable implementation from your point of vue ? To avoid
> encountering such performance issues, I would add a new sssvlv parameter that
> would authorize by default only a single VLV search request per connection.

I guess as long as you observe the svi_max config parameter, there's no reason 
not to adopt your suggestion. Feel free to followup here with your patch for 
review.

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