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

Parse readConcern snapshot and atClusterTime

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.7.2
    • Affects Version/s: None
    • Component/s: Storage
    • Labels:
      None
    • Fully Compatible
    • Storage 2018-01-15, Storage 2018-01-29

      Parse the following new syntax for readConcern:

      {readConcern: {level: "snapshot"}}
      {readConcern: {atClusterTime: <timestamp>}}
      

      Parsing for snapshot:

      • Add level "snapshot" to the readConcern interface.
        • Add "snapshot" level definition to the ReadConcernArgs class.
        • Parse in ReadConcernArgs::initialize().
      • Update ReplicationCoordinatorImpl::_validateReadConcern() to allow the readConcern level snapshot with afterClusterTime.
      • Return an error if the mongod is not a member of a replica set.
      • Support readConcern level snapshot for the commands aggregate, count, distinct, group, geoNear, geoSearch, find, insert, update, delete, findAndModify.
      • Ban on mongos.

      Parsing for atClusterTime:

      • Add readConcern parsing / initialization components (ReadConcernArgs::initialize()).
        • Remove the "testMode" check.
        • Error if the level is not snapshot.
        • Error if paired with afterOpTime or afterClusterTime.
      • Update ReplicationCoordinatorImpl::_validateReadConcern() to check that the readConcern level is snapshot if atClusterTime is provided.

            Assignee:
            tess.avitabile@mongodb.com Tess Avitabile (Inactive)
            Reporter:
            tess.avitabile@mongodb.com Tess Avitabile (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: