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

Docs for SERVER-27771: Add readConcern::readAfterClusterTime

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • mongodb-3.6, 3.5.5
    • None
    • Server
    • None

    Description

      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

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved:
              6 years, 14 weeks ago