question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

CircuitBreaker 'XX' tried an illegal state transition from OPEN to OPEN

See original GitHub issue

hi, team, I just write a benchmark with JMH, and find that when half-open transfer to open under multi threads, it will occur above exception.

benchmark method is very easy:

if (circuitBreaker.tryAcquirePermission()) {
    circuitBreaker.onError(1, TimeUnit.SECONDS, timeoutException);
}

error stack:

io.github.resilience4j.circuitbreaker.IllegalStateTransitionException: CircuitBreaker 'XX' tried an illegal state transition from OPEN to OPEN
	at io.github.resilience4j.circuitbreaker.CircuitBreaker$StateTransition.transitionBetween(CircuitBreaker.java:476)
	at io.github.resilience4j.circuitbreaker.internal.CircuitBreakerStateMachine.lambda$stateTransition$1(CircuitBreakerStateMachine.java:242)
	at java.util.concurrent.atomic.AtomicReference.getAndUpdate(AtomicReference.java:160)
	at io.github.resilience4j.circuitbreaker.internal.CircuitBreakerStateMachine.stateTransition(CircuitBreakerStateMachine.java:241)
	at io.github.resilience4j.circuitbreaker.internal.CircuitBreakerStateMachine.transitionToOpenState(CircuitBreakerStateMachine.java:265)
	at io.github.resilience4j.circuitbreaker.internal.CircuitBreakerStateMachine$HalfOpenState.checkIfThresholdsExceeded(CircuitBreakerStateMachine.java:712)
	at io.github.resilience4j.circuitbreaker.internal.CircuitBreakerStateMachine$HalfOpenState.onError(CircuitBreakerStateMachine.java:695)
	at io.github.resilience4j.circuitbreaker.internal.CircuitBreakerStateMachine.handleThrowable(CircuitBreakerStateMachine.java:174)
	at io.github.resilience4j.circuitbreaker.internal.CircuitBreakerStateMachine.onError(CircuitBreakerStateMachine.java:161)

before reference is half-open statemachine, but when execute stateTransition, reference already changed to open statemachine.

I’m sorry if not a problem 😃

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:7 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
wantedlzxcommented, Sep 24, 2019

Sure, l’ll submit a pr. 😄

1reaction
RobWincommented, Sep 24, 2019

No, but it’s always important to know. A similar issue should have been fixed in 1.0.0. I just try to understand if it’s a different issue now.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Spring Boot Microservices — Implementing Circuit Breaker
At this point, the circuit breaker will move to the OPEN state. After a while, it will move to the HALF-OPEN state to...
Read more >
Circuit Breakers - Mr. Landlord
At one house, it seemed every time I went over there, the door was open on the circuit breaker box, which concerns me,...
Read more >
WSO2IS 5.10.0 - Error while loading user profile metadata ...
When we go to user list page, no problem, we can see all user loaded from all the secondary user-store. When we want...
Read more >
OPS-P20L ::: CNC Error Message Search ::: TATUNG-OKUMA ...
[Code] None->The circuit breaker of the EC is tripped. ... An attempt is made to open the pickoff chuck when the pickoff spindle...
Read more >
EntelliGuard* TU Trip Units - ABB
required concerning any aspect of EntelliGuard G, AKR,. Power Break, Power Break II, New HPC, and WavePro circuit breaker operation or maintenance.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found