Skip to content

Conversation

@tbenr
Copy link
Contributor

@tbenr tbenr commented Dec 12, 2025

This is just an idea, to be validated in real world, and it could explain why, before #10219, we were actually duplicating download requests instead of just rebuilding the tracker which then completes immediately.

if that's the case, the underlining design problem\bug is that we don't write Columns via CombinedStorageChannelSplitter.

CombinedStorageChannelSplitter guarantees that reads are happening only after writes.

this approach is beneficial because it does not wait the writes, and can be very useful for quickly serving byRoot RPCs on the block head.

We should probably fix CombinedStorageChannelSplitter anyway too.

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

Caches in-flight DataColumnSidecar writes to satisfy immediate reads and reduce redundant DB access, with tests verifying behavior.

  • DataColumnSidecar DB
    • Adds concurrent in-flight cache inflightColumns in ColumnIdCachingDasDb.
      • On addSidecar, store sidecar under its DataColumnSlotAndIdentifier and remove after write completes.
      • On getSidecar, return from in-flight cache before delegating to underlying DB.
    • Continues to de-duplicate writes via latestAdded and invalidates slot read cache on write.
  • Tests
    • Adds shouldCacheInflightSidecars to assert immediate reads hit the in-flight cache and minimize underlying DB reads.

Written by Cursor Bugbot for commit 06c7d47. This will update automatically on new commits. Configure here.

@tbenr tbenr added DO NOT MERGE Not ready to merge spike 🔍 labels Dec 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DO NOT MERGE Not ready to merge spike 🔍

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant