apache / apache/lucene

ToParentBlockJoinIndexSearcher does not handle CollectionTerminatedException correctly [LUCENE-6337]

Open
#7,398 2 comments 0 reactions 0 assignees View on GitHub
affects-version:5.0 legacy-jira-priority:Major module:join type:bug
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

ToParentBlockJoinIndexSearcher overrides the search-method of IndexSearcher.

However, unlike IndexSearcher, it does not catch the CollectionTerminatedException, which would allow a Collector to permaturely terminate the collection of a segment.

This is an issue if this searcher is used for a search with a MultiCollector oder a collector other than ToParentBlockJoinCollector.

---
Migrated from [LUCENE-6337](https://issues.apache.org/jira/browse/LUCENE-6337) by Christoph Kaser, updated Mar 05 2015

Contributor guide

Open the contributing guide

Research direction

Start with ToParentBlockJoinIndexSearcher and compare its overridden search method with IndexSearcher, focusing on handling CollectionTerminatedException. Check how MultiCollector and collectors other than ToParentBlockJoinCollector exercise this path. Done means segment collection can terminate early without the searcher mishandling the exception; add or update coverage for that behavior if the relevant tests are found.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.