apache / apache/lucene

HttpReplication currently does not support a tree topology [LUCENE-5597]

Open
#6,659 0 comments 0 reactions 0 assignees View on GitHub
affects-version:4.7.1 legacy-jira-priority:Minor module:replicator type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

At the moment, it is not possible to have a "tree topology" for replication. The reason is that in order to publish a IndexRevision on a non-root, non-leaf node, one would need to open an IndexWriter on the index. However, the replication directly modifies the index directory without using an IndexWriter, so the indexwriter would not see the changes the replication made.

IndexRevision uses the IndexWriter for deleting unused files when the
revision is released, as well as to obtain the SnapshotDeletionPolicy.

In order to implement this, two things are needed:

- Revision, which doesn't use IndexWriter.
- Replicator which keeps track of how many refs a file has (basically what
IndexFileDeleter does)

---
Migrated from [LUCENE-5597](https://issues.apache.org/jira/browse/LUCENE-5597) by Christoph Kaser

Contributor guide

Open the contributing guide

Research direction

Start by reading the HttpReplication and IndexRevision implementations, then compare the existing Revision and Replicator abstractions. The issue identifies a design for revisions without IndexWriter and reference tracking for replicated files; done means non-root, non-leaf nodes can publish an IndexRevision in a tree topology without IndexWriter visibility problems.

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.