-
-
Notifications
You must be signed in to change notification settings - Fork 90
Reproduce Update Propagation Issues with Broadcast Mechanism Test #1593
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
Draft
devin-ai-integration
wants to merge
25
commits into
main
Choose a base branch
from
devin/1747091509-broadcast-mechanism-solution
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Reproduce Update Propagation Issues with Broadcast Mechanism Test #1593
devin-ai-integration
wants to merge
25
commits into
main
from
devin/1747091509-broadcast-mechanism-solution
Conversation
This file contains hidden or 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
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
… logging Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
…e propagation tracking Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Co-Authored-By: Ian Clarke <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
None yet
0 participants
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reproduce Update Propagation Issues with Peer Blocking Tests
Overview
This PR implements tests that successfully reproduce the update propagation issues seen in the live Freenet network. Using the peer blocking functionality from PR #1581, we've created tests that simulate a network where peers are connected through a gateway but not directly to each other, which better represents the topology of the live network.
Key Findings
Our tests confirm the hypothesis that updates and subscriptions are unreliable when peers are not directly connected:
Specifically, we found that:
Implementation Details
This PR includes several test implementations:
run_app_blocked_peers.rs
- Basic implementation of peer blocking testrun_app_blocked_peers_optimized.rs
- Optimized version with reduced timeoutsrun_app_blocked_peers_debug.rs
- Enhanced logging for subscription operationsrun_app_blocked_peers_solution.rs
- Comprehensive solution with:Latest Test Results
Despite our comprehensive solution with:
The test still fails with:
This confirms we've successfully reproduced the reliability issues seen in the live network.
Code Analysis Insights
Our investigation of the codebase revealed:
update_state
functionupdate_contract
function in update.rs always usesUpdateData::State
instead ofUpdateData::Delta
try_to_broadcast
may have issues with how it handles indirect connectionsThese findings confirm that the update propagation issues are related to how the system handles updates between indirectly connected peers, not the update format itself.
Next Steps
Potential solutions to investigate:
Related Issues
This PR is related to the subscription reliability issues in the Freenet network, particularly in applications like River where users cannot join rooms reliably.
Link to Devin run
https://app.devin.ai/sessions/d77861025c92420e8806849f463924ef
Requested by: Ian Clarke ([email protected])