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

   ## Summary
   
   Both `UpsertCompactionTask` and `UpsertCompactMergeTask` rewrite segments 
based on the current `validDocIds` state, but neither is aware of the 
`metadataTTL`-driven cleanup path in the upsert metadata manager. Enabling 
`metadataTTL` alongside either task can leave stale rows behind or resurface 
aged-out keys because the two paths operate on different notions of "valid".
   
   This PR rejects the combination in each task generator's 
`validateTaskConfigs()` with an explicit error, so the misconfiguration 
surfaces at task-scheduling time instead of silently producing incorrect 
results.
   
   ## Changes
   
   - `UpsertCompactionTaskGenerator.validateTaskConfigs()` — reject if 
`upsertConfig.metadataTTL > 0`.
   - `UpsertCompactMergeTaskGenerator.validateTaskConfigs()` — same check.
   - Regression tests added to both `*Test` classes covering the new error case.
   
   ## Test plan
   
   - [x] `./mvnw -pl 
pinot-plugins/pinot-minion-tasks/pinot-minion-builtin-tasks 
-Dtest='UpsertCompactionTaskGeneratorTest#testUpsertCompactionTaskConfig,UpsertCompactMergeTaskGeneratorTest#testUpsertCompactMergeTaskConfig'
 test` — both pass.
   - [x] Spotless / Checkstyle / License checks pass on the affected module.
   
   ## Backward compatibility
   
   Any existing table config that has **both** `metadataTTL > 0` and either of 
these tasks scheduled will now fail validation on the next scheduling attempt. 
This is intended — such a configuration was already producing incorrect results 
silently. Operators should either disable the compaction task on such tables or 
unset `metadataTTL`.


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