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

Stopping dropping snapshots after safe reconfig that does not change writeConcernMajorityJournalDefault

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Backport Requested:
      v4.4
    • Sprint:
      Repl 2020-05-04

      Description

      After a reconfig, we drop snapshots, since the definition of majority-committed can change. However, all this does is set _currentCommittedSnapshot to none. It does not change the
      _lastCommittedOpTimeAndWallTime in the TopologyCoordinator. This means that the next time we set _currentCommittedSnapshot, either due to the JournalFlusher or replSetUpdatePosition, we will refuse to set _lastCommittedOpTimeAndWallTime backward, so _currentCommittedSnapshot can be set to its previous value from before the reconfig. This means that dropping snapshots after reconfig doesn’t accomplish anything.

      The safe reconfig protocol guarantees that operations committed in the old config will never roll back, so we can stop dropping snapshots after a safe reconfig that does not change writeConcernMajorityJournalDefault.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              siyuan.zhou Siyuan Zhou
              Reporter:
              tess.avitabile Tess Avitabile
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: