HomePhabricator

New database check routine
1f355b66cd90Unpublished

Unpublished Commit ยท Learn More

Repository Importing: This repository is still importing.

Description

New database check routine

-checklevel gets a new meaning:
0: verify blocks can be read from disk (like before)
1: verify (contextless) block validity (like before)
2: verify undo files can be read and have good checksums
3: verify coin database is consistent with the last few blocks

(close to level 6 before)

4: verify all validity rules of the last few blocks

Level 3 is the new default, as it's reasonably fast. As level 3 and
4 are implemented using an in-memory rollback of the database, they
are limited to as many blocks as possible without exceeding the
limits set by -dbcache. The default of -dbcache=25 allows for some
150-200 blocks to be rolled back.

In case an error is found, the application quits with a message
instructing the user to restart with -reindex. Better instructions,
and automatic recovery (when possible) or automatic reindexing are
left as future work.

Details

Provenance
Pieter Wuille <pieter.wuille@gmail.com>Authored on Jan 3 2013, 14:29
deadalnixPushed on May 14 2017, 22:04
Parents
rABC8539361e66ea: Add checksums to undo data
Branches
Unknown
Tags
Unknown

Event Timeline

Pieter Wuille <pieter.wuille@gmail.com> committed rABC1f355b66cd90: New database check routine (authored by Pieter Wuille <pieter.wuille@gmail.com>).Jan 4 2013, 13:58