-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
-
ALL
-
None
-
None
-
None
-
None
-
None
-
None
-
None
CursorEstablisher has some logic to decide which failure to return in the event that it sends multiple requests that fail with distinct errors. It appears that it is possible for it to prefer an error that is received when a sleep associated with a retry backoff is cancelled, possibly as a result of the original error.
As an example, this can be encountered with the following sequence:
- CursorEstablisher sends two requests
- First request is rejected by the shard's rate limiter, inducing a backoff sleep
- Second request fails with a CollectionUUIDMismatch error
- First request is cancelled via stopRetrying, yielding a CallbackCanceled error ("Baton wait canceled")
- Final error returned is CallbackCanceled, instead of CollectionUUIDMismatch
We should update CursorEstablisher's error handling logic to ensure that the original error is not lost in these situations.
- blocks
-
SERVER-114130 Move the failRateLimiting fail point to the ingress request rate limiter in session workflow
-
- In Progress
-