apache / apache/pekko

Switch code that uses Reactive Streams to favour the Java 9 Flow API

Open
#2,459 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Scala
Stars
1.6k
Forks
211
Avg merge
1d 6h
Merged PRs (30d)
89

Description

* We have PublisherSource and SubscriberSource but these are based on the org.reactivestreams API. We have other methods and classes to support the Java 9 equivalents but these involve delegating to the org.reactivestreams based classes.
* It seems like for performance reasons we should using code that uses the Java 9 classes directly instead of doing conversions.
* It's possible that the code is this way as it was easier when we had to support Java 8 to minimise the code that uses the Java 9 APIs

Contributor guide

Open the contributing guide

Research direction

Start by locating PublisherSource and SubscriberSource, then trace the Java 9 equivalents and the delegating paths built on org.reactivestreams. Determine which code paths can use the Java 9 Flow API directly and how Java 8 support constrains the change. Done means the relevant paths no longer need conversions while existing compatibility and behavior remain intact.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, scala
Domain
distributed-systems
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.