Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Node not switching to block processing in linea chain #7860

Open
damian-orzechowski opened this issue Dec 4, 2024 · 1 comment
Open

Node not switching to block processing in linea chain #7860

damian-orzechowski opened this issue Dec 4, 2024 · 1 comment

Comments

@damian-orzechowski
Copy link
Contributor

damian-orzechowski commented Dec 4, 2024

Using linea chain, node falls into an infinite loop and fails to switch to block processing after finishing state sync.
The problem seems to be caused by the conditions needed to assume state is available and switch away from state sync in MultiSyncModeSelector. Block headers are downloaded up to head - 32 blocks (FastSyncLag), where head is the block number of our best peer. This sets the best suggested header, which is used as a pivot when setting target block for sync (state ranges and healing TreeSync). That means that at best, the synced state can be head - 32 blocks, but as the head and therefore best header move with the chain, it is almost impossible to have state == head - 32, which is one of the conditions needed to assume state is downloaded and finish StateSync phase.

Screenshots
image

2024-12-04 09:22:00.2179|TRACE|Synchronization.ParallelSync.MultiSyncModeSelector|76|Snapshot H:12883238 | T:12883271 | B:12874638 | S:12883211 | PV: 12440000 | BP: 12874638 
2024-12-04 09:22:00.2179|TRACE|Synchronization.ParallelSync.MultiSyncModeSelector|76|   BEACON HEADERS      : yes(shouldBeNotInUpdatingPivot), no(shouldBeInBeaconHeaders) 
2024-12-04 09:22:00.2179|TRACE|Synchronization.ParallelSync.MultiSyncModeSelector|76| * FAST                : yes(notInUpdatingPivot, notInBeaconModes, postPivotPeerAvailable, notReachedFullSyncTransition, notInAStickyFullSync, notHasJustStartedFullSync, notNeedToWaitForHeaders), no() 
2024-12-04 09:22:00.2179|TRACE|Synchronization.ParallelSync.MultiSyncModeSelector|76| * STATE               : yes(fastSyncEnabled, notInUpdatingPivot, hasFastSyncBeenActive, hasAnyPostPivotPeer, notInFastSync||stickyStateNodes, stateNotDownloadedYet, notInAStickyFullSync, notHasJustStartedFullSync, notNeedToWaitForHeaders), no() 
2024-12-04 09:22:00.2179|TRACE|Synchronization.ParallelSync.MultiSyncModeSelector|76|   STATE_NODES         : yes(isInStateSync, snapRangesFinished), no(snapSyncDisabled) 
2024-12-04 09:22:00.2179|TRACE|Synchronization.ParallelSync.MultiSyncModeSelector|76|   SNAP_RANGES         : yes(SnapSyncEnabled, isInStateSync, isCloseToHead), no(snapNotFinished) 
2024-12-04 09:22:00.2179|TRACE|Synchronization.ParallelSync.MultiSyncModeSelector|76|   HEADERS             : yes(notInUpdatingPivot), no(fastBlocksHeadersNotFinished) 
2024-12-04 09:22:00.2179|TRACE|Synchronization.ParallelSync.MultiSyncModeSelector|76|   BODIES              : yes(fastHeadersFinished, stateSyncFinished), no(fastBodiesNotFinished, notInStateSync) 
2024-12-04 09:22:00.2179|TRACE|Synchronization.ParallelSync.MultiSyncModeSelector|76|   RECEIPTS            : yes(fastBodiesFinished, stateSyncFinished), no(fastReceiptsNotFinished, notInStateSync) 
2024-12-04 09:22:00.2179|TRACE|Synchronization.ParallelSync.MultiSyncModeSelector|76|   FULL                : yes(notInUpdatingPivot, notInBeaconModes, desiredPeerKnown, postPivotPeerAvailable, hasFastSyncBeenActive, stateSyncFinished, notNeedToWaitForHeaders), no(notInFastSync, notInStateSync) 
2024-12-04 09:22:00.2179|TRACE|Synchronization.ParallelSync.MultiSyncModeSelector|76|   WAITING FOR BLOCK   : yes(notInBeaconHeaders, postPivotPeerAvailable, hasFastSyncBeenActive), no(inBeaconControl, noDesiredPeerKnown, notInFastSync, notInStateSync) 
2024-12-04 09:22:00.2179|INFO|Synchronization.ParallelSync.MultiSyncModeSelector|76|Changing sync StateNodes to FastSync, StateNodes at block: 12874638 | header: 12883238 | target: 12883271 | peer: 12883271 

@LukaszRozmej
Copy link
Member

Not sure if I follow, but can that be solved by making FastSyncLag parametrized in config and decreasing that for Linea?

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

No branches or pull requests

2 participants