You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Spring CloudGateway MVC with CircuitBreaker filter, CircuitBreaker is configured to use Resilience4j Bukhead and Timelimiter modules. Timelimiter is configured to cancel running future. After a request timeout, the ProxyExchange class that submitted request to backend continues to wait for backend response. ProxyExchange is not aware that it is handling a request associated with a cancelled future and is not freeing up the thread/resources associated.
Should the ProxyExchange implementation be aware of future associated with it? If not which component should be interrupting the thread.
Note the client is seeing the correct behavior with the TimeoutException, the concern here is resources associated with a timed out request are not getting freed up.
The text was updated successfully, but these errors were encountered:
It can't be aware. Your circuit breaker timeout and http client timeout should be configured so the http client timeout is less than the circuit breaker one
Umm...we have multiple circuits with customized Timelimiter timeouts for each, we set the http client timeout to be greater than all of them to support this setup. If http client timeout is less than the circuit breaker(Timelimiter) one, then don't know we can even use Timelimiter.
Describe the bug
Spring CloudGateway MVC with CircuitBreaker filter, CircuitBreaker is configured to use Resilience4j Bukhead and Timelimiter modules. Timelimiter is configured to cancel running future. After a request timeout, the ProxyExchange class that submitted request to backend continues to wait for backend response. ProxyExchange is not aware that it is handling a request associated with a cancelled future and is not freeing up the thread/resources associated.
Should the ProxyExchange implementation be aware of future associated with it? If not which component should be interrupting the thread.
Note the client is seeing the correct behavior with the TimeoutException, the concern here is resources associated with a timed out request are not getting freed up.
The text was updated successfully, but these errors were encountered: