Skip to content

fix(archiver): always advance L1-to-L2 messages syncpoint to current L1 block (backport #22154)#22198

Closed
AztecBot wants to merge 5 commits into
backport-to-v4-next-stagingfrom
claudebox/backport-22154-archiver-syncpoint
Closed

fix(archiver): always advance L1-to-L2 messages syncpoint to current L1 block (backport #22154)#22198
AztecBot wants to merge 5 commits into
backport-to-v4-next-stagingfrom
claudebox/backport-22154-archiver-syncpoint

Conversation

@AztecBot

Copy link
Copy Markdown
Collaborator

Summary

Backport of #22154 to v4-next.

The L1-to-L2 messages syncpoint tracked the L1 block of the last downloaded message. If no messages were sent for a long time, the syncpoint got stuck and the next non-empty sync iteration re-scanned old block ranges. The syncpoint now always advances to currentL1BlockNumber on success, with rollback-and-retry on mismatch.

Cherry-pick conflicts

The automatic cherry-pick failed because v4-next was missing the #inboxTreeInProgress field and L1ToL2MessagesNotReadyError infrastructure that existed on next prior to PR #22154. These were added as part of the build-fix commit.

Commit structure (3 commits):

  1. Cherry-pick with conflicts — raw cherry-pick with conflict markers preserved in git history
  2. Conflict resolution — resolved all 5 conflicted files by taking incoming (cherry-picked) changes
  3. Build fixes — added missing dependencies for v4-next:
    • #inboxTreeInProgress field declaration and constructor initialization in MessageStore
    • L1ToL2MessagesNotReadyError error class in errors.ts
    • treeInProgress guard in getL1ToL2Messages
    • Missing imports (Buffer16, INITIAL_CHECKPOINT_NUMBER, L1ToL2MessagesNotReadyError)

ClaudeBox log: https://claudebox.work/s/ace92e2ca7858f70?run=1

@spalladino spalladino added claudebox Owned by claudebox. it can push to this PR. ci-draft Run CI on draft PRs. labels Mar 31, 2026
Remove unnecessary inboxTreeInProgress field, L1ToL2MessagesNotReadyError,
and setMessageSyncState that were pulled from next but don't belong on
v4-next. Use existing setMessageSynchedL1Block instead. Also removes
accidental submodule deletions from the previous commit.
@AztecBot AztecBot force-pushed the claudebox/backport-22154-archiver-syncpoint branch from 8b16bb8 to 54ab5b0 Compare March 31, 2026 20:55
@AztecBot

AztecBot commented Apr 6, 2026

Copy link
Copy Markdown
Collaborator Author

Automatically closing this stale claudebox draft PR (no updates for 5+ days). Re-open if still needed.

@AztecBot AztecBot closed this Apr 6, 2026
@spalladino spalladino reopened this Apr 7, 2026
@spalladino spalladino marked this pull request as ready for review April 7, 2026 21:51
@spalladino spalladino enabled auto-merge April 7, 2026 21:51
@spalladino

Copy link
Copy Markdown
Contributor

Closing since won't need it for v4

@spalladino spalladino closed this Apr 14, 2026
auto-merge was automatically disabled April 14, 2026 21:14

Pull request was closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants