-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
As seen in SERVER-96903, assigning the ARS the responsibility for yield and unyield can result in stale remote errors being overridden in favor of other errors.
This issue arises because the responsibility for yielding and unyielding resources lies with a lower-level component, the AsyncRequestSender, which operates as part of the router role. At this level, the AsyncRequestSender should not be making decisions on how to handle errors or what to prioritize.
To clarify responsibilities, we should assign the router role the task of yielding and unyielding resources and remove this code from the AsyncRequestSender. Additionally, SERVER-96903 workaround can be removed.
- related to
-
SERVER-96903 Throwing when unyielding after sending a remote request may continuously swallow a StaleConfig error
- In Code Review