Skip to content

Commit

Permalink
trie/triedb/pathdb: make shutdown journal log friendlier (#27905)
Browse files Browse the repository at this point in the history
  • Loading branch information
karalabe authored Aug 11, 2023
1 parent 80b76a9 commit 0ce331f
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion trie/triedb/pathdb/journal.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import (
"errors"
"fmt"
"io"
"time"

"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/rawdb"
Expand Down Expand Up @@ -341,6 +342,14 @@ func (db *Database) Journal(root common.Hash) error {
if l == nil {
return fmt.Errorf("triedb layer [%#x] missing", root)
}
disk := db.tree.bottom()
if l, ok := l.(*diffLayer); ok {
log.Info("Persisting dirty state to disk", "head", l.block, "root", root, "layers", l.id-disk.id+disk.buffer.layers)
} else { // disk layer only on noop runs (likely) or deep reorgs (unlikely)
log.Info("Persisting dirty state to disk", "root", root, "layers", disk.buffer.layers)
}
start := time.Now()

// Run the journaling
db.lock.Lock()
defer db.lock.Unlock()
Expand Down Expand Up @@ -373,6 +382,6 @@ func (db *Database) Journal(root common.Hash) error {

// Set the db in read only mode to reject all following mutations
db.readOnly = true
log.Info("Stored journal in triedb", "disk", diskroot, "size", common.StorageSize(journal.Len()))
log.Info("Persisted dirty state to disk", "size", common.StorageSize(journal.Len()), "elapsed", common.PrettyDuration(time.Since(start)))
return nil
}

0 comments on commit 0ce331f

Please sign in to comment.