apache / apache/pinot

Segment Assignment Strategy interface

Open
#9,047 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
2d 3h
Merged PRs (30d)
195

Description

Currently, Offline/RealtimeSegmentAssignment covers all the available segment assignment strategies. Single implementation works for both replica group and non replica group based tables.A lot of concepts are coupled together in the existing segment assignment implementation. (Tiered storage, Realtime’s consuming/completed concept etc)

Assignment strategies (e.g. balanced, replica-group etc) needs to be decoupled from SegmentAssignment.

Design strategy doc:
https://docs.google.com/document/d/16sGvC8UPHcaYJvUXHB2wODsaeNYkXj4lAhaJiSk9Jiw/edit?usp=sharing

cc @snleee

Contributor guide

Open the contributing guide

Research direction

Start with the linked strategy design document, then read OfflineSegmentAssignment, RealtimeSegmentAssignment, and SegmentAssignment to understand how assignment strategies are currently coupled. Compare the existing balanced and replica-group cases with the proposed design; done means the strategies are decoupled from SegmentAssignment as specified.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases, distributed-systems
Issue type
Refactor
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.