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

Make wall clock times in replication structures required after 4.2

    • Type: Icon: Task Task
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Replication

      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.

            Assignee:
            backlog-server-repl [DO NOT USE] Backlog - Replication Team
            Reporter:
            maria.vankeulen@mongodb.com Maria van Keulen
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: