Skip to content

eth/downloader: fix ancient limit in snap sync#32188

Merged
rjl493456442 merged 1 commit intoethereum:masterfrom
rjl493456442:fix-sync-2
Jul 11, 2025
Merged

eth/downloader: fix ancient limit in snap sync#32188
rjl493456442 merged 1 commit intoethereum:masterfrom
rjl493456442:fix-sync-2

Conversation

@rjl493456442
Copy link
Copy Markdown
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
Copy Markdown
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.
maoueh pushed a commit to streamingfast/go-ethereum that referenced this pull request Sep 4, 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.
gballet pushed a commit to gballet/go-ethereum that referenced this pull request Sep 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.
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