RFR: 8277969: HttpClient SelectorManager shuts down when custom Executor rejects a task [v8]

Daniel Fuchs dfuchs at openjdk.java.net
Sat Apr 16 09:22:13 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 incrementally with two additional commits since the last revision:

 - File forgotten in previous commit
 - Don't try to write to channel if selector is closed

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7196/files
  - new: https://git.openjdk.java.net/jdk/pull/7196/files/09899034..559c8523

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7196&range=07
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7196&range=06-07

  Stats: 16 lines in 2 files changed: 16 ins; 0 del; 0 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