apache / apache/lucene

TimeLimitedIndexReader and associated utility class [LUCENE-1720]

Open
#2,794 62 comments 0 reactions 1 assignee Claimed by @markharwood View on GitHub
legacy-jira-priority:Minor module:core/index type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

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.

---
Migrated from [LUCENE-1720](https://issues.apache.org/jira/browse/LUCENE-1720) by Mark Harwood (@markharwood), 2 votes, updated Aug 16 2011
Attachments: [ActivityTimedOutException.java](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-1720/ActivityTimedOutException.java), [ActivityTimeMonitor.java](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-1720/ActivityTimeMonitor.java) (versions: 3), [Lucene-1720.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-1720/Lucene-1720.patch) (versions: 2), [LUCENE-1720.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-1720/LUCENE-1720.patch) (versions: 3), [TestTimeLimitedIndexReader.java](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-1720/TestTimeLimitedIndexReader.java) (versions: 2), [TimeLimitedIndexReader.java](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-1720/TimeLimitedIndexReader.java) (versions: 2)
Linked issues:
- #3843

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.