Skip to content

cumulus: implement unincluded segment store #12034

@iulianbarbu

Description

@iulianbarbu

Collators should keep around various informations (on disk) to be able to resubmit collations for unincluded blocks (also known as unincluded segment). With V3 candidate descriptor and V4 collator-protocol proposal is possible to submit an unincluded segment with every new block building iteration, and rely on the backing groups to fetch whichever collations they do not know about.

To be able to send the unincluded segment with every iteration, we must insert entries for each parablock with the following information during block import, and be able to relay them when needed:

  1. parablock estimated submission time (can be for the scope of this task the moment when block_import task is started for the block)
  2. relay parent session (to be synced with cumulus: support submission for candidates with older relay parents (max_relay_parent_age_session alignment) #11624 , which is concerned with storing this in the RelayChainDataCache)
  3. parablock hash (for bundle, it will be the hash of the last block in it)
  4. Parablock’s proof

Additional concerns:

  • the store must be stored on the disk
  • the store must be pruned in terms of finalized parablocks
  • the store must be reconstructed from disk if present, after a collator restart

Metadata

Metadata

Assignees

Labels

T20-low-latencyfor issues and PRs related to Low Latency work

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions