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

Majority commit point is not set backward after force reconfig or reconfig that changes writeConcernMajorityJournalDefault

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: 3.6.17, 4.2.5, 4.0.17
    • Fix Version/s: Backlog
    • Component/s: Replication
    • Operating System:
      ALL

      Description

      SERVER-47205 describes why dropping snapshots after reconfig is ineffectual.

      The consequence is that until an operation is committed in the new config, majority reads will read at a timestamp that was committed under the old config. Writes are affected more narrowly. Any new operation that performs writes will wait to be committed under the new config. A write operation that does not write data (a noop write) will wait for the system last optime to be committed. If the system last optime is from before the reconfig, then the write is acknowledged when the data that was read is committed under the old config. This can only happen in a narrow interval, since we write a noop oplog entry immediately after reconfig. In particular, operations on the same client thread as the reconfig will not be affected. However, it’s possible for a different thread to read the new config, then do a noop write with majority writeConcern, and have the write be acknowledged under the old config.

      Majority write acknowledgment after force reconfig is incorrect until the _currentCommittedSnapshot in the old config becomes majority-committed in the new config. Majority write acknowledgment after a safe reconfig that changes writeConcernMajorityJournalDefault is incorrect until the _currentCommitedSnapshot in the old config becomes durable on a majority.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-repl Backlog - Replication Team
              Reporter:
              tess.avitabile Tess Avitabile
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated: