On Tue, 15 Nov 2022 08:54:39 GMT, Jaikiran Pai <j...@openjdk.org> wrote:
> Hello Daniel, from what I understand, before the change in this PR, we used > to add the subscriber to an internal collection in the HttpClient even before > the subscription was done. That would then mean the callbacks that are > related to a subscription wouldn't be invoked, in certain cases (for example > the request cancellation). Since we do the unregistration in these callbacks, > the registered subscriber would not be removed from the HttpClient's > collection. Did I understand this right? If so, your change looks good to me. Yes - if the cancellation happens after the subscriber is registered in the collection, but before the subscriber is subscribed, then the subscriber may never subscribe, and therefore might never be canceled. If it doesn't get cancelled (or completed) then it won't be removed from the collection. Therefore, adding it to the collection at the time it is subscribed should ensure that it gets removed from the collection, because the expectation is that once subscribed it MUST either be completed successfully, completed exceptionally, or cancelled, and any of these three actions will take it out of the collection (which was the object of my previous fix in this area). ------------- PR: https://git.openjdk.org/jdk/pull/11110