-
Notifications
You must be signed in to change notification settings - Fork 113
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
[vm] Block Pruning (Default to Only Keeping Last 768 Blocks) #436
Conversation
stalled with no acceptable summaries (when network wasn't producing blocks):
|
|
Error on E2E:
Not setting accepted status following state sync 🤦 |
return err | ||
} | ||
vm.preferred, vm.lastAccepted = blk.ID(), blk | ||
if err := vm.loadAcceptedBlocks(ctx); err != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because we store the AcceptedBlockWindow
in memory, we don't need an index of BlockID -> Height/Block.
return | ||
} | ||
|
||
// Exit early if we don't have any blocks other than genesis (which |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Turns out this backfill was not being triggered in a number of cases where it should have. I moved to vm
to trigger during ANY bootstrap.
Odd that pebble size continues to increase (should be much smaller than this):
... doesn't seem like deletion is actually occurring |
Resolves: #130
Resolves: #302
Resolves: #448
ava-labs/avalanchego#1929
TODO
state sync not workingGetStateSummary
ValidityWindow
alternatively, could allow block building past the validity window timestamp from last accepted (would not solve problem of transitioning out of dynamic mode, which is only safe to do after accept)Set"bootstrap-retry-enabled"
to false (does this prevent node from cycling when can't fetch old blocks during normal bootstrapping?)does not prevent this from happening, can do from thesyncervm
clientwhat if network is in recovery and we can't get the frontier, we don't want to exit on bootstrap?-> [vm] Prevent node from entering full bootstrap via config #438We can process sustained 7.5k TPS (500 accts) without surpassing 2.8 GB of disk storage (all in).