-
Notifications
You must be signed in to change notification settings - Fork 726
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
Add freezer DB debugging tools #3511
Conversation
It would be great if people who've been playing around with state reconstruction and noticing corruption issues could try this out CC: @xrchz @JustinZal. I'd be very interested to see what the gap-checker thinks of your databases (you need to stop Lighthouse while running these checks). If you do find irregular gaps, and I suspect you will, you can try looking at them with the E.g. on my partly synced node I can do:
and then see the partly filled in chunk with:
|
Rolling this into |
Issue Addressed
Related to:
randao_mixes
#3011Proposed Changes
This PR adds some extra capabilities to
lighthouse db inspect
for examining freezer databases.The main one that's useful for detecting corruption is the
--output gaps
option which can be used to search for gaps in the linear arrays of block roots, state roots, etc:The 4 columns of interest are:
bbr
: block roots. Should be gap-free whenever historic block sync has completed. Should contain 1 gap otherwise.bsr
: state roots. Should be gap-free whenever state reconstruction has completed. Should contain 1 gap otherwise.bhr
: historic roots. Same gap-status as state roots.brm
: randao mixes. Same gap-status as state roots.On my node with historic states all of these 4 columns are gap-free as they should be, indicating that my database (probably) isn't corrupt. Next week or in a follow-up PR I'll add some tools for verifying the actual data stored.