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.