-
Notifications
You must be signed in to change notification settings - Fork 645
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
Continue updating the header head during state sync #1174
Comments
State sync was downloading the block at `sync_hash`, but actually needs to download the previous block. Generally nothing was breaking with downloading at `sync_hash` except that if the next block for some reason cannot be applied or is not known yet, for a while `body_head` was pointing at the non-existing block (specifically the prev of `sync_hash`). Also added logic to reset the state sync if the header head is two epochs ahead, but this logic doesn't trigger currently because we do not move the header head during state sync. Tracking in #1174
This issue has been automatically marked as stale because it has not had recent activity in the last 2 months. |
This issue has been automatically marked as stale because it has not had recent activity in the last 2 months. |
This issue has been automatically marked as stale because it has not had recent activity in the last 2 months. |
This issue has been automatically marked as stale because it has not had recent activity in the last 2 months. |
Currently during fast sync we do not move header head.
The reason for that appears to be due to implementation details, specifically
HeaderSync
andStateSync
are two mutually exclusive modes of operation. It seems like nothing would break if we sync headers while syncing state, just need to refactor code to support it.We need to continue updating the header head, because if the header head runs two epochs from the state sync head, we don't have a reliable way of determining peers that can serve state to do the state sync, and the state sync can stall.
Once implemented, test that the logic in the
client.rs
that restarts the state sync once the header head is two epochs ahead actually works.The text was updated successfully, but these errors were encountered: