Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-36557

Every command that can start a cross-shard transaction should compute atClusterTime with snapshot read concern

    • Fully Compatible
    • Sharding 2018-08-27, Sharding 2018-09-10

      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:

      • find
      • killCursors
      • insert
      • update
      • delete
      • findAndModify
      • aggregate
      • distinct

      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.

            Assignee:
            jack.mulrow@mongodb.com Jack Mulrow
            Reporter:
            jack.mulrow@mongodb.com Jack Mulrow
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: