-
Notifications
You must be signed in to change notification settings - Fork 467
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
Make Service Bus attempt to reconnect forever in case of issues #1783
Conversation
With exponential back-off configurable between min and max time. Fixes dapr#1612 Also includes fixes: - Binding: make sure it actually retries to connect forever - Binding: add delay (exponential backoff) before reconnecting - PubSub: better handling of failures such as topics disabled or other non-connection issues Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
See dapr/components-contrib#1783 Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
@@ -22,8 +22,8 @@ type metadata struct { | |||
HandlerTimeoutInSec int `json:"handlerTimeoutInSec"` | |||
LockRenewalInSec int `json:"lockRenewalInSec"` | |||
MaxActiveMessages int `json:"maxActiveMessages"` | |||
MaxReconnectionAttempts int `json:"maxReconnectionAttempts"` | |||
ConnectionRecoveryInSec int `json:"connectionRecoveryInSec"` | |||
MaxConnectionRecoveryInSec int `json:"maxConnectionRecoveryInSec"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a breaking change - see https://docs.dapr.io/reference/components-reference/supported-pubsub/setup-azure-servicebus/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a breaking change as the metadata options has changed and existing metadata options no longer take effect. That needs to be handled.
It sort if is, and sort of isn't. The additional metadata keys are ignored so that won't cause crashes. Now, it's true that it changes the behavior, but I don't believe we should be particularly concerned with that, because the current behavior is incorrect/undesirable. Per linked issue (user-reported), the pubsub component would only try to reconnect up to For |
Behavior change is a breaking change @ItalyPaleAle. Of course I know that metadata keys which don't exist are ignored. I wonder if there is any situation where a user previously benefited from retries and would not be broken as a result. Is there something better we can do here? Maybe at a minimum we just write a log message that the metadata option is ignored and other metadata options (the new ones you have added) should be used instead? |
that's a good suggestion |
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Changed as requested |
Codecov Report
@@ Coverage Diff @@
## master #1783 +/- ##
==========================================
- Coverage 36.59% 36.51% -0.09%
==========================================
Files 177 177
Lines 16222 16278 +56
==========================================
+ Hits 5937 5944 +7
- Misses 9617 9661 +44
- Partials 668 673 +5
Continue to review full report at Codecov.
|
* Updated metadata for Service Bus binding/pubsub See dapr/components-contrib#1783 Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com> * Changed as requested Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com> * Changed as requested Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com> Co-authored-by: Mark Fussell <markfussell@gmail.com>
Description
With exponential back-off configurable between min and max time. Fixes #1612
Also includes fixes:
Issue reference
Fixes #1612
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list: