[
https://issues.apache.org/jira/browse/DIRSERVER-1212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12623528#action_12623528
]
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: https://issues.apache.org/jira/browse/DIRSERVER-1212
> 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 SearchIT.java 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.