Skip to content

Conversation

rjl493456442
Copy link
Member

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.

Copy link
Member

@MariusVanDerWijden MariusVanDerWijden left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't meaningfully review this, just approving so you can merge it if you want @rjl493456442

@rjl493456442 rjl493456442 added this to the 1.16.2 milestone Jul 11, 2025
@rjl493456442 rjl493456442 merged commit 0713725 into ethereum:master Jul 11, 2025
7 of 14 checks passed
rjl493456442 added a commit that referenced this pull request Jul 11, 2025
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.
howjmay pushed a commit to iotaledger/go-ethereum that referenced this pull request Aug 27, 2025
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants