Controller should reject out-of-retention segments
- 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)
Contributor 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