Investigate changes in PM-2550: Write operations specify UUID and/or namespace

XMLWordPrintableJSON

    • Type: Investigation
    • Resolution: Done
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Not Needed

      Downstream Change Summary

      For all replicated commands which run on a specific collection, an optional command parameter will be added which takes a collection UUID. If the provided UUID does not match that of the collection, the command will error. The error returned by the command will include the actual namespace of the provided UUID.

      Description of Linked Ticket

      Epic Summary

      Summary

      Allow all write commands to specify a UUID instead of (or in addition to) a namespace.

      Motivation

      In certain scenarios (e.g. during oplog application following an initial sync) the C2C replicator process may encounter operations from the source cluster which are out-of-date with respect to the collections on the target cluster. If a collection was renamed prior to being synced, for instance, then some oplog events accumulated during the sync may refer to the original namespace of that collection; the replicator will also need to know how to handle the renameCollection event itself when it sees it in the stream. We therefore need to provide the replicator with a way to distinguish which version of a namespace the oplog event refers to, so that its operations can be applied idempotently on the target cluster. In the mongod replication system, this is achieved by performing operations by UUID rather than by namespace. To allow C2C replication to adopt a similar solution, we should add UUID validation to the standard write commands.

      Cast of Characters

      • Product Owner:
      • Project Lead:
      • Program Manager:
      • Drivers Contact:

      Documentation

      Product Description
      Scope Document
      Technical Design Document

            Assignee:
            Unassigned
            Reporter:
            Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: