apache / apache/lucene

Introduce annotation to indicate when a DocIdStream implementation can be replayed

Open
#15,477 2 comments 0 reactions 0 assignees View on GitHub
type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

### Description

Sometimes a DocIdStream can be replayed, e.g. `RangeDocIdStream`, there is not iterator state kept with the instance.

Proposal:

Introduce an annotation

```java
@Retention(RetentionPolicy.RUNTIME)
public @interface Replayable {
}
```

To indicate a DocIdStream can be replayed.

Contributor guide

Open the contributing guide

Research direction

Start by locating the DocIdStream abstraction and the RangeDocIdStream implementation, then inspect how stream implementations are tested. Define the Replayable annotation as described and identify which implementations meet the replayability condition. Done means the annotation is available at runtime and the relevant implementation tests still pass.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.