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

Switch replication coordinator's isDataRecovering to false for recovery procedures from stable snapshot

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.1.0-rc0
    • Affects Version/s: None
    • Component/s: Replication
    • None
    • Replication
    • Fully Compatible
    • v8.0
    • Repl 2024-05-27, Repl 2024-06-10, Repl 2024-06-24

      This ticket is for the replication team to tighten-up the guarantees of the protocol and API for trailing on-disk state and is to serve as a placeholder and dependency for the recent views related bugs. The description below captures my conversation with lingzhi.deng@mongodb.com and suganthi.mani@mongodb.com.

      The current API of onInitialDataAvailable/isDataRecovering is adequate for the near term, but it has a problem very specific to the views catalog since it is tightly coupled with collections. Namely, in the case of FCBIS, the views catalog is loaded from the last consistent (stable) snapshot, but due to the member state of the node at that point, isDataRecovering is still true. This causes the views catalog to not be kept in sync during oplog replay and so the namespaces it contains diverge from the available collections, causing false namespace conflicts.

      This ticket is about decouplig isDataRecovering from the member state and making it becomes true immediately after rollback to stable, which will cover both FCBIS and replication rollback.

      The changes will also cover the RS_REMOVED state and that will solve SERVER-89272.

      Once this work is done, we can recommit the views fixes.

      As part of this work we discussed giving better names to the methods to match their meanings more accurately:

      • onInitialDataAvailable -> resetInMemoryState
      • isDataRecoving -> isInMemoryStateInSync

            Assignee:
            lingzhi.deng@mongodb.com Lingzhi Deng
            Reporter:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Votes:
            0 Vote for this issue
            Watchers:
            16 Start watching this issue

              Created:
              Updated:
              Resolved: