-
Notifications
You must be signed in to change notification settings - Fork 87
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
Add a boolean query flag to request supported versions #4256
Add a boolean query flag to request supported versions #4256
Conversation
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.
Thanks for the PR. Below are a few requestests for changes. The two most important ones are:
-
modify the protocol to add a
MsgQueryResp
rather than reuseMsgReplyVersions
-
I think we should terminate connections which had the
query
flag on.
Ad the last point:
This will require changes in ConnectionHandler
for P2P and Ouroboros.Network.Socket
for NonP2P.
ouroboros-network-api/src/Ouroboros/Network/NodeToClient/Version.hs
Outdated
Show resolved
Hide resolved
ouroboros-network-api/src/Ouroboros/Network/NodeToClient/Version.hs
Outdated
Show resolved
Hide resolved
ouroboros-network-api/src/Ouroboros/Network/NodeToNode/Version.hs
Outdated
Show resolved
Hide resolved
ouroboros-network-framework/src/Ouroboros/Network/Protocol/Handshake/Server.hs
Outdated
Show resolved
Hide resolved
ouroboros-network-framework/src/Ouroboros/Network/Protocol/Handshake/Type.hs
Outdated
Show resolved
Hide resolved
Here's the rationale why I think we should terminate connections which are using the
If we say that |
a5d0d2d
to
1589e50
Compare
@coot I've addressed your comments in the latest commits. I wasn't completely sure how to update the connection manager state and add new protocol versions, so let me know if we should be doing something different there. |
ouroboros-network-framework/src/Ouroboros/Network/ConnectionHandler.hs
Outdated
Show resolved
Hide resolved
ouroboros-network-framework/src/Ouroboros/Network/Protocol/Handshake/Type.hs
Outdated
Show resolved
Hide resolved
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.
LGTM
ouroboros-network-framework/src/Ouroboros/Network/Protocol/Handshake/Client.hs
Outdated
Show resolved
Hide resolved
Since it's approved, it's not a draft anymore :) |
To fix some of the CI failures you'll need to run these two scripts:
|
The CDDL tests are failing, see bottom of the raw log
The current state of CI is a bit messy. It's the |
7fc8927
to
2049df2
Compare
I've rebased onto |
537c84a
to
6b8885b
Compare
Everything is now building on top of @bolt12's branch, so this should be good to merge! The query successfully runs:
You should be able to reproduce this on the cardano-node PR (IntersectMBO/cardano-node/pull/5100 at commit |
Well done @jprider63, there seems to be some conflicts. Let me know if you need some help with them. |
Thanks @coot! The conflicts should be resolved now. |
@jprider63 once
I think the client side tries to send a |
Also `MsgQueryReply` requires map of params in increasing order of version numbers.
Co-authored-by: Marcin Szamotulski <coot@coot.me>
51a2056
to
3831d0d
Compare
bors merge |
Build succeeded: |
Description
This is a WIP PR implementing #3907. Specifically, it adds a boolean query flag to
NodeTo{Node,Client}VersionData
that causes the other party to return their list of supported versions instead of the negotiated version. I still need to do more testing.Checklist
interface-CHANGELOG.md
interface-CHANGELOG.md