You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since #2832 Lighthouse will clone a snapshot from the cache whenever there's a skipped slot. This is designed to help during live block processing, but also gets applied during sync where it isn't very useful.
Present Behaviour
The condition here trips regardless of whether or not Lighthouse is syncing:
## Issue Addressed
Closes#2944
## Proposed Changes
Remove snapshots from the cache during sync rather than cloning them. This reduces unnecessary cloning and memory fragmentation during sync.
## Additional Info
This PR relies on the fact that the `block_delay` cache is not populated for blocks from sync. Relying on block delay may have the side effect that a change in `block_delay` calculation could lead to: a) more clones, if block delays are added for syncing blocks or b) less clones, if blocks near the head are erroneously provided without a `block_delay`. Case (a) would be a regression to the current status quo, and (b) is low-risk given we know that the snapshot cache is current susceptible to misses (hence `tree-states`).
Description
Since #2832 Lighthouse will clone a snapshot from the cache whenever there's a skipped slot. This is designed to help during live block processing, but also gets applied during sync where it isn't very useful.
Present Behaviour
The condition here trips regardless of whether or not Lighthouse is syncing:
lighthouse/beacon_node/beacon_chain/src/snapshot_cache.rs
Lines 256 to 258 in 79db2d4
Expected Behaviour
Lighthouse should always move the snapshot from the cache during sync in order to prevent unnecessary cloning and extra memory usage.
The text was updated successfully, but these errors were encountered: