9aman opened a new pull request, #20168:
URL: https://github.com/apache/pinot/pull/20168

   ## Problem
   A pauseless table can set `realtime.segment.flush.threshold.time`. This time 
threshold can stop the replicas of a
   segment at different offsets. A replica that is past the committed end 
offset cannot build the segment, so it must
   download it. If the committer stops before the upload, no replica has a 
copy, and only a stream re-ingestion can
   recover the data.
   
   ## Change
   - `TableConfigUtils.validateIngestionConfig` rejects 
`realtime.segment.flush.threshold.time` and its legacy `.llc`
     key when pauseless consumption is enabled. Use a row or size threshold. 
These thresholds stop all replicas at the
     same offset.
   - The check runs on table create and update. An existing table continues to 
run, but its next config update must
     remove the key.
   - The default time threshold (6 hours) does not change.
   
   ## Testing
   `TableConfigUtilsTest#pauselessTimeFlushThresholdTest`: a pauseless table 
with either key fails validation. The same
   table without pauseless consumption passes.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to