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

Make wall clock times in replication structures required after 4.2

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None

      Description

      SERVER-40078 introduces wall clock times to several replication structures. To address mixed version communication, wall clock times are only required to be in these structures when the FCV is 4.2, such as in OplogQueryMetadata::readFromMetadata. These wall clock times should be required unconditionally after the 4.2 release. We could additionally consider adding the following invariant to MemberData::setLastAppliedOpTimeAndWallTime, MemberData::setLastDurableOpTimeAndWallTime, MemberData::advanceLastDurableOpTimeAndWallTime, and MemberData::advanceLastAppliedOpTimeAndWallTime:

      invariant(opTime.opTime.isNull() || opTime.wallTime != Date_t::min())
      

      The default value for wallTime in OpTimeAndWallTime is Date_t::min(), so adding this invariant will ensure that a meaningful wall clock time is passed to these functions when a meaningful OpTime is passed.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-repl Backlog - Replication Team
              Reporter:
              maria.vankeulen Maria van Keulen
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: