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]

Reply via email to