-
Notifications
You must be signed in to change notification settings - Fork 25k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Today a transport response uses the same wire format version as the corresponding request. This mostly works since we mostly know we are communicating with a node with a compatible version. TCP handshakes don't have this guarantee since they use `Version.CURRENT.minimumCompatibilityVersion()` to let us handshake with older nodes. This results in the strange situation of a node of major version `N` responding to a node of major version `N-1` using a wire format of version `N-2`. We put extra effort into the longer BWC requirements for successful responses, but we do not offer the same guarantees for error responses since they may be rather complicated to serialize. This can result in the request sender misinterpreting the response which may have unpredictable consequences. Rather than strengthening the guarantees in this area, this commit simply logs the exception and closes the connection on a handshake error with a node that uses an incompatible wire format. Closes #54337
- Loading branch information
1 parent
961e5d6
commit 0358df5
Showing
4 changed files
with
104 additions
and
4 deletions.
There are no files selected for viewing
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
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
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
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