Hi guys,

as I'm busy implenting this control, I have some questions about the RFC and some choices to be made.

The RFC (http://www.rfc-archive.org/getrfc.php?rfc=2696) is not really clear on some aspects concerning the size limit. Let me say I'm a bit baffled by the choice to define a paged size value in the control, when the sizeLimit would have been plain ok.

So here aere my questions :

1) considering that we have a server sizeLimit, a request sizeLimit and a page size limit, I'm wondering if we can simply ignore the request size limit. The page size limit can change, even if the paged result is being processed, but the RFC says "If the page size is greater than or equal to the sizeLimit value, the server should ignore the control as the request can be satisfied in a single page". Should I consider that the 'sizeLimit' is the request sizeLimit ? My personnal bet is : yes.

2) so second question : what if in one of the subsequent requests, the page size limit is changed and is superior to the sizeLimit ? This request sizeLimit cannot have changed, otherwise the search request would have been considered as a new search ( "...a searchRequest with all values identical to the initial request with the exception of the messageID, the cookie, and optionally a modified pageSize..."). My personal guess is again to consider that we should deliver as much entries as we can, up to the sizeLimit, and generate a LDAP error #4 : sizeLimitExceeded.

3) regarding the search request immutability : it's pretty hard to check that the filter hasn't changed, as it may be a complex one, with a different structure and a a different order. I think that this constraint is fully absurd, as the client will obviously create one request, and send a null cookie every time it will send a new paged search, so I don't see the validity of such a check. Nevertheless, should we try to implement such a check ? My personal guess, again, is that it's useless.

Wdyt ?

I'm also interested to have some feedback about how this control is handled by the other ldap servers, considering the many factors influencing this control :
- internal server size limit
- how many of such paged search can be handled for a single client
- what happens when we send a bad cookie to the server
- what happen when we play with the sizeLimit parameter


Last, not least, as we are using cursors to get the entries from the backend, we are able to move forward or backward. It would be interesting to extend this control to allow a backward pagedSearch (for instance, providing a negative paged size). Would it be interesting ?

I'm waiting for your opinion an enlightenments.

Many thanks!

--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org


Reply via email to