hiero-ledger / hiero-ledger/hiero-consensus-node
Implement a Future using a managed blocker
- Dominant language
- Java
- Stars
- 406
- Forks
- 226
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 210
Description
Our future implementations don't work well when you block on them inside a fork join pool. When you block on a future that is implemented using a latch (or equivalent), you end up reducing the maximum concurrency of the pool by 1 until the future is completed.
We should create an implementation of Future that uses a managed blocker paradigm.
Contributor guide
Research direction
Start by locating the existing Future implementations and the code path that blocks on them inside a fork/join pool. Read how the current latch or equivalent implementation completes futures and how managed blockers are used in this repository. Done means blocking on the new Future does not reduce pool concurrency until completion, with coverage for that behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100