Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stream to Block Node's immediately instead of when BlockProof is produced #17960

Open
15 tasks
derektriley opened this issue Feb 19, 2025 · 0 comments
Open
15 tasks

Comments

@derektriley
Copy link
Contributor

Background

Currently an entire block is buffered in memory until the BlockProof is produced, at that point then the Consensus Node will stream the block in batches to each Block Node it's connected to.

In order to minimize latency, the Consensus Node should immediately stream block items (still respecting the configurable batch size and chronological ordering) to Block Nodes.

Acceptance Criteria

  • Stream to Block Node's immediately instead of waiting for the BlockProof to be produced
  • Immediately but we need to wait/buffer until we have enough items to fulfill the configurable batch size.
  • Need to maintain chronological ordering of block items, i.e. don't immediately stream block 2's items until we've streamed the BlockProof for block 1.

Dependencies

#17730

Definition of Ready (DoR) Checklist

  • Clear acceptance criteria
  • Clear and detailed description
  • Dependencies identified
  • Links to documentation
  • Should be completable in 2-3 Days
  • Initial draft of Low-level design document
  • At least high level test plan
  • Groomed/Estimated

Definition of Done (DoD) Checklist

  • Acceptance Criteria complete
  • No Codacy issues greater than minor (in new code)
  • JavaDocs updated/created
  • Code commented
  • Unit tests created/updated
  • 80% test code coverage (in new code)
  • Happy Path and major negative cases in HAPI tests as applicable
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant