Skip to content
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

[1.0-beta4 -> main] P2P: Fix sync stopping making progress #472

Merged
merged 17 commits into from
Aug 5, 2024

Conversation

heifner
Copy link
Member

@heifner heifner commented Aug 5, 2024

When all blocks of a requested range were received before any of them had been applied, the sync_next_expected_num would not make progress. This caused the node to not ever request the next range of blocks.

  • Sync timer was always being canceled in recv_block making it effectively useless if any block at all was received
  • Existing p2p_sync_throttle_test.py is a good test for the sync timer as it does not sync fast enough and the timer fires.
    • Increased timeout in test because sync timer now works correctly and causes the test to close connection and reconnect.
  • Fixes for reset on failure in request_next_chuck()
  • Fix for calling sync manager for block received before LIB
    • Allows sync manager to properly account for the received block
  • Includes removal of unused last_req and simplification of sync timer.

Merges release/1.0-beta4 into main including #469

Resolves #459
Resolves #462

Still investigating, but may also resolve #436

@heifner heifner added the OCI Work exclusive to OCI team label Aug 5, 2024
@ericpassmore
Copy link
Contributor

Note:start
group: STABILITY
category: INTERNALS
summary: Improve Syncing to handle condition where blocks were received before being applied. Previously this condition caused the node to not ever request the next range of blocks.
Note:end

@heifner heifner merged commit e0f2d5d into main Aug 5, 2024
36 checks passed
@heifner heifner deleted the GH-459-sync-main branch August 5, 2024 19:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCI Work exclusive to OCI team
Projects
None yet
4 participants