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

RE: Search size limits



IMHO - there are a few issues to consider.

In X.500 a distributed Search which can be multicast to other servers,
the originating DSA  may end up with unequal timed responses which when
correlated exceed the original size limit demanded - This is only
determined on Results processing and Results correlation. At this point
some server responses get discarded and continuation references set to
these servers so that the client software can detect the situation and
follow up as necessary.

It is an operational policy and implementation  issue if one searches an
area in the directory and reaches size limit - if one procedes to search
the rest of the directory or just to the next valid entry to see if the
limit could be exceeded in reality.
In the case of distributed servers - returning their results for
correlation - it is difficult to deal with "stopping" mid stream.
In the case of a single server - stopping with size limit met - without
any references to what may be left may not be useful to some.

Its a hard one - because its information usage and search policy
dependent and distributed DSAs make it more difficult. X.500 has the
right idea re providing continuation references when size limit has been
detected. 

X.500 states:The sizeLimit is only applicable to List and Search
operations. It indicates the maximum number of objects to be returned.
In the case of size limit exceeded, the results of List and Search may
be an arbitrary selection of the accumulated results, equal in number to
the size limit. Any further results shall be discarded.


I hope this helps

regards alan

> -----Original Message-----
> From:	JR Heisey 
> Sent:	Saturday, May 22, 1999 5:34 AM
> To:	ietf-ldapext@netscape.com; openldap-devel@OpenLDAP.org
> Subject:	Search size limits
> 
> I've noticed that when a size limit for a search is set the
> OpenLDAP server actually searches for one plus the size
> limit then returns LDAP_SIZELIMIT_EXCEEDED or
> LDAP_SUCCESS as appropriate.
> 
> This is a problem when an attribute in the search filter is
> not indexed. I have a situation where I one want one result
> entry because I know that I will only ever have one entry to
> 
> match my search filter. However due to the interpretation
> of LDAP_SIZELIMIT_EXCEEDED the server continues it's
> search until it determines that no more extries exist.
> 
> Wouldn't a more appropriate server behavior be to return as
> soon as the size limit is met with a return code of
> LDAP_SIZELIMIT_MET. It may be appropriate to retire
> LDAP_SIZELIMIT_EXCEEDED error code and behavior in
> favor of a LDAP_SIZELIMIT_MET behavior. I see no reason
> for a server to continue a search once the size limit has
> been met.
> 
> Any comments?
> --
> -
> J. R. Heisey
>