core/rawdb: provide more info on 'gap in the chain' error (#25938)

This commit is contained in:
Martin Holst Swende 2022-10-12 09:35:09 +02:00 committed by GitHub
parent 1c737e8b6d
commit 28d076d37e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -240,8 +240,8 @@ func NewDatabaseWithFreezer(db ethdb.KeyValueStore, ancient string, namespace st
if kvhash, _ := db.Get(headerHashKey(frozen)); len(kvhash) == 0 {
// Subsequent header after the freezer limit is missing from the database.
// Reject startup if the database has a more recent head.
if *ReadHeaderNumber(db, ReadHeadHeaderHash(db)) > frozen-1 {
return nil, fmt.Errorf("gap (#%d) in the chain between ancients and leveldb", frozen)
if ldbNum := *ReadHeaderNumber(db, ReadHeadHeaderHash(db)); ldbNum > frozen-1 {
return nil, fmt.Errorf("gap in the chain between ancients (#%d) and leveldb (#%d) ", frozen, ldbNum)
}
// Database contains only older data than the freezer, this happens if the
// state was wiped and reinited from an existing freezer.