RFR: 8277969: HttpClient SelectorManager shuts down when custom Executor rejects a task [v6]
Daniel Fuchs
dfuchs at openjdk.java.net
Fri Apr 15 14:39:42 UTC 2022
On Fri, 15 Apr 2022 14:35:33 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:
>> 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:
>
> - Fixed exception handling in tests
> - Better exception reporting
While retesting after the rebase I got some intermittent test failures, mostly in the new tests (and some others that were unrelated). I have updated this PR with a small change that makes the new tests more stable. See combined changes brought by [2ea851b](https://github.com/openjdk/jdk/pull/7196/commits/2ea851b267ab5fa81eda0a9c9cb2e6cc0315c568) and [2ea851b](https://github.com/openjdk/jdk/pull/7196/commits/2ea851b267ab5fa81eda0a9c9cb2e6cc0315c568)
@Michael-Mc-Mahon could you review these new changes?
-------------
PR: https://git.openjdk.java.net/jdk/pull/7196
More information about the net-dev
mailing list