From 15c77d3c74cd563ff0c8efcc41ee69fb2a281620 Mon Sep 17 00:00:00 2001 From: Gary Rong Date: Mon, 8 Sep 2025 15:21:24 +0800 Subject: [PATCH] triedb/pathdb: fix flaky test --- triedb/pathdb/database_test.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/triedb/pathdb/database_test.go b/triedb/pathdb/database_test.go index b56a6182d9..8cca7b1b3c 100644 --- a/triedb/pathdb/database_test.go +++ b/triedb/pathdb/database_test.go @@ -230,6 +230,8 @@ func (t *tester) extend(layers int) { panic(fmt.Errorf("failed to update state changes, err: %w", err)) } t.roots = append(t.roots, root) + t.nodes = append(t.nodes, nodes) + t.states = append(t.states, states) } } @@ -931,13 +933,23 @@ func TestDatabaseIndexRecovery(t *testing.T) { } env := newTester(t, config) defer env.release() + + // Ensure the buffer in disk layer is not empty + var ( + bRoot = env.db.tree.bottom().rootHash() + dRoot = crypto.Keccak256Hash(rawdb.ReadAccountTrieNode(env.db.diskdb, nil)) + ) + for dRoot == bRoot { + env.extend(1) + + bRoot = env.db.tree.bottom().rootHash() + dRoot = crypto.Keccak256Hash(rawdb.ReadAccountTrieNode(env.db.diskdb, nil)) + } waitIndexing(env.db) var ( dIndex int roots = env.roots - bRoot = env.db.tree.bottom().rootHash() - dRoot = crypto.Keccak256Hash(rawdb.ReadAccountTrieNode(env.db.diskdb, nil)) hr = newHistoryReader(env.db.diskdb, env.db.stateFreezer) ) for i, root := range roots {