[SERVER-36557] Every command that can start a cross-shard transaction should compute atClusterTime with snapshot read concern Created: 09/Aug/18 Updated: 29/Oct/23 Resolved: 07/Sep/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | 4.1.3 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Jack Mulrow | Assignee: | Jack Mulrow |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | ShardedTxn:GlobalSnapshot | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible |
| Sprint: | Sharding 2018-08-27, Sharding 2018-09-10 |
| Participants: |
| Description |
|
The first command in a transaction is the only one that can provide a read concern, and if a transaction runs with snapshot level read concern all targeted shards must use the same atClusterTime timestamp. This means every command that can start a transaction must be able to compute an atClusterTime so it can be sent to all shards targeted by the first statement. These commands currently include:
Note: geoSearch can start a single replica set transaction, but the command is not supported on mongos find, aggregate, and distinct already support this from the global point in time reads project, leavingĀ insert, update, delete, findAndModify, and killCursors. |
| Comments |
| Comment by Githook User [ 07/Sep/18 ] |
|
Author: {'name': 'Jack Mulrow', 'email': 'jack.mulrow@mongodb.com', 'username': 'jsmulrow'}Message: |
| Comment by Githook User [ 06/Sep/18 ] |
|
Author: {'name': 'Jack Mulrow', 'email': 'jack.mulrow@mongodb.com', 'username': 'jsmulrow'}Message: |
| Comment by Gregory McKeon (Inactive) [ 29/Aug/18 ] |
|
jack.mulrow handing back to you. |