[SERVER-64052] Implement unstash for TransactionRouter Created: 28/Feb/22  Updated: 29/Oct/23  Resolved: 21/Mar/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 6.0.0-rc0

Type: Task Priority: Major - P3
Reporter: Jack Mulrow Assignee: Sanika Phanse (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-59186 [API] Use internal transaction API fo... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding NYC 2022-03-21, Sharding NYC 2022-04-04
Participants:

 Description   

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.



 Comments   
Comment by Githook User [ 21/Mar/22 ]

Author:

{'name': 'Sanika Phanse', 'email': 'sanika.phanse@mongodb.com', 'username': 'sphanse99'}

Message: SERVER-64052 Implement unstash for TransactionRouter
Branch: master
https://github.com/mongodb/mongo/commit/ba193ea312ec5c5fbea1afabd6e9cadb754004b6

Generated at Thu Feb 08 05:59:23 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.