p2p: no peer reconnect if explicitly disconnected #2115
Merged
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.
Description
This PR adds a feature to stop reconnecting to peers that were explicitly disconnected (i.e. using
admin_removePeer
).Rationale
In some cases when we run a cluster of nodes, we would want to avoid those nodes connecting to the same peers. Hence, we would do
admin_removePeer
) to disconnect the connections. However, the reality is that peers get reconnected almost immediately after executingadmin_removePeer
, as shown in the graph below:Hence, this feature will put a restriction on the explicitly removed peers such that their connections are not accepted unless the node is restarted.
Changes
Notable changes:
disconnectEnodeSet
in theServer
structServer.addPeerChecks