Robert Winkler
Robert Winkler
Hi, Resilience 2.x is the master branch. You can create a PR right away.
How did you configure your ThreadPoolBulkhead?
Do you monitor the thread utilization via Prometheus/Grafana or some other tooling? How many thread pool bulkhead instances do you have? Only one?
You should not create and use a new SingleThreadScheduledExecutor per TimeLimiter instance, but use a shared ScheduledThreadPoolExecutor to schedule timeouts in a production system.
The Timelimiter needs as `ScheduledThreadPoolExecutor` to schedule TimeoutExceptions. The ScheduledThreadPoolExecutor only allows to configure a `corePoolSize`. The ThreadPoolBulkhead needs a `ThreadPoolExecutor` which allows more configuration options. But you can't use...
In resilience4j 1.7.0 you can configure the ScheduledThreadPoolExecutor, which is used by the TimeLimiter annotations as follows: ``` resilience4j.scheduled.executor: corePoolSize: 10 ```
You can use the same ScheduledThreadPoolExecutor for all TimeLimiters. I can't suggest a concrete core pool size. That's something which must be monitored and tuned based on your workload.
Hi, yes it's not possible to define a fallback method in another class.
>Where Bulkhead has the highest priority and Retry the lowest. This is already a bit difficult to understand, because if you think that we enter the chain from the left...
I've no idea why this happens in your case. Did you try to debug?