-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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 stuck lookup operations when the broker is starting up #8273
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
aahmed-se
approved these changes
Oct 15, 2020
jerrypeng
approved these changes
Oct 15, 2020
srkukarni
approved these changes
Oct 15, 2020
wolfstudy
pushed a commit
that referenced
this pull request
Oct 30, 2020
Motivation When the broker is starting up, it might start getting lookup requests before all the components of the service are fully initialized. In this particular case a lookup will fail on NPE because the leader election service is not ready yet (it gets instantiated after the broker service). This NPE causes a series of rippling effects: The future for the request hitting NPE are not completed They stay stale in the findingBundlesNotAuthoritative cache map forever All other lookup requests are piggy-backing on the first futures (but these will not complete) We reach the max number of pending lookup requests, after which the broker rejects new lookup (cherry picked from commit b57c163)
huangdx0726
pushed a commit
to huangdx0726/pulsar
that referenced
this pull request
Nov 13, 2020
Motivation When the broker is starting up, it might start getting lookup requests before all the components of the service are fully initialized. In this particular case a lookup will fail on NPE because the leader election service is not ready yet (it gets instantiated after the broker service). This NPE causes a series of rippling effects: The future for the request hitting NPE are not completed They stay stale in the findingBundlesNotAuthoritative cache map forever All other lookup requests are piggy-backing on the first futures (but these will not complete) We reach the max number of pending lookup requests, after which the broker rejects new lookup
flowchartsman
pushed a commit
to flowchartsman/pulsar
that referenced
this pull request
Nov 17, 2020
Motivation When the broker is starting up, it might start getting lookup requests before all the components of the service are fully initialized. In this particular case a lookup will fail on NPE because the leader election service is not ready yet (it gets instantiated after the broker service). This NPE causes a series of rippling effects: The future for the request hitting NPE are not completed They stay stale in the findingBundlesNotAuthoritative cache map forever All other lookup requests are piggy-backing on the first futures (but these will not complete) We reach the max number of pending lookup requests, after which the broker rejects new lookup
merlimat
added a commit
to merlimat/pulsar
that referenced
this pull request
Dec 19, 2020
4 tasks
4 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
When the broker is starting up, it might start getting lookup requests before all the components of the service are fully initialized. In this particular case a lookup will fail on NPE because the leader election service is not ready yet (it gets instantiated after the broker service).
This NPE causes a series of rippling effects:
findingBundlesNotAuthoritative
cache map forever