Skip to content

Gloas payload cache#9209

Merged
mergify[bot] merged 145 commits into
sigp:unstablefrom
dknopik:gloas-payload-cache
May 13, 2026
Merged

Gloas payload cache#9209
mergify[bot] merged 145 commits into
sigp:unstablefrom
dknopik:gloas-payload-cache

Conversation

@dknopik
Copy link
Copy Markdown
Member

@dknopik dknopik commented Apr 28, 2026

Issue Addressed

In Gloas, beacon blocks are imported into fork choice immediately - the payload envelope and data columns arrive
separately. KZG commitments moved from the column sidecar into the execution payload bid, so the existing
DataAvailabilityChecker (which assumes block and data are coupled) can't be used for Gloas.

Proposed Changes

  • Introduced PendingPayloadCache to keep track of payload and data columns per block root.
  • Added gossip column verification
  • Added support for Gloas data column reconstruction
  • Payload envelope verification simplified: removed MaybeAvailableEnvelope, ExecutedEnvelope, EnvelopeImportData

Not yet implemented (tracked with TODOs):

  • Proper lookup sync for Gloas columns arriving before blocks
  • Partial column merging for Gloas
  • Moving load_gloas_payload_bid disk reads off the async runtime
  • Backfill/range sync for Gloas

Based on @eserilev's PR and work in progress. See also #9202 for verification.

@eserilev eserilev added ready-for-review The code is ready for review and removed waiting-on-author The reviewer has suggested changes and awaits thier implementation. labels May 11, 2026
@mergify
Copy link
Copy Markdown

mergify Bot commented May 11, 2026

Some required checks have failed. Could you please take a look @dknopik? 🙏

@mergify mergify Bot added waiting-on-author The reviewer has suggested changes and awaits thier implementation. and removed ready-for-review The code is ready for review labels May 11, 2026
… Restores `PriorKnownUnpublished` error when all cells are already in

the DA cache, which makes the API return the configured `duplicate_status_code`.
Copy link
Copy Markdown
Member

@jimmygchen jimmygchen left a comment

Choose a reason for hiding this comment

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

Thanks for addressing the comments @eserilev

I've fixed the conflicts with unstable and also reverted the commit "PriorKnownUnpublished should still propagate columns" *(973590a) to fix CI as it caused a regression.

GossipDataColumnError::PriorKnownUnpublished occurs when we have blobs from the EL, but have not publish some of the columns due to gradual column publication
- they are scheduled to be published in the background, and we don't want to re-process them again hence we want to return None during block publishing.

@jimmygchen jimmygchen added ready-for-merge This PR is ready to merge. and removed waiting-on-author The reviewer has suggested changes and awaits thier implementation. labels May 13, 2026
@mergify mergify Bot added the queued label May 13, 2026
@mergify
Copy link
Copy Markdown

mergify Bot commented May 13, 2026

Merge Queue Status

This pull request spent 29 minutes 21 seconds in the queue, including 27 minutes 27 seconds running CI.

Required conditions to merge

mergify Bot added a commit that referenced this pull request May 13, 2026
@mergify mergify Bot merged commit 1a68631 into sigp:unstable May 13, 2026
38 checks passed
@mergify mergify Bot removed the queued label May 13, 2026
@dknopik dknopik deleted the gloas-payload-cache branch May 26, 2026 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

das Data Availability Sampling gloas ready-for-merge This PR is ready to merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants