-
Notifications
You must be signed in to change notification settings - Fork 1.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
Always use HTTP handshaking in overlay: #885
Conversation
This looks good. 👍 If this goes into .28 we should be sure to include a note in the release notes that versions of rippled prior to .27 won't be able to participate in the overlay network. |
Inbound and outbound peer connections always use HTTP handshakes to negotiate connections, instead of the deprecated TMHello protocol message. rippled versions 0.27.0 and later support both optional HTTP handshakes and legacy TMHello messages, so always using HTTP handshakes should not cause disruption. However, versions before 0.27.0 will no longer be able to participate in the overlay network - support for handshaking via the TMHello message is removed.
# | ||
# When set, outgoing peer connections will handshaking using a HTTP | ||
# request instead of the legacy TMHello protocol buffers message. | ||
# Incoming peer connections have their handshakes detected automatically. |
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.
Do we know if anybody was using http_handshake = 1
in the wild?
Per the "Tx Changes" label, I forgot this setting was available. Perhaps this isn't breaking, but would require anybody who wants to stay on 0.27.0 to set this flag.
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.
I answered my own question: Set http_handshake = 1
on my dogfood rippled, started it up, and it had 15 outbound peer connections within moments.
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.
Whether they are using http_handshake = 1 or not, with this change everyone will be using it ^_^
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.
Exactly. I was thinking of forward compatibility if we wanted to roll this out before a Tx Change release.
This looks good. Changes are a lot easier to review when they remove so much more code than they add. :) 👍 |
PS. Tests pass in Windows for release and debug, and running |
@ximinez It should sync in less than a minute... do you have nudb configured? |
I do, but it's still slow to sync. I've still got a spinning disk, and VirtualBox taking up resources. |
nudb only runs correctly on SSDs |
I didn't know that. Still, given that fact, it will usually sync eventually. |
This is something of a Tx change but we should still merge it. |
I have no objection to removing the "Tx Change" label. |
I posted an announcement to architects regarding the change |
Inbound and outbound peer connections always use HTTP handshakes to negotiate connections, instead of the deprecated TMHello protocol message.
rippled versions 0.27.0 and later support both optional HTTP handshakes and legacy TMHello messages, so always using HTTP handshakes should not cause disruption. However, versions before 0.27.0 will no longer be able to participate in the overlay network - support for handshaking via the TMHello message is removed.