-
Notifications
You must be signed in to change notification settings - Fork 325
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
[fix] Reconnection logic and Backoff policy doesn't work correctly #1197
base: master
Are you sure you want to change the base?
Conversation
@RobertIndie PTAL |
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.
I'm concerned that such breaking changes could significantly impact users. Users would have to implement the new methods introduced by the backoff policy, even if they haven't encountered this issue. Perhaps we could consider including this change in the 1.0 version.
I have initiated a discussion of the Go client 1.0.0: https://lists.apache.org/thread/h022q6nrk23tz2k0qpxjf6j8m1o4qsrt
Yes, I agree with you. |
delayReconnectTime = pc.options.backoffPolicy.Next() | ||
} | ||
delayReconnectTime = bo.Next() | ||
totalDelayReconnectTime += delayReconnectTime |
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.
We also need to reset the delayReconnectTime
once connected after several retries in 1699.
Fixes #1187
Modifications
backoff.go
to thebackoff
directory (because there are circular dependencies, they are not moved to the pulsar directory.)BackOffPolicy
interfaceIsMaxBackoffReached(delayReconnectTime, totalDelayReconnectTime time.Duration) bool
This is a breaking change that modifies the package name and interface name.
Package:
internal
->backoff
Interface name:
BackoffPolicy
->Policy
Verifying this change
Does this pull request potentially affect one of the following parts:
If
yes
was chosen, please highlight the changesDocumentation