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]

Reply via email to