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

Stopping dropping snapshots after safe reconfig that does not change writeConcernMajorityJournalDefault

    • Fully Compatible
    • v4.4
    • Repl 2020-05-04

      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.

            Assignee:
            siyuan.zhou@mongodb.com Siyuan Zhou
            Reporter:
            tess.avitabile@mongodb.com Tess Avitabile (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: