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

Investigate changes in PM-2836: Support for FLE2 on Existing Data

    • Type: Icon: Investigation Investigation
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None

      Original Downstream Change Summary

      Adding new subcommands for collMod
      Adding ability to migrate documents in libmongocrypt
      Will need driver changes to support index build of QE

      Description of Linked Ticket

      Epic Summary

      Summary

      Extend libmongocrypt to support the encrypted migration requirements of REP-3483

      Motivation

      Currently, users of FLE or QE have no automated way to convert their data between two encryption types or between two different schemas. The ability to change the encryption type or schema of an existing encrypted collection, and the ability to convert an unencrypted collection to encrypted, both require the simultaneous conversion and migration of data from a source collection onto a target collection. This capability will be implemented in mongosync through REP-3483. mongosync, in turn, shall depend on libmongocrypt to perform the heavy lifting of transforming documents by decrypting them (if applicable), and re-encrypting them in accordance to the target schema. In particular, libmongocrypt may need to be extended to support the following:

      • a new state machine workflow for transforming documents from one schema to another.
      • a way to check that the conversion from one schema type to another is possible & makes sense
      • for QE migrations, a way to strip __safeContent__ tags from the source document.

      Lastly, the Go driver (which mongosync uses) must be able to call into libmongocrypt for performing the migration workflow.

      Documentation

      Product Description
      Scope Document
      Technical Design Document
      Docs Update

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

              Created:
              Updated:
              Resolved: