[SERVER-36659] Allow shard to choose global read timestamp when first txn statement targets one shard Created: 14/Aug/18 Updated: 06/Dec/22 Resolved: 06/May/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Jack Mulrow | Assignee: | [DO NOT USE] Backlog - Sharding Team |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | ShardedTxn:FutureOptimizations, pm-564 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Assigned Teams: |
Sharding
|
||||||||||||
| Participants: | |||||||||||||
| Description |
|
To establish a global snapshot for snapshot level read concern, mongos currently selects a cluster time when executing the first statement in a transaction then sends it to each targeted shard as anĀ atClusterTime read concern option and will send it to each new shard contacted by subsequent statements. This guarantees all targeted shards in the transaction read from the same timestamp. If the first statement targets only one shard, mongos can instead allow the shard to select a read timestamp itself as long as the shard returns to mongos which timestamp it read from, so mongos can store it and send it to all new shard participants that may be targeted by subsequent statements, if any. |