You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
controller: reuse error-state repair for non-pauseless; delete redundant reingest method
- Reuse repairSegmentsInErrorStateForPauselessConsumption() to repair errored
segments for both pauseless and non-pauseless tables
- Remove reingestCommittingSegmentsForPauselessDisabled() and route call sites
to the shared repair flow
- Keep a single reingestion entrypoint: reingestSegment(table, segment, instances)
with simple predicates (hasOnlineInstance, maybeResetIfNotInProgress)
- Update RealtimeSegmentValidationManager to always invoke the shared repair flow
(and preserve optional auto-reset behavior)
- Adjust RealtimeSegmentValidationManagerTest expectations accordingly
Behavioral notes:
- Only re-ingests COMMITTING LLC segments with start/end offsets and no download
URL when all replicas are in ERROR and the segment is ONLINE in IdealState
- Otherwise resets segments not in IN_PROGRESS to fetch from deep store/peer
- Applies only to tables without dedup or partial upsert unless explicitly allowed
via allowRepairOfErrorSegments()
Copy file name to clipboardExpand all lines: pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java
Copy file name to clipboardExpand all lines: pinot-controller/src/main/java/org/apache/pinot/controller/validation/RealtimeSegmentValidationManager.java
Copy file name to clipboardExpand all lines: pinot-controller/src/test/java/org/apache/pinot/controller/validation/RealtimeSegmentValidationManagerTest.java
0 commit comments