Abort pending requests if the cache entry is removed #5061
Merged
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.
This PR:
module.ts
so thatbuildInitiate()
is called beforebuildMiddleware()
, and then makesgetRunningQueryThunk
available tobuildMiddleware
cacheCollection.ts
to:"_running"
postfix when checking if there's still an active subscription to that cache entry. Those indicate a pending request, not a full subscription, and can exist even if there are 0 true subscribers (ref: keep subscription on data while query is running #3709 , BUG: UseLazyXXXQuery Returning undefined On Long Running Queries #3706 )handleUnsubscribe()
if there's still an actual cache entry at that time.abort()
on itretryCondition
callback, viaextraArgs.baseQueryApi.signal
. Added a test to verify it gets marked as aborted if we have aborted the in-flight request.Fixes #4942