Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-10021

Docs for SERVER-27771: Add readConcern::readAfterClusterTime

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • mongodb-3.6, 3.5.5
    • Affects Version/s: None
    • Component/s: Server
    • Labels:
      None

      Documentation Request Summary:

      According to https://jira.mongodb.org/browse/PM-221.

      Engineering Ticket Description:

      1. The BSON argument type of the readConcern::readAfterClusterTime will be a Timestamp, but internally it will be converted and used as LogicalTime. The command reply returns the operationTIme also in the Timestamp format.

      2. Add support for optional LogicalTime _clusterTime member to ReadConcernArgs.

      • add a getter
      • Modify appendInfo(), toString(), toJSON()

      3. in initialize() Add a restriction that afterClusterTime is only supported for level::majority

      4. Add ReplicationCoordinatorImpl::waitUntilClusterTime - it may result in refactoring the ReplicationCoordinatorImpl::waitUntilOptimeForRead to factor out the common part
      rename waitUntilOptimeForRead to waitUntilOptimeForReadDeprecated due to planned switch to the clusterTime everywhere once it supports local level.

      5. Modify waitForClusterTime() to support the afterClusterTime

      if (level == majority) 
          waitUntilClusterTime(max(readAfterClusterTime, readAfterOptime[timestamp]))
      else 
          waitUntilOptimeForRead(readAfterOptime)
      
      

      6. Unit tests related to readConcernArgs parsing

      7. Unit tests for waiting

            Assignee:
            kay.kim@mongodb.com Kay Kim (Inactive)
            Reporter:
            emily.hall Emily Hall
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              6 years, 25 weeks, 1 day ago