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]
