Skip to content

Other sync improvements - #11162

Merged
zilm13 merged 9 commits into
Consensys:masterfrom
zilm13:minor-sync-improvements
Aug 27, 2026
Merged

Other sync improvements#11162
zilm13 merged 9 commits into
Consensys:masterfrom
zilm13:minor-sync-improvements

Conversation

@zilm13

@zilm13 zilm13 commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

PR Description

It's made over #11158, so it should be merged first
includes:

  • increased DA timeout for older slots. Older means DA requested during batchsync so it could be up to 125 slots * 128 sidecars requested simultaneously with the same 12 seconds timeout when we are on gossip. Timeout boosted with hardcoded constant 5x
  • minor guards and fixes
  • last second fix from BatchSync Improvements聽#11158 bot discovery, import completed exceptionally will stall the batch. Fixed

Fixed Issue(s)

Documentation

  • I thought about documentation and added the doc-change-required label to this PR if updates are required.

Changelog

  • I thought about adding a changelog entry, and added one if I deemed necessary.

Note

Medium Risk
Changes sync import lifecycle, DAS tracker eviction, and availability timeouts鈥攁reas that affect catch-up sync and block import under Fulu, but behavior is guarded with targeted tests.

Overview
This PR hardens multi-peer batch sync and Fulu data-column availability so large catch-up imports don鈥檛 stall or fail prematurely.

Batch import: BatchSync now uses handleAsync on batch import futures and routes exceptional completion through onImportFailed, which logs, releases importing state, and treats the outcome like IMPORT_FAILED so sync can retry instead of hanging. Import pause warnings include batch slot ranges; chain-switch while an import is in flight is covered when the delayed import fails exceptionally.

DAS during sync: DataColumnSidecarAvailabilityChecker applies a 5脳 slot-duration timeout for blocks more than one epoch behind the current slot (batch sync can pull ~125 slots at once). DasSamplerBasicImpl only soft-evicts sampling trackers when eviction is safe (failed sampling or sampling complete and the block is already satisfied in chain/store), keeping trackers needed for pending imports.

Sidecar retrieval: SimpleSidecarRetriever skips stale matches, cancels in-flight RPC when gossip satisfies the request, and does not penalize peer scores for client-side cancellations.

SyncConfig comments clarify the recently-sampled-blocks soft limit vs the sampler hard cap.

Reviewed by Cursor Bugbot for commit b127a87. Bugbot is set up for automated code reviews on this repo. Configure here.

@zilm13
zilm13 marked this pull request as draft August 24, 2026 21:14
@zilm13
zilm13 marked this pull request as ready for review August 26, 2026 10:05

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Reviewed by Cursor Bugbot for commit 2f15df0. Configure here.

@rolfyone rolfyone left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@zilm13
zilm13 enabled auto-merge (squash) August 27, 2026 10:58
@zilm13
zilm13 merged commit 04b5c52 into Consensys:master Aug 27, 2026
84 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 27, 2026
@zilm13
zilm13 deleted the minor-sync-improvements branch August 27, 2026 11:37
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants