[SERVER-64407] Add ResourceYielder support to ARS Created: 10/Mar/22  Updated: 29/Oct/23  Resolved: 14/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: Jack Mulrow
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Issue split
split from SERVER-63495 Support targeting remote shards from ... Closed
Related
is related to SERVER-33683 Allow aggregation $mergeCursors stage... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding NYC 2022-03-21
Participants:

 Description   

If a mongod can run a distributed transaction, which requires checking out the transaction's session from the SessionCatalog to access the TransactionRouter, it may target itself, which would also require that session to access the TransactionParticipant. We solved a similar problem for aggregations that run getMores on themselves in a transaction by adding a ResourceYielder type that the BlockingResultsMerger uses to yield a session while running a "remote" command that may target the local process. We can extend that solution for this case by adding ResourceYielder support to the AsyncRequestsSender, which is used to send remote commands in a transaction.



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

Author:

{'name': 'Jack Mulrow', 'email': 'jack.mulrow@mongodb.com', 'username': 'jsmulrow'}

Message: SERVER-64407 Add ResourceYielder support to ARS
Branch: master
https://github.com/mongodb/mongo/commit/b2cfe4aed88f2a1232f952196140d06509677be7

Generated at Thu Feb 08 06:00:16 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.