Hystrix icon indicating copy to clipboard operation
Hystrix copied to clipboard

HystrixCircuitBreaker allowRequest() doesn't have idempotent behaviour in latest release 1.5.18

Open rohansuri opened this issue 6 years ago • 2 comments

The master includes this change PR #1568, which made allowRequest() idempotent, which was released in 1.5.12. However the latest release 1.5.18 doesn't have it.

Does anyone know why?

Thanks

rohansuri avatar May 04 '19 17:05 rohansuri

1.5.11 was re-released as 1.5.18. See #1891 for explanation.

didi-moritz avatar Jan 19 '21 15:01 didi-moritz

The change might have fixed a race condition in HystrixCommandMetrics that could introduce memory leaks.

resetStream() may be called in parallel with isOpen() or allowRequest(), occasionally leaking subscriptions with re-subscription of counterSubject in BucketedCounterStream.startCachingStreamValuesIfUnstarted().

https://github.com/Netflix/Hystrix/blob/809104c8751be0065a8269df3677965f3092e6b9/hystrix-core/src/main/java/com/netflix/hystrix/HystrixCommandMetrics.java#L201-L205

https://github.com/Netflix/Hystrix/blob/809104c8751be0065a8269df3677965f3092e6b9/hystrix-core/src/main/java/com/netflix/hystrix/metric/consumer/BucketedCounterStream.java#L85-L96

l2dy avatar Jan 27 '23 13:01 l2dy