apache / apache/pinot

Flush Segments on a Schedule

Open
#7,192 9 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.