RFR: 8277969: HttpClient SelectorManager shuts down when custom Executor rejects a task [v2]
Daniel Fuchs
dfuchs at openjdk.java.net
Wed Mar 9 16:54:58 UTC 2022
> These changes make sure that pending requests are terminated if the selector manager thread exits due to exceptions.
> This includes:
> 1. completing CompletableFutures that were returned to the caller code
> 2. cancelling requests that are in flight
> 3. calling onError on BodySubscribers that may not have been completed
> Note that step 3 is necessary as certain CompletableFutures, such as those returned by `BodySubscribers.ofInputStream`, complete immediately, the operation being eventually completed when the last bite of the response is read. Completing a completable future that is already completed has no effect, this case is handled by completing the BodySubscriber too.
Daniel Fuchs has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
- Incorporated review comments
- Merge branch 'master' into executor-shutdown-8277969
- 8277969: HttpClient SelectorManager shuts down when custom Executor rejects a task
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/7196/files
- new: https://git.openjdk.java.net/jdk/pull/7196/files/9ad98bdf..6c6f3f1a
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7196&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7196&range=00-01
Stats: 66043 lines in 1879 files changed: 45834 ins; 10687 del; 9522 mod
Patch: https://git.openjdk.java.net/jdk/pull/7196.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/7196/head:pull/7196
PR: https://git.openjdk.java.net/jdk/pull/7196
More information about the net-dev
mailing list