directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <elecha...@gmail.com>
Subject Paged Search Control questions
Date Sat, 13 Dec 2008 13:25:07 GMT
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



Mime
View raw message