From 07076c519dfe3504928c4440e59744ac186e5dcc Mon Sep 17 00:00:00 2001 From: Vicky Date: Tue, 24 Feb 2026 02:05:48 +0800 Subject: [PATCH 1/2] cmd/utils: fix archive mode detection for TransactionHistory override --- cmd/utils/flags.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index eee75d886a..071300a5db 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -1822,7 +1822,7 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *ethconfig.Config) { log.Warn("The flag --txlookuplimit is deprecated and will be removed, please use --history.transactions") cfg.TransactionHistory = ctx.Uint64(TxLookupLimitFlag.Name) } - if ctx.String(GCModeFlag.Name) == "archive" { + if cfg.NoPruning { if cfg.TransactionHistory != 0 { cfg.TransactionHistory = 0 log.Warn("Disabled transaction unindexing for archive node") From 7e62dffd71b70ed3230f382fd61968518831a9f6 Mon Sep 17 00:00:00 2001 From: Vicky Date: Fri, 3 Apr 2026 03:16:19 +0800 Subject: [PATCH 2/2] fix ctx.String(GCModeFlag.Name) == "archive" --- cmd/utils/flags.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 071300a5db..68e9752cf3 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -2415,7 +2415,6 @@ func MakeChain(ctx *cli.Context, stack *node.Node, readonly bool) (*core.BlockCh TrieCleanLimit: ethconfig.Defaults.TrieCleanCache, NoPrefetch: ctx.Bool(CacheNoPrefetchFlag.Name), TrieDirtyLimit: ethconfig.Defaults.TrieDirtyCache, - ArchiveMode: ctx.String(GCModeFlag.Name) == "archive", TrieTimeLimit: ethconfig.Defaults.TrieTimeout, SnapshotLimit: ethconfig.Defaults.SnapshotCache, Preimages: ctx.Bool(CachePreimagesFlag.Name), @@ -2439,6 +2438,9 @@ func MakeChain(ctx *cli.Context, stack *node.Node, readonly bool) (*core.BlockCh // Configure the slow block statistic logger (disabled by default) SlowBlockThreshold: ethconfig.Defaults.SlowBlockThreshold, } + if ctx.IsSet(GCModeFlag.Name) { + options.ArchiveMode = ctx.String(GCModeFlag.Name) == "archive" + } // Only enable slow block logging if the flag was explicitly set if ctx.IsSet(LogSlowBlockFlag.Name) { options.SlowBlockThreshold = ctx.Duration(LogSlowBlockFlag.Name)