apache / apache/lucene

A multi-tenant ConcurrentMergeScheduler

Open
#13,883 13 comments 9 reactions 0 assignees View on GitHub
good-mentored-project type:task
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

### Description

`ConcurrentMergeScheduler` computes max thread counts assuming a single `IndexWriter` in the JVM. But it's common with Solr or Elasticsearch to have tens of active `IndexWriter`s running in the same JVM. Could we make `ConcurrentMergeScheduler` more multi-tenant, or introduce a new multi-tenant merge scheduler that accounts for the fact that the JVM is shared across multiple indexes?

Contributor guide

Open the contributing guide

Research direction

Start by reading ConcurrentMergeScheduler and its assumptions about max thread counts, then examine how multiple IndexWriters coexist in JVMs such as Solr or Elasticsearch. Done means an agreed multi-tenant design or scheduler approach that accounts for shared JVM resources; the issue does not name specific files or tests.

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.