Uploaded image for project: 'MongoDB Database Tools'
  1. MongoDB Database Tools
  2. TOOLS-1817

Add 'preserveUUIDs' flag to restore collections with existing UUIDS

    • Type: Icon: New Feature New Feature
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.0.0-rc0
    • Affects Version/s: None
    • Component/s: mongorestore
    • Labels:
      None
    • 5
    • Needed
    • When we define a new flag for restoring existing UUIDs, it will need to be added to the docs.

      In MongoDB 3.6, collections can be created in two ways:

      • using create, they are assigned a new UUID
      • using applyOps, they can be created with a pre-existing UUID (details TBD)

      However, creating with a UUID will require special permissions. We need to create a command line flag to opt into reusing existing UUIDs when restoring and to use the appropriate mechanism if set. The implications of doing so or not doing so will need to be documented.

      Update: from TOOLS-1862 epic, the desired behavior is as follows:

      • Add a --preserveUUIDs flag
      • With --preserveUUIDs, have the following behaviors:
        • Require the --drop flag or abort
        • Require collection metadata to contain UUID info or abort
        • Require the destination to be in FCV 3.6 or abort (MUST check both ways that FCV could appear)
        • Create collections with the desired UUID with a synthesized applyOps command
          • Follow procedure in SERVER-31906 for creating admin.system.version with a given UUID
        • Apply oplog without removing UUIDs

            Assignee:
            david.golden@mongodb.com David Golden
            Reporter:
            david.golden@mongodb.com David Golden
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: