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

RE: Search size limits



Some additionals

> -----Original Message-----
> From:	JR Heisey 
> Sent:	Tuesday, May 25, 1999 4:57 AM
> To:	Alan Lloyd
> Cc:	ietf-ldapext@netscape.com; openldap-devel@OpenLDAP.org
> Subject:	Re: Search size limits
> 
> Alan,
> 
> Thanks for the response.
> 
> I think that I understand the general issues that you've stated. It
> would seem to me that my situation with the LDAP server is a
> specific case that also need to be addressed.
> 
> 1) The LDAP search operation does not provide any referrals
> unless the referrals are provided as an LDAP result entry.
> 2) I have a particular implementation where finding more than
> one entry in the result would indicate a data corruption error.
> To enhance performance both at the client and server it is a
> necessity to have the server abort the search once the size limit
> is reached.
> 
	Is your application - checking for duplicate values or something
as an error?
	A distributed directory service is unable to detect - when many
servers are performing the search that any of the others have hit THE
size limit. This can only be tested in results merging at the
originating DSA.

	The danger of building LDAP with odd controls eg like
Transaction Ids is that in most cases these can only be applied to a
single server - ie the client cannot be used on a generalised
distributed directory service.

	Also abandons - can be a hit or miss afair - depending on the
scheduling/buffering characteristics of the implentation. ie. Abanons
(according to the standards) MAY only stop the Search results and Search
processing.

> My client code also needs to work with any LDAP server
> implementation. For the short term I will change my client
> code implementation to asynchronous and abandon the
> search when the first entry is received.
> 
> This leaves me to another question regarding server controls
> which I will ask in another message.
	OK - sounds good

	regards alan
> JR
> 
> Alan Lloyd wrote:
> 
> > 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
> > >
> 
> --
> -
> J. R. Heisey
>