Skip to content

feat: switch block stream and TSS configs defaults for 0.77#25928

Open
petreze wants to merge 29 commits into
mainfrom
25892-tss-configs-77
Open

feat: switch block stream and TSS configs defaults for 0.77#25928
petreze wants to merge 29 commits into
mainfrom
25892-tss-configs-77

Conversation

@petreze

@petreze petreze commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Summary

Final step of the block-stream cutover (#25892): flip the production defaults so the consensus node produces blocks, signs them with real TSS signatures, and streams them over gRPC to a Block Node by default — retiring the legacy record stream and the dual file/gRPC write.

Production changes

Config defaults (hedera-config):

Property Old New
blockStream.streamMode BOTH BLOCKS
blockStream.writerMode FILE_AND_GRPC GRPC
blockStream.enableCutover false true
blockStream.streamWrappedRecordBlocks true false
blockStream.buffer.isBufferPersistenceEnabled false true
tss.forceMockSignatures true false
  • BlockRecordService: supporting adjustment for sourcing block/running-hash info in BLOCKS mode.
  • configuration/dev: aligned to the new defaults (BLOCKS; WRAPS proving-key download disabled).

Test harness & CI

  • Subprocess harness now starts a real Block Node from the effective writerMode/streamMode (the new default), not just explicit overrides (SharedNetworkLauncherSessionListener) — so every subprocess HAPI job that implies streaming gets a live (DinD) Block Node.
  • Block-source abstraction (BlockSource / BlockNodeBlockSource / FileSystemBlockSource / BlockSourceFactory) + StreamValidationOp read blocks back from the Block Node and run the data-independent validators in BLOCKS mode; freeze-block-aware gating and "settle before replay" for the gRPC read-back.
  • Embedded/repeatable pinned to writerMode=FILE (no in-process Docker; backpressure stays off while still exercising true BLOCKS semantics with a file sink).
  • CI: HAPI jobs run on Block-node-capable runners (805-call-execute-hapi-tests.yaml, build.gradle.kts); transition scaffolding removed.
  • Misc BLOCKS/gRPC test fixes: ContractCreateTranslator hex guard, deterministic sidecar extraction (SidecarWatcher), block-stream assertions, genesis/subprocess suites.

Related issue(s):

Fixes #25892

Notes for reviewer:

Checklist

  • Documented (Code comments, README, etc.)
  • Tested (unit, integration, etc.)

Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
@petreze petreze self-assigned this Jun 15, 2026
@petreze petreze requested review from a team as code owners June 15, 2026 14:25
@petreze petreze requested a review from andrewb1269 June 15, 2026 14:25
@trunk-io

trunk-io Bot commented Jun 15, 2026

Copy link
Copy Markdown

Merging to main in this repository is managed by Trunk.

  • To merge this pull request, check the box to the left or comment /trunk merge below.

After your PR is submitted to the merge queue, this comment will be automatically updated with its status. If the PR fails, failure details will also be posted here

@lfdt-bot

lfdt-bot commented Jun 15, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@petreze petreze changed the title feat: initial changes chore: switch block stream and TSS config defaults to BLOCKS/gRPC for 0.77 Jun 15, 2026
@petreze petreze changed the title chore: switch block stream and TSS config defaults to BLOCKS/gRPC for 0.77 feat: switch block stream and TSS config defaults to BLOCKS/gRPC for 0.77 Jun 15, 2026
petreze added 2 commits June 16, 2026 13:10
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
@codecov

codecov Bot commented Jun 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Impacted file tree graph

@@             Coverage Diff              @@
##               main   #25928      +/-   ##
============================================
- Coverage     70.51%   70.30%   -0.22%     
+ Complexity    11883    11876       -7     
============================================
  Files          2626     2626              
  Lines        109705   109706       +1     
  Branches      12072    12071       -1     
============================================
- Hits          77363    77131     -232     
- Misses        28374    28610     +236     
+ Partials       3968     3965       -3     
Files with missing lines Coverage Δ Complexity Δ
...om/hedera/node/app/records/BlockRecordService.java 100.00% <100.00%> (ø) 0.00 <0.00> (ø)
...com/hedera/node/config/data/BlockBufferConfig.java 100.00% <ø> (ø) 0.00 <0.00> (ø)
...com/hedera/node/config/data/BlockStreamConfig.java 100.00% <ø> (ø) 0.00 <0.00> (ø)
...in/java/com/hedera/node/config/data/TssConfig.java 100.00% <ø> (ø) 0.00 <0.00> (ø)

... and 29 files with indirect coverage changes

Impacted file tree graph

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@petreze petreze force-pushed the 25892-tss-configs-77 branch from 8a90857 to 4c42563 Compare June 16, 2026 15:17
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
@petreze petreze force-pushed the 25892-tss-configs-77 branch from 4c42563 to a95f4fc Compare June 16, 2026 15:24
@petreze petreze marked this pull request as draft June 17, 2026 13:06
petreze added 12 commits June 17, 2026 16:07
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
# Conflicts:
#	hedera-node/test-clients/build.gradle.kts
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
# Conflicts:
#	hedera-node/test-clients/build.gradle.kts
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
…s, ledger-id replay, block re-delivery

Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
petreze added 8 commits June 18, 2026 15:30
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
…GRPC) to probe #24896

Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
@petreze petreze marked this pull request as ready for review June 23, 2026 13:48
petreze added 4 commits June 23, 2026 16:48
# Conflicts:
#	hedera-node/test-clients/build.gradle.kts
Signed-off-by: Petar Tonev <petar.tonev@limechain.tech>
@petreze petreze changed the title feat: switch block stream and TSS config defaults to BLOCKS/gRPC for 0.77 feat: switch block stream and TSS config defaults for 0.77 Jun 24, 2026
@petreze petreze changed the title feat: switch block stream and TSS config defaults for 0.77 feat: switch block stream and TSS configs defaults for 0.77 Jun 24, 2026
@testlens-app

testlens-app Bot commented Jun 24, 2026

Copy link
Copy Markdown

✅ All tests passed ✅

🏷️ Commit: e439872
▶️ Tests: 6893 executed
⚪️ Checks: 52/52 completed


Learn more about TestLens at testlens.app.

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

Successfully merging this pull request may close these issues.

0.77 TSS and Block Stream Config Defaults

2 participants