Jackie-Jiang opened a new pull request, #19755:
URL: https://github.com/apache/pinot/pull/19755
## Summary
`InputFileSegmentNameGenerator` now rejects a `segment.name.template` that
does not contain `${filePathPattern:\N}` for any match group `N` of
`file.path.pattern`. Such a template ignores the input file, so every input
file gets the same segment name: the pushed segments replace each other, or the
push fails when the deep store rejects the name (#19696).
The common way to hit this is a table config
(`batchIngestionConfig.batchConfigMaps`, read by
`SegmentGenerationAndPushTask`). Table config values that are entirely of the
form `${NAME:default}` are resolved from environment variables and system
properties when the config is read, so
`"segmentNameGenerator.configs.segment.name.template":
"${filePathPattern:\\1}"` reaches the generator as `\1`. The error message
points to the `$${filePathPattern:\N}` escape added in #19202.
## Backward incompatibility
A template that references no match group is now rejected instead of
producing a constant segment name. This includes a constant template combined
with `append.uuid.to.segment.name=true`, which produced unique names. Use the
`fixed` generator for a constant name, or `simple` with
`append.uuid.to.segment.name` for unique names.
Related to #19696
🤖 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]