SouthwestAsiaFloat opened a new pull request, #6937:
URL: https://github.com/apache/shenyu/pull/6937

   Fixes #6888
   
   ## Description
   
   `ShenyuToolCallback` subscribes to the plugin chain asynchronously and waits
   for the response with a timeout. However, the `Disposable` returned by
   `subscribe()` was not retained, so the downstream plugin chain continued
   running after the tool call had already timed out.
   
   This change captures the subscription and disposes it when
   `CompletableFuture#get` throws `TimeoutException`, preventing leaked
   downstream work and unintended side effects after a timeout response.
   
   ## Changes
   
   - Capture the `Disposable` returned by the plugin-chain subscription.
   - Dispose the subscription when the tool call times out.
   - Preserve the existing default timeout behavior.
   - Add a regression test verifying that timeout cancels a non-terminating
     Reactor chain.
   
   - [X] You have read the [contribution 
guidelines](https://shenyu.apache.org/community/contributor-guide).
   - [X] You submit test cases (unit or integration tests) that back your 
changes.
   - [X] Your local test passed `./mvnw clean install 
-Dmaven.javadoc.skip=true`.
   


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

Reply via email to