diff --git a/triedb/pathdb/disklayer.go b/triedb/pathdb/disklayer.go index ca368ca048..6d174c4417 100644 --- a/triedb/pathdb/disklayer.go +++ b/triedb/pathdb/disklayer.go @@ -20,6 +20,7 @@ import ( "bytes" "fmt" "sync" + "time" "github.com/VictoriaMetrics/fastcache" "github.com/ethereum/go-ethereum/common" @@ -365,7 +366,7 @@ func (dl *diskLayer) commit(bottom *diffLayer, force bool) (*diskLayer, error) { if dl.generator != nil { dl.generator.stop() progress = dl.generator.progressMarker() - log.Info("Terminated state snapshot generation") + log.Info("Terminated snapshot generation") // If the snapshot has been fully generated, unset the generator if progress == nil { @@ -380,7 +381,6 @@ func (dl *diskLayer) commit(bottom *diffLayer, force bool) (*diskLayer, error) { // Resume the background generation if it's not completed yet if progress != nil { dl.generator.run(bottom.root) - log.Info("Resumed state snapshot generation", "root", bottom.root) } } // Link the generator if snapshot is not yet completed @@ -402,6 +402,7 @@ func (dl *diskLayer) commit(bottom *diffLayer, force bool) (*diskLayer, error) { // revert applies the given state history and return a reverted disk layer. func (dl *diskLayer) revert(h *history) (*diskLayer, error) { + start := time.Now() if h.meta.root != dl.rootHash() { return nil, errUnexpectedHistory } @@ -441,6 +442,7 @@ func (dl *diskLayer) revert(h *history) (*diskLayer, error) { if dl.generator != nil { ndl.setGenerator(dl.generator) } + log.Debug("Reverted data in write buffer", "oldroot", h.meta.root, "newroot", h.meta.parent, "elapsed", common.PrettyDuration(time.Since(start))) return ndl, nil } // Terminate the generation before writing any data into database @@ -465,8 +467,8 @@ func (dl *diskLayer) revert(h *history) (*diskLayer, error) { if dl.generator != nil && !dl.generator.completed() { ndl.generator = dl.generator ndl.generator.run(h.meta.parent) - log.Info("Resumed state snapshot generation", "root", h.meta.parent) } + log.Debug("Reverted data in persistent state", "oldroot", h.meta.root, "newroot", h.meta.parent, "elapsed", common.PrettyDuration(time.Since(start))) return ndl, nil } diff --git a/triedb/pathdb/errors.go b/triedb/pathdb/errors.go index 42330aa328..5d953b2183 100644 --- a/triedb/pathdb/errors.go +++ b/triedb/pathdb/errors.go @@ -47,5 +47,5 @@ var ( // errNotConstructed is returned if the callers want to iterate the snapshot // while the generation is not finished yet. - errNotConstructed = errors.New("state snapshot is not constructed") + errNotConstructed = errors.New("snapshot is not constructed") ) diff --git a/triedb/pathdb/generate.go b/triedb/pathdb/generate.go index fc5bc912e9..7368cad437 100644 --- a/triedb/pathdb/generate.go +++ b/triedb/pathdb/generate.go @@ -361,7 +361,7 @@ func (g *generator) proveRange(ctx *generatorContext, trieId *trie.ID, prefix [] // Snap state is chunked, generate edge proofs for verification. tr, err := trie.New(trieId, &diskStore{db: g.db}) if err != nil { - log.Info("Trie missing, state snapshotting paused", "state", ctx.root, "kind", kind, "root", trieId.Root) + log.Info("Trie missing, snapshotting paused", "state", ctx.root, "kind", kind, "root", trieId.Root) return nil, errMissingTrie } // Generate the Merkle proofs for the first and last element @@ -483,7 +483,7 @@ func (g *generator) generateRange(ctx *generatorContext, trieId *trie.ID, prefix if tr == nil { tr, err = trie.New(trieId, &diskStore{db: g.db}) if err != nil { - log.Info("Trie missing, state snapshotting paused", "state", ctx.root, "kind", kind, "root", trieId.Root) + log.Info("Trie missing, snapshotting paused", "state", ctx.root, "kind", kind, "root", trieId.Root) return false, nil, errMissingTrie } } @@ -609,7 +609,7 @@ func (g *generator) checkAndFlush(ctx *generatorContext, current []byte) error { // Abort the generation if it's required if abort != nil { - g.stats.log("Aborting state snapshot generation", ctx.root, g.progress) + g.stats.log("Aborting snapshot generation", ctx.root, g.progress) return newAbortErr(abort) // bubble up an error for interruption } // Don't hold the iterators too long, release them to let compactor works @@ -617,7 +617,7 @@ func (g *generator) checkAndFlush(ctx *generatorContext, current []byte) error { ctx.reopenIterator(snapStorage) } if time.Since(ctx.logged) > 8*time.Second { - g.stats.log("Generating state snapshot", ctx.root, g.progress) + g.stats.log("Generating snapshot", ctx.root, g.progress) ctx.logged = time.Now() } return nil @@ -766,7 +766,7 @@ func (g *generator) generateAccounts(ctx *generatorContext, accMarker []byte) er // gathering and logging, since the method surfs the blocks as they arrive, often // being restarted. func (g *generator) generate(ctx *generatorContext) { - g.stats.log("Resuming state snapshot generation", ctx.root, g.progress) + g.stats.log("Resuming snapshot generation", ctx.root, g.progress) defer ctx.close() // Persist the initial marker and state snapshot root if progress is none @@ -815,7 +815,7 @@ func (g *generator) generate(ctx *generatorContext) { } ctx.batch.Reset() - log.Info("Generated state snapshot", "accounts", g.stats.accounts, "slots", g.stats.slots, + log.Info("Generated snapshot", "accounts", g.stats.accounts, "slots", g.stats.slots, "storage", g.stats.storage, "dangling", g.stats.dangling, "elapsed", common.PrettyDuration(time.Since(g.stats.start))) // Update the generation progress marker