shounakmk219 opened a new pull request, #19079: URL: https://github.com/apache/pinot/pull/19079
## Summary The table config `validate`/`tune` preflight endpoints (`validateClusterAwareConfig` in `TableConfigsRestletResource`) previously ran active-tasks validation (`PinotTableRestletResource.tableTasksValidation`). This blocked the basic validate/tune APIs for a table that **already exists and has tasks running** — even though those endpoints are read-only pre-flight checks. Active-tasks validation is a runtime-conflict guard that only matters when a table is being **created, updated, or deleted**. This PR removes it from the read-only preflight path so validate/tune are no longer blocked by in-flight tasks. ## Changes - Remove the `ACTIVE_TASKS` branch from `validateClusterAwareConfig` (the validate/tune preflight path). - Drop `ACTIVE_TASKS` from the `validate`/`tune` `@ApiParam` documentation. - Retain `ValidationType.ACTIVE_TASKS` as an accepted-but-no-op `validationTypesToSkip` value for backward compatibility (documented on the enum), so existing clients passing it do not break. - Update the now-vacuous `ACTIVE_TASKS` assertions in `TableConfigsRestletResourceTest`. ## Where active-tasks validation still runs The check is **not lost** — it is still enforced on the mutating paths: - **Create/update**: `tableTasksValidation`, gated by the `ignoreActiveTasks` query param (`TableConfigsRestletResource`, `PinotDdlRestletResource`, `PinotTableRestletResource`). - **Delete**: `tableTasksCleanup`. ## Backward compatibility Behavior relaxation on the public `/tableConfigs/validate` and `/tableConfigs/tune` endpoints: configs for an existing table with running tasks that previously failed preflight now pass. The `ACTIVE_TASKS` skip type is still accepted (no-op) so no client request breaks. ## Testing - `spotless`, `checkstyle`, `license`, and `-Xlint` compiler checks pass on the touched modules (`pinot-controller`, `pinot-segment-local`). - Updated the preflight skip-type test to reflect the new behavior. > Note: a dedicated regression test asserting the split (validate/tune accepts an active-task conflict while create rejects it unless `ignoreActiveTasks`) would require seeding a live minion task and is better suited to an integration test — happy to follow up if reviewers prefer. -- 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]
