directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Karasulu (JIRA)" <>
Subject [jira] Commented: (DIRSERVER-1212) Size time limits on SearchControls broken in core-jndi
Date Tue, 19 Aug 2008 01:25:44 GMT


Alex Karasulu commented on DIRSERVER-1212:

I'm thinking of something a bit more integrated because of something Stefan Seelmann mentioned
to me a while back.  He said something very insightful about the nature of the search engine
regarding stopping search based on these time and size constraints:  If the search is in the
process of going through a massive search space to select candidates to return it might (especially
if no indices are provided take an extremely long time to return after a request to advance
a Cursor).  In this case the time constraint cannot be enforced until a candidate is found.

The only way to truly guarantee it is to make Cursors that can time out while advancing. 
This requires a slight change to the interface and I was letting it sit in me head as to how
exactly to do this.  Here's what I was debating:

(1) Do we create a new cancel method when something higher up needs to cancel a cursor because
a constraint like search time limits have been reached? The problem with this approach is
that it (a) requires an additional method, (b) an additional thread that can call cancel()
when it detects the criteria have been met.
(2) Make the base cursor used for all Cursors capable of timing out on advances like next()
and previous().  These methods would be made final and two new abstract methods would be created
to delegate candidate selection logic.  This gets tricky though because what's being iterated
underneath is different based on the Cursor implementation.  This requires a bit more research.

Still working on other options.  This is not the biggest feature of LDAP so I did not rush
solving this prematurely with a hokey implementation of it.  I'll look into fixing this for
1.5.4 though and make sure a solid reliable mechanism is used for this feature.  

> Size time limits on SearchControls broken in core-jndi
> ------------------------------------------------------
>                 Key: DIRSERVER-1212
>                 URL:
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: core
>            Reporter: Alex Karasulu
>            Assignee: Alex Karasulu
>            Priority: Blocker
>             Fix For: 1.5.4
> I commented out some tests in in core-integ that rely on the correct operation
of search size and time limits through paramters in a SearchControls object.  This is not
working any longer.  Fix it and remove @Ignore tags.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message