From 7c130b71c2892aba4f48de890a0bdbba779ef5aa Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Tue, 27 May 2025 13:57:36 +0200 Subject: [PATCH] node, core/rawdb: fix ancients, era resolve --- core/rawdb/chain_freezer.go | 11 ++++------- core/rawdb/database.go | 6 +----- node/node.go | 1 + 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/core/rawdb/chain_freezer.go b/core/rawdb/chain_freezer.go index 3a72bdb13b..e86de578da 100644 --- a/core/rawdb/chain_freezer.go +++ b/core/rawdb/chain_freezer.go @@ -60,7 +60,7 @@ type chainFreezer struct { // state freezer (e.g. dev mode). // - if non-empty directory is given, initializes the regular file-based // state freezer. -func newChainFreezer(datadir string, namespace string, readonly bool, eraDir string) (*chainFreezer, error) { +func newChainFreezer(datadir string, eraDir string, namespace string, readonly bool) (*chainFreezer, error) { if datadir == "" { return &chainFreezer{ ancients: NewMemoryFreezer(readonly, chainFreezerTableConfigs), @@ -72,12 +72,9 @@ func newChainFreezer(datadir string, namespace string, readonly bool, eraDir str if err != nil { return nil, err } - var edb *eradb.Store - if eraDir != "" { - edb, err = eradb.New(eraDir) - if err != nil { - return nil, err - } + edb, err := eradb.New(resolveChainEraDir(datadir, eraDir)) + if err != nil { + return nil, err } return &chainFreezer{ ancients: freezer, diff --git a/core/rawdb/database.go b/core/rawdb/database.go index d3440bce40..86f4ac19cb 100644 --- a/core/rawdb/database.go +++ b/core/rawdb/database.go @@ -223,11 +223,7 @@ func Open(db ethdb.KeyValueStore, opts OpenOptions) (ethdb.Database, error) { if chainFreezerDir != "" { chainFreezerDir = resolveChainFreezerDir(chainFreezerDir) } - var eraDir string - if chainFreezerDir != "" { - eraDir = resolveChainEraDir(chainFreezerDir, opts.Era) - } - frdb, err := newChainFreezer(chainFreezerDir, opts.MetricsNamespace, opts.ReadOnly, eraDir) + frdb, err := newChainFreezer(chainFreezerDir, opts.Era, opts.MetricsNamespace, opts.ReadOnly) if err != nil { printChainMetadata(db) return nil, err diff --git a/node/node.go b/node/node.go index b42f9ef6c1..62b5abc34b 100644 --- a/node/node.go +++ b/node/node.go @@ -713,6 +713,7 @@ func (n *Node) OpenDatabaseWithOptions(name string, opt DatabaseOptions) (ethdb. ReadOnly: opt.ReadOnly, }) } else { + opt.AncientsDirectory = n.ResolveAncient(name, opt.AncientsDirectory) db, err = openDatabase(internalOpenOptions{ directory: n.ResolvePath(name), dbEngine: n.config.DBEngine,