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

   ## Description
   
   A scheduling request can override a table's minion tag, so a generator that 
only checks table configuration cannot validate the pool that will receive its 
tasks.
   
   Add a default no-op 
`PinotTaskGenerator.validateMinionInstanceTag(TableConfig, String)` hook and 
call it with the resolved tag before grouping or generating task configs. A 
rejected table uses the existing per-table error handling; other generators 
retain their current behavior. This provides the shared scheduler boundary 
needed by the DELTA consumers in startreedata/startree-pinot#4903 and #4904; 
consumer validation is separate from this API change.
   
   ## Validation
   
   - On unchanged `c5ac29be0e6a3d5c5fae5c0ed79ece50f87847d9`, two wrong-tag 
cases reproduced generator side effects; matching/default-tag and ordinary 
override controls passed. With the hook, all **7 focused stateless-scheduler 
cases pass**, zero failures/errors/skips, including two existing scheduling 
controls. Rejected tags produce no generation or submission.
   - JDK25, source-built reactor dependencies, no Pinot project Maven artifacts 
on the actual test classpath. The exact frozen three-file source was committed 
as `c2f8e5b31c4f940e156e631289ebcf0a7d909e3c`.
   - Four scoped controller quality goals passed. Scoped compilation retained 
three existing metric deprecation warnings and added none on changed lines.
   - Independent local review covered all three changed files and the 
source/runtime binding. Current-head hosted CI is pending.
   
   ## Release Notes
   
   Add an optional task-generator hook for validating the effective minion tag 
before task generation.
   


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