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

feat: change circuitbreaker approach #453

Merged

Conversation

fgheysels
Copy link
Member

The CircuitBreaker now just signals the MessagePump to pause retrieving messages instead of stopping the MessagePump and restarting it later using a separate Task.

@stijnmoreels stijnmoreels changed the title Spike: change circuitbreaker approach feat: change circuitbreaker approach Dec 3, 2024
@stijnmoreels stijnmoreels marked this pull request as draft December 3, 2024 09:09
@stijnmoreels stijnmoreels marked this pull request as ready for review December 4, 2024 09:03
@stijnmoreels
Copy link
Member

/azp run CI - Arcus.Messaging

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@fgheysels fgheysels merged commit 8cbd9eb into frgh/fix/433_unable_to_stop_processor Dec 10, 2024
8 checks passed
@fgheysels fgheysels deleted the frgh/feat/auto_circuitbreaker branch December 10, 2024 22:25
fgheysels added a commit that referenced this pull request Dec 13, 2024
… during circuit breaker (#444)

* Upgrade packages

* update package

* package updates

* remove duplicate package ref

* detach eventhandlers before stopping ServiceBusProcessor

* pr-fix: fully use message receiver

* pr-fix: use newest features in messaging package

* pr-fix: update az packages + message pump accessibility check

* pr-fix: set is-started in receive messages

* pr-fix: correct accessibility on message pump

* pr-fix: introduce resume functionality

* pr-fix: mark the interval processing as long-running

* pr-fix: intro circuit breaker message handler

* pr-fix: correct worker logging

* pr-fix: stabelize with file system as event source

* temp commit

* pr-sug: use private set for circuit breaker state

* pr-fix: correctly auto-complete message

* pr-fix: add additional test verifications

* Update src/Arcus.Messaging.Pumps.Abstractions/MessagePump.cs

Co-authored-by: Frederik Gheysels <[email protected]>

* pr-fix: auto-dead-letter when no message handler can process message

* pr-fix: add exception handling for fallback registrations

* pr-fix: correct receiver tests

* pr-fix: receive on sensors

* pr-fix: auto-abandon & -dead-letter in router

* pr-fix: null-check and updated unit tests

* pr-fix: transient complete + safeguard missing message

* pr-fix: correct namespace connection string

* pr-fix: use managed identity

* pr-fix: skip for now unavailable system tests

* pr-fix: use dedicated namespace connection string

* pr-fix: correct appsettings.json

* pr-fix: remove delay 1 day

* pr-fix: activate circuit-breaker tests

* pr-sug: rename get circuit-breaker state expose method

* Improve circuit-breaker handling

* safeguards in pause

* remove unused private

* fix compiler warnings

* fix test

* code layout

* feat: change circuitbreaker approach (#453)

* processing spike

* code cleanup

* pr-sug: use message processing result io boolean

* pr-sug: promote circuit breaker state enum to class

* pr-fix: throw-if-null is not available in net-standard

* pr-fix: correct usings in az service bus message pump

* pr-sug: add message id context to the processing result

* pr-fix: correct time-out for resiliency tests

* pr-fix: remove useless dev-test

* pr-fix: correct recieved message creation in unit tests

* pr-fix: more stable post-assertion resilence

* pr-fix: use back the message id for the message processing result

* pr-sug: finishing touches on circuit breaker state transitioning

* pr-fix: streamline equalization in circuit breaker state

* pr-fix: let router abbandon message io circuit breaker handler

* pr-sug: rename wait interval method + fix wait recovery period log

* pr-fix: complete renaming in message pump

* pr-sug: use transition method for open state

* pr-sug: add half-open state boolean flag

* pr-fix: limit processing of single message on queue

* Update src/Arcus.Messaging.Pumps.Abstractions/Resiliency/IMessagePumpCircuitBreaker.cs

Co-authored-by: Frederik Gheysels <[email protected]>

* pr-sug: reframe summary and remarks wording in circuit breaker states

* Update src/Arcus.Messaging.Pumps.Abstractions/Resiliency/IMessagePumpCircuitBreaker.cs

Co-authored-by: Frederik Gheysels <[email protected]>

* Update src/Arcus.Messaging.Pumps.Abstractions/Resiliency/IMessagePumpCircuitBreaker.cs

Co-authored-by: Frederik Gheysels <[email protected]>

* Update src/Arcus.Messaging.Pumps.Abstractions/Resiliency/IMessagePumpCircuitBreaker.cs

---------

Co-authored-by: stijnmoreels <[email protected]>

* pr-sug: correct is started description

---------

Co-authored-by: Frederik Gheysels <[email protected]>
Co-authored-by: Frederik Gheysels <[email protected]>
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.

2 participants