go-ethereum/trie
rjl493456442 cca94792a4
core, cmd, trie: fix the condition of pathdb initialization (#28718)
Original problem was caused by #28595, where we made it so that as soon as we start to sync, the root of the disk layer is deleted. That is not wrong per se, but another part of the code uses the "presence of the root" as an init-check for the pathdb. And, since the init-check now failed, the code tried to re-initialize it which failed since a sync was already ongoing.

The total impact being: after a state-sync has begun, if the node for some reason is is shut down, it will refuse to start up again, with the error message: `Fatal: Failed to register the Ethereum service: waiting for sync.`. 

This change also modifies how `geth removedb` works, so that the user is prompted for two things: `state data` and `ancient chain`. The former includes both the chaindb aswell as any state history stored in ancients. 

---------

Co-authored-by: Martin HS <martin@swende.se>
2023-12-21 20:28:32 +01:00
..
testutil all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
triedb core, cmd, trie: fix the condition of pathdb initialization (#28718) 2023-12-21 20:28:32 +01:00
trienode cmd, core, trie: verkle-capable `geth init` (#28270) 2023-11-14 13:09:40 +01:00
triestate all: activate pbss as experimental feature (#26274) 2023-08-10 22:21:36 +03:00
utils cmd, core, trie: verkle-capable `geth init` (#28270) 2023-11-14 13:09:40 +01:00
committer.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
database.go trie/triedb/hashdb: take lock around access to dirties cache (#28542) 2023-11-30 10:50:48 +01:00
database_test.go core, trie: cleanup trie database (#28062) 2023-09-07 21:17:14 +08:00
encoding.go trie: reduce allocs in recHash (#27770) 2023-08-18 22:41:19 +02:00
encoding_test.go trie: reduce allocs in recHash (#27770) 2023-08-18 22:41:19 +02:00
errors.go cmd, core/state, eth, tests, trie: improve state reader (#27428) 2023-06-20 15:31:45 -04:00
hasher.go trie: spelling - fix comments in hasher (#28507) 2023-11-14 14:27:07 +01:00
iterator.go ethdb/memorydb, trie: reduced allocations (#28473) 2023-11-15 16:20:34 +01:00
iterator_test.go ethdb/memorydb, trie: reduced allocations (#28473) 2023-11-15 16:20:34 +01:00
node.go core, trie: rework trie database (#26813) 2023-04-24 10:38:52 +03:00
node_enc.go core, trie: rework trie database (#26813) 2023-04-24 10:38:52 +03:00
node_test.go trie: improve node rlp decoding performance (#25357) 2022-08-19 00:39:47 +02:00
preimages.go core, trie, eth, cmd: rework preimage store (#25287) 2022-07-27 20:37:04 +02:00
proof.go trie: make rhs-proof align with last key in range proofs (#28311) 2023-10-13 16:05:29 +02:00
proof_test.go trie: make rhs-proof align with last key in range proofs (#28311) 2023-10-13 16:05:29 +02:00
secure_trie.go trie, core/state: revert error removal in (*state.Trie).Commit (#27544) 2023-06-27 15:36:38 +03:00
secure_trie_test.go all: activate pbss as experimental feature (#26274) 2023-08-10 22:21:36 +03:00
stacktrie.go trie: use explicit errors in stacktrie (instead of panic) (#28361) 2023-10-25 14:53:50 +02:00
stacktrie_fuzzer_test.go tests/fuzzers: move fuzzers into native packages (#28467) 2023-11-14 14:34:29 +01:00
stacktrie_test.go trie: use explicit errors in stacktrie (instead of panic) (#28361) 2023-10-25 14:53:50 +02:00
sync.go trie: remove inconsistent trie nodes during sync in path mode (#28595) 2023-12-08 14:28:23 +01:00
sync_test.go trie: remove inconsistent trie nodes during sync in path mode (#28595) 2023-12-08 14:28:23 +01:00
tracer.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
tracer_test.go all: activate pbss as experimental feature (#26274) 2023-08-10 22:21:36 +03:00
trie.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
trie_id.go cmd, core, eth, les, light: track deleted nodes (#25757) 2022-09-27 10:01:02 +02:00
trie_reader.go all: activate pbss as experimental feature (#26274) 2023-08-10 22:21:36 +03:00
trie_test.go trie: fix random test generator early terminate (#28590) 2023-11-25 14:56:22 +01:00
verkle.go cmd, core, trie: verkle-capable `geth init` (#28270) 2023-11-14 13:09:40 +01:00
verkle_test.go eth/catalyst, eth/downloader: expose more sync information (#28584) 2023-11-28 08:38:30 +01:00