apple / apple/servicetalk

PublisherConcatMapIterable simplify control flow

Open
#1,032 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
1k
Forks
230
Avg merge
23h 23m
Merged PRs (30d)
16

Description

`PublisherConcatMapIterable` has multiple embedded try/finally blocks which makes control flow difficult to reason about. Some code in a `finally` blocks which calls out to user code which may throw, further complicating control flow.

(original discussion https://github.com/apple/servicetalk/pull/1026#discussion_r416067011)

Contributor guide

Open the contributing guide

Research direction

Start by locating PublisherConcatMapIterable and reading its embedded try/finally blocks, then review the original discussion in pull request #1026. Done means the control flow is easier to reason about while preserving behavior, especially when user code called from cleanup throws.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.