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

Implement a Future using a managed blocker

Open
#11,051 0 comments 0 reactions 0 assignees View on GitHub
Good First Issue Candidate Platform
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.