go-ethereum/eth/downloader
rjl493456442 c3168b3e56 eth/downloader: fix ancient limit in snap sync (#32188)
This pull request fixes an issue in disabling direct-ancient mode in
snap sync.

Specifically, if `origin >= frozen && origin != 0`, it implies a part of
chain data has been written into the key-value store, all the following 
writes into ancient store scheduled by downloader will be rejected 
with error 

`ERROR[07-10|03:46:57.924] Error importing chain data to ancients
err="can't add block 1166 hash: the append operation is out-order: have
1166 want 0"`.

This issue is detected by the https://github.com/ethpandaops/kurtosis-sync-test, 
which initiates the first snap sync cycle without the finalized header and
implicitly disables the direct-ancient mode. A few seconds later the second 
snap sync cycle is initiated with the finalized information and direct-ancient mode
is enabled incorrectly.
2025-07-11 20:41:09 +08:00
..
api.go all: incorporate state history indexing status into eth_syncing response (#32099) 2025-06-26 17:20:20 +02:00
beacondevsync.go eth/catalyst: fetch header on forkchoiceUpdated (#31928) 2025-06-18 15:06:49 +08:00
beaconsync.go core, eth/downloader: implement pruning mode sync (#31414) 2025-04-03 15:16:35 +02:00
downloader.go eth/downloader: fix ancient limit in snap sync (#32188) 2025-07-11 20:41:09 +08:00
downloader_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
events.go cmd,eth: 16400 Add an option to stop geth once in sync. WIP for light mode (#17321) 2019-01-30 08:40:36 +01:00
fetchers.go eth/downloader: purge pre-merge sync code (#29281) 2024-04-30 15:46:53 +02:00
fetchers_concurrent.go eth/downloader: purge pre-merge sync code (#29281) 2024-04-30 15:46:53 +02:00
fetchers_concurrent_bodies.go all: implement flat deposit requests encoding (#30425) 2024-10-09 12:24:58 +02:00
fetchers_concurrent_receipts.go eth/protocols/eth: implement eth/69 (#29158) 2025-05-16 17:10:47 +02:00
metrics.go core, eth/downloader: implement pruning mode sync (#31414) 2025-04-03 15:16:35 +02:00
peer.go all: nuke total difficulty (#30744) 2025-01-28 18:55:41 +01:00
queue.go eth/downloader: fix missing receipt (#31952) 2025-06-04 16:07:16 +02:00
queue_test.go eth/protocols/eth: implement eth/69 (#29158) 2025-05-16 17:10:47 +02:00
resultstore.go core, eth/downloader: implement pruning mode sync (#31414) 2025-04-03 15:16:35 +02:00
skeleton.go beacon/blsync: update logs for blsync (Fixes #31968 ) (#32046) 2025-07-02 12:39:21 +02:00
skeleton_test.go eth/downloader: fix flaky test (#29852) 2024-05-27 16:26:55 +02:00
statesync.go eth: request id dispatcher and direct req/reply APIs (#23576) 2021-11-26 13:26:03 +02:00
testchain_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00