-
Notifications
You must be signed in to change notification settings - Fork 24.6k
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
Handle ConnectionTransportException during a Master/Node fault detection ping during Discovery #6686
Closed
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
…t detection ping Both the Master and Node fault detection register themselves to be notified when a node disconnects to be able to respond to it accordingly. As such, when a ConnectionTransportException was raised on a ping request, it was not handled it as it is already handled somewhere else. However, this does introduce a racing condition, if the disconnect happen during a period where there is no current master (minimum_master_node breach) at which time the fault detection is not active. This case we will only discover the disconnect error during the ping request, so we have to respond accordingly.
NodeFD nodeFD = nodesFD.get(node); | ||
if (nodeFD != null) { | ||
if (!nodeFD.running) { | ||
return; | ||
} | ||
if (exp instanceof ConnectTransportException) { | ||
// ignore this one, we already handle it by registering a connection listener |
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.
with this change, this comment is obsolete.
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.
yes. left overs. will remove.
Left one small comment, other than that LGTM. |
same here, LGTM |
bleskes
changed the title
[Infra] Handle ConnectionTransportException during a Master/Node fault detection ping
[Discovery] Handle ConnectionTransportException during a Master/Node fault detection ping
Jul 2, 2014
bleskes
added a commit
that referenced
this pull request
Jul 2, 2014
…fault detection ping Both the Master and Node fault detection register themselves to be notified when a node disconnects to be able to respond to it accordingly. As such, when a ConnectionTransportException was raised on a ping request, it was not handled as it is already handled somewhere else. However, this does introduce a racing condition, if the disconnect happen during a period where there is no current master (minimum_master_node breach) at which time the fault detection is not active. In this case, we will only discover the disconnect error during the ping request, so we have to respond accordingly. Closes #6686
bleskes
added a commit
that referenced
this pull request
Jul 3, 2014
…sconnects The change introduced in #6686 checks for ConnectionTransportException during pinging. However, transport layer wraps it in SendRequestTransportException
bleskes
added a commit
that referenced
this pull request
Jul 3, 2014
…sconnects The change introduced in #6686 checks for ConnectionTransportException during pinging. However, transport layer wraps it in SendRequestTransportException
clintongormley
changed the title
[Discovery] Handle ConnectionTransportException during a Master/Node fault detection ping
Resiliency: Handle ConnectionTransportException during a Master/Node fault detection ping during Discovery
Jul 16, 2014
clintongormley
added
the
:Distributed/Discovery-Plugins
Anything related to our integration plugins with EC2, GCP and Azure
label
Jun 7, 2015
clintongormley
changed the title
Resiliency: Handle ConnectionTransportException during a Master/Node fault detection ping during Discovery
Handle ConnectionTransportException during a Master/Node fault detection ping during Discovery
Jun 7, 2015
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
>bug
:Distributed/Discovery-Plugins
Anything related to our integration plugins with EC2, GCP and Azure
resiliency
v1.3.0
v2.0.0-beta1
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.
Both the Master and Node fault detection register themselves to be notified when a node disconnects to be able to respond to it accordingly. As such, when a ConnectionTransportException was raised on a ping request, it was not handled as it is already handled somewhere else. However, this does introduce a racing condition, if the disconnect happen during a period where there is no current master (minimum_master_node breach) at which time the fault detection is not active. In this case, we will only discover the disconnect error during the ping request, so we have to respond accordingly.