Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Receive failures lock transport into single concurrency mode #1063

Closed
DavidBoike opened this issue Oct 1, 2024 · 0 comments
Closed

Receive failures lock transport into single concurrency mode #1063

DavidBoike opened this issue Oct 1, 2024 · 0 comments
Labels

Comments

@DavidBoike
Copy link
Member

DavidBoike commented Oct 1, 2024

Symptoms

After a receive failure arms the message pump's circuit breaker, it may fail to recover, causing the message queue size to grow due to the transport being locked into single concurrency mode. Only a restart of the endpoint can return it to full processing capacity.

This would be perceived as poor performance, but log files will show likely multiple instances of a circuit breaker being armed and/or disarmed.

Who's affected

All users of Azure Service Bus transport 3.2.0 and greater. However, the circuit breaker improvements have also been backported to 2.0.8 even though 2.0 did not contain the same concurrency bug.

Root cause

A race condition in the circuit breaker logic could, under the right conditions, result in the circuit breaker becoming armed, but subsequent successful messages could not disarm it unless another failure happened.

Fixes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant