当 Hystrix 短路并且电路处于打开状态时,即使有问题的服务已备份,它也永远不会关闭
When Hystrix short-circuits and the circuit is OPEN it never closes even after the the offending service is back up
我遇到一个问题,当 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.call(AbstractCommand.java:816) ~[com.netflix.hystrix.hystrix-core-1.4.23.jar:1.4.23]
at com.netflix.hystrix.AbstractCommand.call(AbstractCommand.java:790) ~[com.netflix.hystrix.hystrix-core-1.4.23.jar:1.4.23]
at rx.internal.operators.OperatorOnErrorResumeNextViaFunction.onError(OperatorOnErrorResumeNextViaFunction.java:99) ~[io.reactivex.rxjava-1.1.0.jar:1.1.0]
at rx.internal.operators.OperatorDoOnEach.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.call(AbstractCommand.java:414) ~[com.netflix.hystrix.hystrix-core-1.4.23.jar:1.4.23]
... 38 common frames omitted
在 Akka 错误处理策略中,我需要安排一个新的测试调用,以便最终在它成功时,Hystrix 可以关闭 Circuit。
我遇到一个问题,当 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.call(AbstractCommand.java:816) ~[com.netflix.hystrix.hystrix-core-1.4.23.jar:1.4.23]
at com.netflix.hystrix.AbstractCommand.call(AbstractCommand.java:790) ~[com.netflix.hystrix.hystrix-core-1.4.23.jar:1.4.23]
at rx.internal.operators.OperatorOnErrorResumeNextViaFunction.onError(OperatorOnErrorResumeNextViaFunction.java:99) ~[io.reactivex.rxjava-1.1.0.jar:1.1.0]
at rx.internal.operators.OperatorDoOnEach.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.call(AbstractCommand.java:414) ~[com.netflix.hystrix.hystrix-core-1.4.23.jar:1.4.23]
... 38 common frames omitted
在 Akka 错误处理策略中,我需要安排一个新的测试调用,以便最终在它成功时,Hystrix 可以关闭 Circuit。