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

Revisit the usability of DB validation #495

Closed
ArturWieczorek opened this issue Jan 23, 2020 · 2 comments
Closed

Revisit the usability of DB validation #495

ArturWieczorek opened this issue Jan 23, 2020 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@ArturWieczorek
Copy link
Contributor

This is an enhancement ticket.

Description:

I had a node (setup: just a local node running without using local byron proxy) with more than 100 epochs. It was stopped and started on the very next day.
After starting node again I received message about my database being corrupted:

[artur-Vi:cardano.node.ChainDB:Info:4] [2020-01-21 09:30:08.43 UTC] messages elided so far = 14300
ImmDbFailure (ChecksumMismatchError (Block (SlotNo {unSlotNo = 1288739})) (CRC 4256058340) (CRC 3358730171) 00059.epoch [("checkChecksum",SrcLoc {srcLocPackage = "ouroboros-consensus-0.1.0.0-Fa0PB1fvSg5HzftQ7nVswy", srcLocModule = "Ouroboros.Storage.ImmutableDB.Impl.Iterator", srcLocFile = "src/Ouroboros/Storage/ImmutableDB/Impl/Iterator.hs", srcLocStartLine = 400, srcLocStartCol = 9, srcLocEndLine = 400, srcLocEndCol = 69})])
cardano-node: The database got corrupted, please restart with validation mode enabled

As it was explained, the validation process for all epochs needs to be initiated manually by end user:

By default, the ChainDB will only check the last epoch for corruption. If you pass the --validate-db flag, then it will check all epoch files.

from end user perspective this behaviour could be improved in the future:

Duncan Coutts
If this happens on an end user machine, we cannot rely on user intervention, reading the log files and running a command. We'll have to figure out a way to do this automatically.

@mrBliss
Copy link
Contributor

mrBliss commented Feb 11, 2020

IntersectMBO/ouroboros-network#1551 is about this.

@mrBliss
Copy link
Contributor

mrBliss commented Feb 13, 2020

Now IntersectMBO/ouroboros-network#1623 is merged, the DB will automatically validate if necessary when it restarts. No user interaction is required.

@mrBliss mrBliss closed this as completed Feb 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants