I3eka opened a new pull request, #45730: URL: https://github.com/apache/superset/pull/45730
## Status **Draft / ON HOLD pending SIP-224:** parent proposal #42805 and discussion #42806. This Native AI follow-up is not ready to merge before the parent proposal is accepted. The focused commit is `e0f4ee7001`; the branch also includes shared Native AI prerequisites and MCP SDK compatibility #45723. ## Problem and change The runtime checked its deadline only between turns. A synchronous tool blocked in warehouse I/O could continue beyond the run deadline and then execute more tools. Bind the remaining run deadline to Superset's existing warehouse cursor hooks and engine cancellation contract. Explicit cancellation reloads the original user/database in a separate request and metadata session; it never shares ORM objects with the timer thread. Keep ownership of the cursor until cancellation finishes to prevent a late callback from cancelling a reused connection. SQL Lab's configured timeout and explicit query timeout can shorten the run deadline. Stop subsequent tools/model turns after expiry. Cancellation is best effort: it requires engine support and warehouse permissions. A driver without a cancellation API, a failed/hung cancellation, or connection establishment may still wait for its own network timeout. This change does not claim a universal hard wall-clock bound for arbitrary drivers. ## Validation - 313 runtime, executor and cancellation tests pass. - Regressions cover blocked cursors for implicit, explicit and during-execution handles, original-user/session isolation, skipped subsequent calls, context cleanup and shorter SQL deadlines. - Full branch pre-commit passes, including frontend/backend types. - No live warehouse cancellation or deployment. -- 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]
