lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shai Erera (JIRA)" <>
Subject [jira] Commented: (LUCENE-1720) TimeLimitedIndexReader and associated utility class
Date Mon, 15 Feb 2010 15:33:30 GMT


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:
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: Index
>            Reporter: Mark Harwood
>            Assignee: Mark Harwood
>            Priority: Minor
>         Attachments:,,,, Lucene-1720.patch, Lucene-1720.patch, LUCENE-1720.patch,,,,
> 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:
For additional commands, e-mail:

View raw message