RFR: 8277969: HttpClient SelectorManager shuts down when custom Executor rejects a task [v9]
Michael McMahon
michaelm at openjdk.java.net
Wed Apr 20 12:00:29 UTC 2022
On Sat, 16 Apr 2022 11:06:21 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 one additional commit since the last revision:
>
> Fixed accepted exception logging in tests
So, I assume the main point of the change is to "remember" the original cause of the selector manager to close and always throw that exception cause going forward. Makes sense, and there is some useful refactoring in the tests. LGTM
-------------
Marked as reviewed by michaelm (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/7196
More information about the net-dev
mailing list