apache / apache/pinot

Controller should reject out-of-retention segments

Open
#18,485 2 comments 0 reactions 0 assignees View on GitHub
enhancement ingestion
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
2d 55m
Merged PRs (30d)
182

Description

Controller currently has no guardrail over ingestion of out-of-retention segments. We've encountered this issue in production due to incorrectly configured ingestion jobs.
Currently only Retention Manager handles their clean up. Adding this validation to Controller segment upload APIs can solve following issues.
1. Reduces load of invalid segments from servers
2. Retention Manager and servers can have a race condition leaving out-of-retention segments temporarily in ERROR state (depicted in diagram)
Image

Contributor guide

Open the contributing guide

Research direction

Start by tracing the Controller segment upload APIs and the Retention Manager cleanup path described in the issue. Determine how out-of-retention segments are identified and where upload validation belongs; done means invalid segments are rejected before ingestion without leaving the reported ERROR-state race.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend-api-design, databases, distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.