[
https://issues.apache.org/jira/browse/LUCENE-1720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833845#action_12833845
]
Shai Erera commented on LUCENE-1720:
------------------------------------
bq. most reader-wrappers would use this as a base class?
In my understanding it should be. I've started making this change, and
TimeLimitingIndexReader does not need for example to override
getUniqueTermCount or other such methods which are passed blindly to the
wrapped reader. I think it makes sense to request that a wrapping reader should
sub-class FilterIndexReader.
Of course, because of the semantics of the various reopen methods, it is not
enough to provide one impl in FilterIndexReader and rely on that in
sub-classes, because they need to wrap the reader with themselves as a new
instance (I BTW found and fixed a bug in TimeLimitingIndexReader.reopen which
returned the wrapped reopened instance if it wasn't changed, instead of
itself). We can get over that by offering a protected
getNewInstance(IndexReader) which will be overridden by sub-classes ...
> TimeLimitedIndexReader and associated utility class
> ---------------------------------------------------
>
> Key: LUCENE-1720
> URL: https://issues.apache.org/jira/browse/LUCENE-1720
> Project: Lucene - Java
> Issue Type: New Feature
> Components: Index
> Reporter: Mark Harwood
> Assignee: Mark Harwood
> Priority: Minor
> Attachments: ActivityTimedOutException.java,
> ActivityTimeMonitor.java, ActivityTimeMonitor.java, ActivityTimeMonitor.java,
> Lucene-1720.patch, Lucene-1720.patch, LUCENE-1720.patch,
> TestTimeLimitedIndexReader.java, TestTimeLimitedIndexReader.java,
> TimeLimitedIndexReader.java, TimeLimitedIndexReader.java
>
>
> An alternative to TimeLimitedCollector that has the following advantages:
> 1) Any reader activity can be time-limited rather than just single searches
> e.g. the document retrieve phase.
> 2) Times out faster (i.e. runaway queries such as fuzzies detected quickly
> before last "collect" stage of query processing)
> Uses new utility timeout class that is independent of IndexReader.
> Initial contribution includes a performance test class but not had time as
> yet to work up a formal Junit test.
> TimeLimitedIndexReader is coded as JDK1.5 but can easily be undone.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]