AkshayUpadhyay2411 opened a new pull request, #19820:
URL: https://github.com/apache/pinot/pull/19820

   Fixes #19819
   
   ## Summary
   
   `SegmentGenerationAndPushTask` ignores an explicitly configured 
`append.uuid.to.segment.name`, so deterministic
   segment names (`inputFile`, `simple`, `normalizedDate`) cannot be used with 
this task.
   
   Two places overrode the configured value (both introduced in #10335):
   
   - **Generator:** unconditionally put top-level 
`append.uuid.to.segment.name=true` into every task. It now defaults to
     `true` only when the batch config has not set it, either top-level or as
     `segmentNameGenerator.configs.append.uuid.to.segment.name` (the prefixed 
value is carried into the top-level key).
   - **Executor:** unconditionally overwrote the prefixed generator config with 
the top-level value (default `false`).
     It now only falls back to the top-level key when the prefixed config is 
absent.
   
   ## Compatibility
   
   No config keys are added, removed or renamed, and the default stays `true` 
for generated tasks. The only change is
   that an explicit value is now respected:
   
   - unset: unchanged (`true`)
   - `segmentNameGenerator.configs.append.uuid.to.segment.name`: now honored; 
wins over the top-level key
   - top-level `append.uuid.to.segment.name`: now honored when the prefixed key 
is absent
   - tasks submitted without either key: unchanged (`false`)
   
   Tables that already set `false` (which previously had no effect) will start 
producing deterministic segment names. With
   `false`, make sure the name generator yields unique names per input, 
otherwise segments are overwritten. `FIXED` ignores
   the setting.
   
   ## Testing
   
   - `SegmentGenerationAndPushTaskGeneratorTest` (new): default, explicit 
top-level `false`, explicit prefixed `false`,
     and a generator -> executor round trip.
   - `SegmentGenerationAndPushTaskExecutorTest`: precedence and fallback.
   - Verified the new tests fail without the fix.
   - `./mvnw spotless:apply license:format checkstyle:check license:check -pl 
pinot-plugins/pinot-minion-tasks/pinot-minion-builtin-tasks`
   
   ## Related
   
   #16909 (open) changes the same generator line to read a top-level batch key 
with a default of `false`.
   


-- 
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