go-ethereum/eth
rjl493456442 81ab8b594e
eth/downloader: disable snap mode after committing pivot block (#35402)
This PR improves the sync mode management, disabling the snap mode once 
the pivot block is committed. 

Originally the mode will only be flipped from snap to full once the entire sync 
cycle is completed. However, it's theoretically possible to cancel the sync cycle
after committing the pivot but before inserting the remaining blocks. It drags
the following sync cycle back to the snap mode.

The snap mode should only be used if the head state is missing and unrecoverable. 
Enabling the snap mode for multiple times should be strictly prevented.

What's more, it brings a fix to pivot block management, that once the
pivot block is committed, the pivot block marker should be no longer advanced,
preventing the situation that the real pivot state is below the pivot marker.
2026-07-23 14:30:20 +08:00
..
catalyst eth/catalyst: pass TargetGasLimit via engine api (#35372) 2026-07-20 15:08:23 +08:00
downloader eth/downloader: disable snap mode after committing pivot block (#35402) 2026-07-23 14:30:20 +08:00
ethconfig cmd/geth, eth/ethconfig: preserve zero engine reorg depth (#35373) 2026-07-20 10:53:19 +08:00
fetcher eth/fetcher: count unique hashes in blob queueing metric (#35393) 2026-07-22 13:20:43 +02:00
filters eth/filters: return -32602 when exceeding the block range limit (#34647) 2026-04-08 12:57:29 +02:00
gasestimator core: use uint256 in core.Message (#34934) 2026-05-11 22:25:57 +08:00
gasprice cmd, core, trie, triedb: split CachingDB into merkle + binary dbs. (#34700) 2026-04-17 08:55:54 +08:00
protocols eth/protocols/eth: track announced tx hashes only after send (#35384) 2026-07-20 15:40:04 +02:00
syncer eth,node: replace the deprecated TypeMux with Feed (#32585) 2026-05-08 10:12:46 +08:00
tracers eth/tracers/logger: respect logging limit (#35349) 2026-07-13 19:51:38 +08:00
txtracker eth: protect high-value peers from random dropping based on tx inclusion stats (#34702) 2026-07-09 18:54:27 +02:00
api_admin.go eth: ignore genesis block on importChain (#27956) 2023-08-21 13:32:34 -04:00
api_backend.go core: improve chain reset head (#35252) 2026-07-08 16:44:34 -05:00
api_backend_test.go core/txpool: add eip2681 check for incoming transactions (#32726) 2025-09-25 13:15:12 +02:00
api_debug.go eth: add debug_clearTxpool api (#33347) 2026-06-09 14:39:46 +02:00
api_debug_test.go eth: fix borked test introduced in merging #33347 (#35130) 2026-06-09 18:13:24 +02:00
api_miner.go miner: refactor the miner, make the pending block on demand (#28623) 2024-03-06 14:45:03 +02:00
backend.go core/txpool/blobpool, eth: implement sparse blobpool (#34047) 2026-07-15 14:41:04 +02:00
dropper.go eth: protect high-value peers from random dropping based on tx inclusion stats (#34702) 2026-07-09 18:54:27 +02:00
dropper_test.go eth: protect high-value peers from random dropping based on tx inclusion stats (#34702) 2026-07-09 18:54:27 +02:00
handler.go core/txpool/blobpool, eth: implement sparse blobpool (#34047) 2026-07-15 14:41:04 +02:00
handler_eth.go core/txpool/blobpool, eth: implement sparse blobpool (#34047) 2026-07-15 14:41:04 +02:00
handler_eth_test.go core/txpool/blobpool, eth: implement sparse blobpool (#34047) 2026-07-15 14:41:04 +02:00
handler_snap.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00
handler_test.go core/txpool/blobpool, eth: implement sparse blobpool (#34047) 2026-07-15 14:41:04 +02:00
peer.go eth/protocols/eth: implement eth/69 (#29158) 2025-05-16 17:10:47 +02:00
peerset.go eth: reserve peer slot for usable snap peer (#35180) 2026-06-17 09:55:36 +08:00
state_accessor.go cmd, core, eth, miner: apply 7997 in block building (#35285) 2026-07-07 14:40:25 +02:00
sync.go miner: add OpenTelemetry spans for block building path (#33773) 2026-03-16 19:24:41 +01:00
sync_test.go core/txpool/blobpool, eth: implement sparse blobpool (#34047) 2026-07-15 14:41:04 +02:00