[SERVER-36237] Integrate atClusterTime selection on mongos with RouterSession Created: 23/Jul/18  Updated: 29/Oct/23  Resolved: 21/Aug/18

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 4.1.2

Type: Task Priority: Major - P3
Reporter: Jack Mulrow Assignee: Cheahuychou Mao
Resolution: Fixed Votes: 0
Labels: ShardedTxn:GlobalSnapshot
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Gantt Dependency
has to be done before SERVER-36591 Allow mongos to retry on snapshot err... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding 2018-08-13, Sharding 2018-08-27
Participants:

 Description   

Currently, atClusterTime is chosen in the find and aggregate paths and directly put into the readConcerns of the requests created by those commands. Instead, atClusterTime should be placed on the RouterSession during targeting and added to requests in TransactionParticipant::attachTxnFieldsIfNeeded. snapshot level readConcern should also be disallowed on mongos for commands not in a multi statement transaction.

Mongos may try several different atClusterTime values until it finds one that all shards can provide a snapshot at. Mongos should remember the first value that was successful, so every subsequent statement that targets a new shard can use it.



 Comments   
Comment by Githook User [ 21/Aug/18 ]

Author:

{'name': 'Cheahuychou Mao', 'email': 'cheahuychou.mao@mongodb.com', 'username': 'cheahuychou'}

Message: SERVER-36237 Integrate atClusterTime selection on mongos with TransactionRouter
Branch: master
https://github.com/mongodb/mongo/commit/0e93c2a82e44727e41415a3fd027ecfa6e1b7cda

Generated at Thu Feb 08 04:42:29 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.