当Hystrix短路并且电路处于打开状态时,即使在违规服务恢复后它也永远不会关闭

时间:2016-02-18 20:04:33

标签: java scala akka hystrix

我有一个问题,当hystrix断路器跳闸时,它不会再次关闭。我已经将日志记录转换为调试,我没有看到它试图允许测试请求通过在这种情况下,在我看来它永远不会关闭,因为它只应该关闭,当测试执行成功通过成功表明违规服务现在健康。根据文档Circuit break configuration defaults should be working,但我似乎无法说明为什么永远不允许通过测试请求。

2016-02-18 09:00:38,782 noodle-soup-service application-akka.actor.default-dispatcher-7 ERROR akka.actor.OneForOneStrategy - CallServiceCommand short-circuited and fallback failed.
com.netflix.hystrix.exception.HystrixRuntimeException: CallServiceCommand short-circuited and fallback failed.
    at com.netflix.hystrix.AbstractCommand$16.call(AbstractCommand.java:816) ~[com.netflix.hystrix.hystrix-core-1.4.23.jar:1.4.23]
    at com.netflix.hystrix.AbstractCommand$16.call(AbstractCommand.java:790) ~[com.netflix.hystrix.hystrix-core-1.4.23.jar:1.4.23]
    at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$1.onError(OperatorOnErrorResumeNextViaFunction.java:99) ~[io.reactivex.rxjava-1.1.0.jar:1.1.0]
    at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:71) ~[io.reactivex.rxjava-1.1.0.jar:1.1.0]

...

Caused by: java.lang.RuntimeException: Hystrix circuit short-circuited and is OPEN
    at com.netflix.hystrix.AbstractCommand$1.call(AbstractCommand.java:414) ~[com.netflix.hystrix.hystrix-core-1.4.23.jar:1.4.23]
    ... 38 common frames omitted

1 个答案:

答案 0 :(得分:0)

在Akka错误处理策略中,我需要安排一个新的测试调用,以便最终成功时,Hystrix可以关闭电路。