From 71247ffdee31404a3069c9d061a59f3a31f4dff2 Mon Sep 17 00:00:00 2001 From: Gary Rong Date: Wed, 25 Jun 2025 09:47:49 +0800 Subject: [PATCH] eth, triedb/pathdb: permit write buffer allowance in PBSS archive mode --- eth/backend.go | 2 +- triedb/pathdb/history_indexer.go | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/eth/backend.go b/eth/backend.go index 5561657ea8..4b08707d2f 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -140,7 +140,7 @@ func New(stack *node.Node, config *ethconfig.Config) (*Ethereum, error) { log.Warn("Sanitizing invalid miner gas price", "provided", config.Miner.GasPrice, "updated", ethconfig.Defaults.Miner.GasPrice) config.Miner.GasPrice = new(big.Int).Set(ethconfig.Defaults.Miner.GasPrice) } - if config.NoPruning && config.TrieDirtyCache > 0 { + if config.NoPruning && config.TrieDirtyCache > 0 && config.StateScheme == rawdb.HashScheme { if config.SnapshotCache > 0 { config.TrieCleanCache += config.TrieDirtyCache * 3 / 5 config.SnapshotCache += config.TrieDirtyCache * 2 / 5 diff --git a/triedb/pathdb/history_indexer.go b/triedb/pathdb/history_indexer.go index b09804ce9d..582eb6debb 100644 --- a/triedb/pathdb/history_indexer.go +++ b/triedb/pathdb/history_indexer.go @@ -224,9 +224,10 @@ func (b *batchIndexer) finish(force bool) error { // indexSingle processes the state history with the specified ID for indexing. func indexSingle(historyID uint64, db ethdb.KeyValueStore, freezer ethdb.AncientReader) error { - defer func(start time.Time) { + start := time.Now() + defer func() { indexHistoryTimer.UpdateSince(start) - }(time.Now()) + }() metadata := loadIndexMetadata(db) if metadata == nil || metadata.Last+1 != historyID { @@ -247,15 +248,16 @@ func indexSingle(historyID uint64, db ethdb.KeyValueStore, freezer ethdb.Ancient if err := b.finish(true); err != nil { return err } - log.Debug("Indexed state history", "id", historyID) + log.Info("Indexed state history", "id", historyID, "elapsed", common.PrettyDuration(time.Since(start))) return nil } // unindexSingle processes the state history with the specified ID for unindexing. func unindexSingle(historyID uint64, db ethdb.KeyValueStore, freezer ethdb.AncientReader) error { - defer func(start time.Time) { + start := time.Now() + defer func() { unindexHistoryTimer.UpdateSince(start) - }(time.Now()) + }() metadata := loadIndexMetadata(db) if metadata == nil || metadata.Last != historyID { @@ -276,7 +278,7 @@ func unindexSingle(historyID uint64, db ethdb.KeyValueStore, freezer ethdb.Ancie if err := b.finish(true); err != nil { return err } - log.Debug("Unindexed state history", "id", historyID) + log.Debug("Unindexed state history", "id", historyID, "elapsed", common.PrettyDuration(time.Since(start))) return nil }