From 8a229c8d482d4165975d94b811f12b92daad5ed2 Mon Sep 17 00:00:00 2001 From: Gary Rong Date: Fri, 15 Aug 2025 10:38:09 +0800 Subject: [PATCH] triedb/pathdb: fix index proress --- triedb/pathdb/database_test.go | 14 ++++++++++++++ triedb/pathdb/history_indexer.go | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/triedb/pathdb/database_test.go b/triedb/pathdb/database_test.go index 570306f7c8..b56a6182d9 100644 --- a/triedb/pathdb/database_test.go +++ b/triedb/pathdb/database_test.go @@ -974,6 +974,13 @@ func TestDatabaseIndexRecovery(t *testing.T) { t.Fatalf("Unexpected state history found, %d", i) } } + remain, err := env.db.IndexProgress() + if err != nil { + t.Fatalf("Failed to obtain the progress, %v", err) + } + if remain == 0 { + t.Fatalf("Unexpected progress remain, %d", remain) + } // Apply new states on top, ensuring state indexing can respond correctly for i := dIndex + 1; i < len(roots); i++ { @@ -981,6 +988,13 @@ func TestDatabaseIndexRecovery(t *testing.T) { panic(fmt.Errorf("failed to update state changes, err: %w", err)) } } + remain, err = env.db.IndexProgress() + if err != nil { + t.Fatalf("Failed to obtain the progress, %v", err) + } + if remain != 0 { + t.Fatalf("Unexpected progress remain, %d", remain) + } waitIndexing(env.db) // Ensure the truncated state histories become accessible diff --git a/triedb/pathdb/history_indexer.go b/triedb/pathdb/history_indexer.go index 8f7a0e8a61..c23c736cb5 100644 --- a/triedb/pathdb/history_indexer.go +++ b/triedb/pathdb/history_indexer.go @@ -372,7 +372,7 @@ func (i *indexIniter) remain() uint64 { last, indexed := i.last.Load(), i.indexed.Load() if last < indexed { log.Warn("State indexer is in recovery", "indexed", indexed, "last", last) - return 0 + return indexed - last } return last - indexed }