Skip to content

Conversation

@WilliamBZA
Copy link
Member

A port of Particular/NServiceBus.Transport.AzureServiceBus#1066

Serializing the arm/disarm actions is not enough. The state transition preceding the arm/disarm action must be captured in the lock as well, otherwise the state transitions could happen properly but then the arm/disarm actions could be executed by the processor in the wrong order, leaving the logic of the circuit breaker itself intact but the consequences of the arm/disarm actions in an incorrect state.

I also added xdoc as a way to document that the arm/disarm actions are called within a lock, and to maybe pave the way for this to be used as a shared component.

@WilliamBZA WilliamBZA requested review from afprtclr and hsvotwa June 12, 2025 09:18
@WilliamBZA WilliamBZA force-pushed the fix-repeated-failures-over-time branch from be69cb8 to 1a099a6 Compare June 12, 2025 09:29
@WilliamBZA WilliamBZA force-pushed the fix-repeated-failures-over-time branch from 1a099a6 to 4aa12b9 Compare June 12, 2025 10:11
@danielmarbach danielmarbach merged commit bc08a50 into master Jun 13, 2025
32 checks passed
@danielmarbach danielmarbach deleted the fix-repeated-failures-over-time branch June 13, 2025 07:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants