apache / apache/lucene

Allow Collectors To "Publish" If They Can Be Used In Concurrent Search [LUCENE-8963]

Open
#10,006 3 comments 0 reactions 0 assignees View on GitHub
legacy-jira-priority:Major type:enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.