hiero-ledger / hiero-ledger/hiero-consensus-node

Final Block Stream cutover work

Open
#23,185 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
406
Forks
226
Avg merge
3d 4h
Merged PRs (30d)
210

Description

### Background

There are number of changes that need to coincide with the release which cuts over to the block stream.

### Config
- Full TSS needs to be enabled
- Config property default value updates
- `streamMode=BLOCKS`
- `writerMode=GRPC`
- `blockStream.buffer.isBufferPersistenceEnabled=true`
- `blockStream.enableCutover=true`
- `blockStream.enableStateProofs=true`
- `hedera.recordStream.writeWrappedRecordFileBlockHashesToDisk=false`
- `hedera.recordStream.computeHashesFromWrappedRecordBlocks=false`
- `hedera.recordStream.liveWritePrevWrappedRecordHashes=false`

---

### Tasks

#### TSS
- [x] Provide path of (unpacked) WRAPS proving key to TSS lib – see #23913
- [x] TSS not to sign blocks unless `tss.enableCutover` is true – verify with @tinker-michaelj

#### Block Stream
- [ ] ~~Docker mount points for cutover, wraps dirs~~ – No longer needed; jumpstart data are config properties, WRAPS key is a sub-dir of `data/`
- [x] ~~Introduce jumpstart app properties to `release/0.72` – PR [here](https://github.com/hiero-ledger/hiero-consensus-node/pull/24197)~~
- [x] Introduce voting mechanism to avoid ISS failures for jumpstart migration – see #24205

---

### HAPI Testing
- Scenario for the software upgrade where we change these config values
- Negative test cases, for example all block nodes are not available or no block-nodes.json file?
- This could be case of back-pressure
- Negative test cases around TSS - failure to produce ledgerId, presence of recursive WRAPS proof, TSS ceremony
- Validate default WRAPS proving key download timeout of `300s` (5 min)

Contributor guide

Open the contributing guide

Research direction

Start with the remaining HAPI Testing tasks and the listed block-stream and TSS configuration changes, including the release/0.72 jumpstart properties. Review the referenced issues and pull request before proceeding, then define upgrade scenarios and negative cases for unavailable block nodes, missing block-nodes.json, TSS failures, and the WRAPS proving-key timeout.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems, release, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.