Fix connection infos overwrite #1099
Merged
+110
−65
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 issue fixes an problem when a node replicate an old node transaction with old connection informations (ip port, transport).
If this happen the active connection that may be good is killed and a new one is created with the old informations. So the node lose a good connection and may be stuck to download rest of summaries / transactions.
To fix this, there is a new control: if the connection status is connected we don't overwrite the current connection.
Also improve the connection when the node start, it was creating a new connection when loading all transaction in MemTableLoader init. Instead, we now wait for all synchronization to finish and then connect with the latest informations available
Type of change
Unit test
Start nodes, stop one and change its p2p port.
Start an other node, it should not have warning log informing a node connection is closed
Checklist: