-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Sharding NYC 2022-03-21, Sharding NYC 2022-04-04
To enable scenarios where an operation in the transaction API that checked out a session to use its TransactionRouter needs to run a sub operation against its local process that will also need to check out that session, SERVER-59186 added support for yielding a session to the API. When the API unyields its session, it calls TransactionRouter::unstash() (meant to mirror TransactionParticipant::unstash()), which currently does nothing, but should be changed to verify the TransactionRouter's transaction number hasn't changed and the unstashed transaction is still valid with the unyielding operation context.
Additionally, in this ticket we should verify the metrics for the TransactionRouter are appropriately updated by unstash() and add unit testing if necessary.
- is related to
-
SERVER-59186 [API] Use internal transaction API for changing a document's shard key logic
- Closed