Fix external cancels propagation in rxjava2 and rxjava3 adapters #4427
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi! It looks like there is a small bug in
CallEnqueueObservable
- external cancels (like timeouts) are not getting propagated to rxjava making calls stuck. It looks like when a separate "disposed" state was introduced 3f111b7 a one place inCallEnqueueObservable.onFailure
was missed (while it was used in analogous place incatch
insideCallExecuteObservable
). This PR should fix the issue.I tested it manually with rxjava3 and added simple tests that fail without the fix. This should resolve #3524.
CHANGELOG.md
's "Unreleased" section has been updated, if applicable.