-
Notifications
You must be signed in to change notification settings - Fork 15
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
code: Multiplexing votes with full proposals is broken #416
Comments
How are we abstracting, at code level, the "value dissemination/propagation" protocol? I am curious to see the current architecture to get some insights. As also discussed in #365, I think we should render this distinction more clear. |
Once we merge #417, a proposal message received by the driver means we have a "complete" proposal. This is an internal message.
The idea behind the "full proposal" keeper is to abstract all of the above (and everything seen on the wire) and just send an internal proposal event/msg to consensus. |
I have a branch with a "bench/test" app that does just this, will open a PR once it's ready but it's tricky because right now streaming is partly baked right in the gossip-consensus crate. |
But if the app/ builder doesn't stream anything we won't use the |
Of course we need to add some config to induce the correct behavior in the full proposer module. |
From what I understand, abstractly, the data exchanged via the This is an elegant solution in my view. We don't need to broadcast a |
Almost, we are not quite there yet, we need to remove the explicit PROPOSAL message but yes, that is the idea. We were waiting for the clarification for protos for L16 which we now have. |
When we receive a vote and we try to multiplex with a proposal we do not check that the full value has also been received.
During testing I found we hit L49 and we decide without a full value.
The text was updated successfully, but these errors were encountered: