Allow Collectors To "Publish" If They Can Be Used In Concurrent Search [LUCENE-8963]
- Dominant language
- Java
- Stars
- 3.6k
- Forks
- 1.4k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 88
Description
There is an implied assumption today that all we need to run a query concurrently is a CollectorManager implementation. While that is true, there might be some corner cases where a Collector's semantics do not allow it to be concurrently executed (think of ES's aggregates). If a user manages to write a CollectorManager with a Collector that is not really concurrent friendly, we could end up in an undefined state.
This Jira is more of a rhetorical discussion, and to explore if we should allow Collectors to implement an API which simply returns a boolean signifying if a Collector is parallel ready or not. The default would be true, until a Collector explicitly overrides it?
---
Migrated from [LUCENE-8963](https://issues.apache.org/jira/browse/LUCENE-8963) by Atri Sharma (@atris), updated Sep 05 2019
Contributor guide
Research direction
Start by reading the CollectorManager and Collector APIs and the concurrent-search behavior described in the issue. Review the discussion and related Jira context to determine whether a parallel-readiness API is wanted; the issue does not define an implementation or a clear completion condition.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- search
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100