Flush Segments on a Schedule
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 189
Description
Currently, a segment can be flushed based on the size, a number of rows, or time since creation. It would be great if there is a way to trigger a flush based on a (cron) schedule.
The motivation is that it can take minutes to flush a segment, during which Pinot stops consuming new messages and hence there would be a delay of minutes. This may totally throw the users off for time-sensitive use cases.
Contributor guide
Research direction
Start by locating Pinot's existing segment flush triggers for size, row count, and age. Determine how a cron-based trigger should interact with ongoing consumption and define tests for scheduled flushing and the reported ingestion delay; done means the schedule is configurable and the behavior is covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100