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

Add 'preserveUUIDs' flag to restore collections with existing UUIDS

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0.0-rc0
    • Component/s: mongorestore
    • Labels:
      None

      Description

      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

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: