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
DEMO only: reproduce node many to many msg fail #206
Conversation
|
AI-Generated Summary: This pull request introduces a new feature for handling ping-pong messages between nodes and clients. It adds two new variants to the |
|
Reviewpad Report
|
|
AI-Generated Summary: This pull request includes two patches:
|
|
AI-Generated Summary: This pull request consists of 3 patches:
|
1df5398
to
f5fca09
Compare
|
AI-Generated Summary: This pull request contains changes related to improving node communication with the introduction of many-to-many ping pong messages. The changes span across 5 different files, with a total of 111 insertions. The primary changes include adding PingPong enum variant to DataAddress, handling new Cmd variants (NodePing and ClientPing) in the node api, and updating the Cmd enum with those new variants. Additionally, an end-to-end test named 'node_many_to_many_ping_pong_succeeds' has been added to verify the functionality. The test is also included in the CI configuration for running on pull requests with Ubuntu. Finally, a small delay has been inserted to allow the client to find enough nodes during testing. |
|
AI-Generated Summary: This pull request consists of 4 patches that aim to reproduce and fix a node many-to-many message failure by introducing new ping-pong messages, as well as updating the CI and adjusting the test process.
|
- This should decrease the cases of sequential access or deadlocks.
- This should decrease the cases of sequential access or deadlocks.
- We should not be required to query our peers every single time we want the closest peers.
|
AI-Generated Summary: This pull request contains a variety of updates related to handling ping-pong messages, improving the efficiency of communication with local and queried closest nodes, and enhancing concurrent access safety using async/await, Arc and RwLock. Major changes include adding new variants to the |
ebb668b
to
d435275
Compare
|
AI-Generated Summary: This pull request includes changes across several files related to network structure, node and client connectivity, asynchronous functions, and testing. Key modifications involve updates to the |
For demonstrating this issue. Not for merge (at least not now).
A client sends a
ClientPingto close group nodes of a given name.Those nodes send a
NodePingto close group nodes of the hash of the original name.A node that receives a
NodePing, will returnNodePong(Ok(()))if it considers itself to be among the close group nodes of the given name.The nodes receiving a
ClientPing, will return aNodePong(Ok(()))if a majority of the nodes they queried, returned aNodePong(Ok(())).The test will succeed if the client receives a majority of
NodePong(Ok(())).