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]