From 459012810014f5ac76eeba912367455302a4429f Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Fri, 14 Jun 2024 14:33:38 -0400 Subject: [PATCH 01/14] DOCSP-40077 ABC Migrations --- source/includes/abc-migration-intro.rst | 4 + source/includes/beta-feature.rst | 4 +- source/includes/many-with-one-cluster.rst | 2 +- source/includes/migrationName-description.rst | 4 - source/includes/migrationName.rst | 4 + source/includes/opts/migrationName.rst | 18 --- source/quickstart.txt | 32 ----- source/reference/beta-program.txt | 10 +- .../beta-program/document-filtering.txt | 6 +- source/reference/beta-program/many-to-one.txt | 15 --- .../reference/beta-program/migrationName.txt | 123 ++++++++++++++++++ source/reference/configuration.txt | 2 + source/reference/mongosync.txt | 2 + 13 files changed, 147 insertions(+), 79 deletions(-) create mode 100644 source/includes/abc-migration-intro.rst delete mode 100644 source/includes/migrationName-description.rst create mode 100644 source/includes/migrationName.rst delete mode 100644 source/includes/opts/migrationName.rst delete mode 100644 source/reference/beta-program/many-to-one.txt create mode 100644 source/reference/beta-program/migrationName.txt diff --git a/source/includes/abc-migration-intro.rst b/source/includes/abc-migration-intro.rst new file mode 100644 index 000000000..d9a51eb4e --- /dev/null +++ b/source/includes/abc-migration-intro.rst @@ -0,0 +1,4 @@ +Starting in {+c2c-beta-program-short+} 1.8, you can perform A->B->C migrations. +A->B->C migrations allow you to execute two consecutive migrations, where the +destination cluster of the first migration serves as a source cluster for the +second migration. diff --git a/source/includes/beta-feature.rst b/source/includes/beta-feature.rst index 57624ddd0..177d90ae5 100644 --- a/source/includes/beta-feature.rst +++ b/source/includes/beta-feature.rst @@ -1,4 +1,4 @@ .. important:: Cluster-to-Cluster Sync Beta Program - This feature is only available in ``mongosync-beta``. To learn more, see - :ref:`c2c-beta-program`. + This feature is only available in {+c2c-beta-program-short+}. To learn more, + see :ref:`c2c-beta-program`. diff --git a/source/includes/many-with-one-cluster.rst b/source/includes/many-with-one-cluster.rst index 0a7f2d88b..a95d6e706 100644 --- a/source/includes/many-with-one-cluster.rst +++ b/source/includes/many-with-one-cluster.rst @@ -1,3 +1,3 @@ -Starting in ``mongosync`` beta 1.8, you can sync multiple source +Starting in {+c2c-beta-program-short+} 1.8, you can sync multiple source clusters simultaneously with a destination cluster. For example, you can consolidate data from many small clusters into a central cluster. diff --git a/source/includes/migrationName-description.rst b/source/includes/migrationName-description.rst deleted file mode 100644 index cb518910e..000000000 --- a/source/includes/migrationName-description.rst +++ /dev/null @@ -1,4 +0,0 @@ -Starting in ``mongosync`` beta 1.8, you can set a migration name for a -sync operation. For example, you can set a migration name to identify -each sync operation from multiple source clusters into a destination -cluster. diff --git a/source/includes/migrationName.rst b/source/includes/migrationName.rst new file mode 100644 index 000000000..fbda22d0c --- /dev/null +++ b/source/includes/migrationName.rst @@ -0,0 +1,4 @@ +Starting in {+c2c-beta-program-short+} 1.8, you can specify a ``migrationName`` +for a sync operation. For example, you can set a migration name to identify each +sync operation from multiple source clusters into one destination +cluster. diff --git a/source/includes/opts/migrationName.rst b/source/includes/opts/migrationName.rst deleted file mode 100644 index 62040d382..000000000 --- a/source/includes/opts/migrationName.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. reference/configuration.txt -.. reference/mongosync.txt - -Starting in ``mongosync`` beta 1.8, sets a migration name for a sync -operation. For example, you can set a migration name to identify each -sync operation from multiple source clusters into one destination -cluster. - -The ``migrationName`` string can contain up to 44 alphanumeric -and underscore characters. ``migrationName`` is appended to the string -``"mongosync_internal_"`` to set the migration metadata database name. - -If you set ``migrationName`` to -``"cluster_27000_to_cluster_35000_sync"``, the resulting ``mongosync`` -metadata database name is -``"mongosync_internal_cluster_27000_to_cluster_35000_sync"``. - -For a complete example, see :ref:`c2c-quickstart-many-with-one`. diff --git a/source/quickstart.txt b/source/quickstart.txt index af6a40336..514a854b6 100644 --- a/source/quickstart.txt +++ b/source/quickstart.txt @@ -307,35 +307,3 @@ Synchronization Notes - To estimate the size of ``oplog`` needed for initial synchronization, see :ref:`c2c-oplog-sizing`. - -.. _c2c-quickstart-many-with-one: - -Sync Multiple Source Clusters Simultaneously with a Destination Cluster -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. include:: /includes/many-with-one-cluster.rst - -For limitations, see :ref:`c2c-limitations_multiple_sync`. - -The following examples connect source clusters running on port ``27000`` -and ``27001`` with a destination cluster running on port ``35000``. The -commands also set the optional :option:`--migrationName` string to -describe the operations. - -.. code-block:: shell - - ./bin/mongosync \ - --cluster0 "mongodb://localhost:27000" \ - --cluster1 "mongodb://localhost:35000" \ - --migrationName "cluster_27000_to_cluster_35000_sync" - - ./bin/mongosync \ - --cluster0 "mongodb://localhost:27001" \ - --cluster1 "mongodb://localhost:35000" \ - --migrationName "cluster_27001_to_cluster_35000_sync" - -.. include:: /includes/many-with-one-cluster.rst - -To start the sync operation between the source clusters and the -destination cluster, see the earlier section -:ref:`c2c-quickstart-synchronize`. diff --git a/source/reference/beta-program.txt b/source/reference/beta-program.txt index ce03ec4f9..4a3c014f1 100644 --- a/source/reference/beta-program.txt +++ b/source/reference/beta-program.txt @@ -70,17 +70,19 @@ Beta Features * - :ref:`c2c-beta-namespace-remapping` - # DESCRIPTION TBD - * - :ref:`c2c-beta-document-filtering` + * - Document Filtering - .. include:: /includes/document-filtering-intro.rst + To learn more, see :ref:`c2c-beta-document-filtering` + * - :ref:`c2c-beta-orr` - # DESCRIPTION TBD * - :ref:`c2c-beta-destination-data-handling` - .. include:: /includes/destinationDataHandling-introduction.rst - * - :ref:`c2c-beta-many-to-one` - - .. include:: /includes/many-with-one-cluster.rst + * - :ref:`c2c-beta-migration-name` + - .. include:: /includes/migrationName.rst .. toctree:: :titlesonly: @@ -89,4 +91,4 @@ Beta Features /reference/beta-program/document-filtering /reference/beta-program/orr /reference/beta-program/destinationDataHandling - /reference/beta-program/many-to-one + /reference/beta-program/migrationName diff --git a/source/reference/beta-program/document-filtering.txt b/source/reference/beta-program/document-filtering.txt index 4d85e5fe2..d4cf762ef 100644 --- a/source/reference/beta-program/document-filtering.txt +++ b/source/reference/beta-program/document-filtering.txt @@ -1,8 +1,8 @@ .. _c2c-beta-document-filtering: -================ -Filter Documents -================ +================== +Document Filtering +================== .. default-domain:: mongodb diff --git a/source/reference/beta-program/many-to-one.txt b/source/reference/beta-program/many-to-one.txt deleted file mode 100644 index c5bc91ef1..000000000 --- a/source/reference/beta-program/many-to-one.txt +++ /dev/null @@ -1,15 +0,0 @@ -.. _c2c-beta-many-to-one: - -================================================================ -Synchronize Data Between Multiple Source Clusters Simultaneously -================================================================ - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 2 - :class: singlecol - -.. include:: /includes/beta-feature.rst diff --git a/source/reference/beta-program/migrationName.txt b/source/reference/beta-program/migrationName.txt new file mode 100644 index 000000000..7675e6328 --- /dev/null +++ b/source/reference/beta-program/migrationName.txt @@ -0,0 +1,123 @@ +.. _c2c-beta-migration-name: + +============= +migrationName +============= + +.. default-domain:: mongodb + +.. contents:: On this page + :local: + :backlinks: none + :depth: 2 + :class: singlecol + +.. include:: /includes/beta-feature.rst + +.. include:: /includes/migrationName.rst + +Syntax +------ + +To set the ``migrationName`` from the command line, use the ``--migrationName`` +setting: + +.. code-block:: shell + + ./bin/mongosync \ + --cluster0 \ + --cluster1 \ + --migrationName + +To set the ``migrationName`` in a :ref:`configuration file `, +include the ``migrationName`` option: + +.. code-block:: yaml + + cluster0: + cluster1: + migrationName: + +Behavior +-------- + +The ``migrationName`` string can contain up to 44 alphanumeric and underscore +characters. ``migrationName`` is appended to the string +``"mongosync_internal_"`` to set the migration metadata database name. + +If you set ``migrationName`` to ``"cluster_27000_to_cluster_35000_sync"``, the resulting ``mongosync`` +metadata database name is +``"mongosync_internal_cluster_27000_to_cluster_35000_sync"``. + +Limitations +~~~~~~~~~~~ + +When you perform an A->B->C migration, if the first migration fails to finish +committing before the second migration starts, you might experience data loss. + +.. _c2c-beta-multiple-migration-examples: + +Examples +-------- + +.. _c2c-beta-abc-migration: + +A->B->C Migration +~~~~~~~~~~~~~~~~~ + +.. include:: /includes/abc-migration-intro.rst + +To perform an A->B->C migration, run the following commands when starting +``mongosync``: + +.. code-block:: shell + + ./bin/mongosync \ + --cluster0 \ + --cluster1 \ + --migrationName + + ./bin/mongosync \ + --cluster0 \ + --cluster1 \ + --migrationName + +.. warning:: + + If the first migration fails to finish committing before the second migration + starts, you might experience data loss. + +.. _c2c-beta-many-with-one: + +Sync Multiple Source Clusters Simultaneously with One Destination Cluster +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: /includes/many-with-one-cluster.rst + +For limitations, see :ref:`c2c-limitations_multiple_sync`. + +The following examples connect source clusters running on port ``27000`` +and ``27001`` with a destination cluster running on port ``35000``. The +commands also set the optional :option:`--migrationName` string to +describe the operations. + +.. code-block:: shell + + ./bin/mongosync \ + --cluster0 "mongodb://localhost:27000" \ + --cluster1 "mongodb://localhost:35000" \ + --migrationName "cluster_27000_to_cluster_35000_sync" + + ./bin/mongosync \ + --cluster0 "mongodb://localhost:27001" \ + --cluster1 "mongodb://localhost:35000" \ + --migrationName "cluster_27001_to_cluster_35000_sync" + +To start the sync operation between the source clusters and the +destination cluster, see :ref:`c2c-quickstart-synchronize`. + +Learn More +---------- + +- :ref:`c2c-beta-program` +- :ref:`c2c-beta-many-to-one` diff --git a/source/reference/configuration.txt b/source/reference/configuration.txt index a624e5b7c..44958610f 100644 --- a/source/reference/configuration.txt +++ b/source/reference/configuration.txt @@ -115,6 +115,8 @@ Options *Type*: string + .. include:: /includes/beta-feature.rst + .. include:: /includes/opts/migrationName.rst To set the ``migrationName`` setting from the command line, see the diff --git a/source/reference/mongosync.txt b/source/reference/mongosync.txt index 0cdb35a6e..c99f795cf 100644 --- a/source/reference/mongosync.txt +++ b/source/reference/mongosync.txt @@ -122,6 +122,8 @@ Global Options .. option:: --migrationName + .. include:: /includes/beta-feature.rst + .. include:: /includes/opts/migrationName.rst To set the ``--migrationName`` option from a configuration file, From da10982a4dd9441f34cc6f0c099364ab7bdccd2f Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Fri, 21 Jun 2024 14:58:10 -0400 Subject: [PATCH 02/14] more edits + use cases --- source/includes/abc-migration-intro.rst | 4 +- source/reference/beta-program.txt | 13 ++++- .../{migrationName.txt => migration-name.txt} | 47 +++++++++++++------ source/reference/limitations.txt | 32 ------------- 4 files changed, 47 insertions(+), 49 deletions(-) rename source/reference/beta-program/{migrationName.txt => migration-name.txt} (63%) diff --git a/source/includes/abc-migration-intro.rst b/source/includes/abc-migration-intro.rst index d9a51eb4e..8a751e74d 100644 --- a/source/includes/abc-migration-intro.rst +++ b/source/includes/abc-migration-intro.rst @@ -1,4 +1,4 @@ Starting in {+c2c-beta-program-short+} 1.8, you can perform A->B->C migrations. -A->B->C migrations allow you to execute two consecutive migrations, where the -destination cluster of the first migration serves as a source cluster for the +A->B->C migrations allow you to perform two consecutive migrations, where the +destination cluster of the first migration acts as the source cluster for the second migration. diff --git a/source/reference/beta-program.txt b/source/reference/beta-program.txt index 4a3c014f1..cb2815ef5 100644 --- a/source/reference/beta-program.txt +++ b/source/reference/beta-program.txt @@ -54,6 +54,17 @@ following disclaimer: - `Cloud Subscription Agreement `_ - `Cloud Terms of Service `_ +Use Cases +--------- + +For example, you can use beta features to: + +- :ref:`Sync multiple source clusters simultaneously with one destination + cluster `. + +- :ref:`Use the Destination Cluster as the Source Cluster for a Second Sync + Operation `. + Beta Features ------------- @@ -91,4 +102,4 @@ Beta Features /reference/beta-program/document-filtering /reference/beta-program/orr /reference/beta-program/destinationDataHandling - /reference/beta-program/migrationName + /reference/beta-program/migration-name diff --git a/source/reference/beta-program/migrationName.txt b/source/reference/beta-program/migration-name.txt similarity index 63% rename from source/reference/beta-program/migrationName.txt rename to source/reference/beta-program/migration-name.txt index 7675e6328..5a73a0053 100644 --- a/source/reference/beta-program/migrationName.txt +++ b/source/reference/beta-program/migration-name.txt @@ -45,15 +45,9 @@ The ``migrationName`` string can contain up to 44 alphanumeric and underscore characters. ``migrationName`` is appended to the string ``"mongosync_internal_"`` to set the migration metadata database name. -If you set ``migrationName`` to ``"cluster_27000_to_cluster_35000_sync"``, the resulting ``mongosync`` -metadata database name is -``"mongosync_internal_cluster_27000_to_cluster_35000_sync"``. - -Limitations -~~~~~~~~~~~ - -When you perform an A->B->C migration, if the first migration fails to finish -committing before the second migration starts, you might experience data loss. +For example, if you set ``migrationName`` to +``"cluster_27000_to_cluster_35000_sync"``, the resulting ``mongosync`` metadata +database name is ``"mongosync_internal_cluster_27000_to_cluster_35000_sync"``. .. _c2c-beta-multiple-migration-examples: @@ -62,8 +56,8 @@ Examples .. _c2c-beta-abc-migration: -A->B->C Migration -~~~~~~~~~~~~~~~~~ +Use the Destination Cluster as the Source Cluster for a Second Sync Operation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: /includes/abc-migration-intro.rst @@ -94,11 +88,9 @@ Sync Multiple Source Clusters Simultaneously with One Destination Cluster .. include:: /includes/many-with-one-cluster.rst -For limitations, see :ref:`c2c-limitations_multiple_sync`. - The following examples connect source clusters running on port ``27000`` and ``27001`` with a destination cluster running on port ``35000``. The -commands also set the optional :option:`--migrationName` string to +commands also set the optional ``--migrationName`` string to describe the operations. .. code-block:: shell @@ -116,6 +108,33 @@ describe the operations. To start the sync operation between the source clusters and the destination cluster, see :ref:`c2c-quickstart-synchronize`. +.. warning:: + + A namespace is a ``database_name.collection_name`` combination. You can only + sync namespaces that don't conflict. + + For example, consider this scenario: + + - Two source clusters S1 and S2. + - A destination cluster D. + - Databases named ``inventory`` and ``sales`` on both S1 and S2. + - Collections named ``products``, ``orderLines``, ``orderStatus``, and + ``orders`` on both S1 and S2. + - You can sync both of these combinations: + + - ``inventory.products`` and ``sales.orderStatus`` on S1 with D. + - ``inventory.orderLines`` and ``sales.orders`` on S2 with D. + + - You cannot sync both of these combinations because they conflict: + + - ``inventory.products`` and ``inventory.orderLines`` on S1 with D. If D + is initially empty, you can sync S1 with D. ``inventory.products`` and + ``inventory.orderLines`` are copied from S1 to D. + - ``inventory.products`` and ``inventory.orderLines`` on S2 with D. + You cannot sync S2 with D because ``inventory.products`` and + ``inventory.orderLines`` conflict with the namespaces already on D + from the scenario in the previous point. + Learn More ---------- diff --git a/source/reference/limitations.txt b/source/reference/limitations.txt index c91f681e3..4be1bc201 100644 --- a/source/reference/limitations.txt +++ b/source/reference/limitations.txt @@ -55,38 +55,6 @@ General Limitations - ``mongosync`` must read from the source cluster using the :readmode:`primary` read preference. -.. _c2c-limitations_multiple_sync: - -Multiple Source Sync Limitations --------------------------------- - -.. include:: /includes/many-with-one-cluster.rst - -A namespace is a ``database_name.collection_name`` combination. You can -only sync namespaces that don't conflict. - -For example, consider this scenario: - -- Two source clusters S1 and S2. -- A destination cluster D. -- Databases named ``inventory`` and ``sales`` on both S1 and S2. -- Collections named ``products``, ``orderLines``, ``orderStatus``, and - ``orders`` on both S1 and S2. -- You can sync both of these combinations: - - - ``inventory.products`` and ``sales.orderStatus`` on S1 with D. - - ``inventory.orderLines`` and ``sales.orders`` on S2 with D. - -- You cannot sync both of these combinations because they conflict: - - - ``inventory.products`` and ``inventory.orderLines`` on S1 with D. If - D is initially empty, you can sync S1 with D. ``inventory.products`` - and ``inventory.orderLines`` are copied from S1 to D. - - ``inventory.products`` and ``inventory.orderLines`` on S2 with D. - You cannot sync S2 with D because ``inventory.products`` and - ``inventory.orderLines`` conflict with the namespaces already on D - from the scenario in the previous point. - MongoDB Community Edition ------------------------- From f03bd3802965524564ce9ea651ff34b070b1c3b6 Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Fri, 21 Jun 2024 15:03:17 -0400 Subject: [PATCH 03/14] release notes --- source/release-notes/1.8.txt | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/source/release-notes/1.8.txt b/source/release-notes/1.8.txt index cf68f3c71..a57613182 100644 --- a/source/release-notes/1.8.txt +++ b/source/release-notes/1.8.txt @@ -42,20 +42,27 @@ Handle Destination Data with destinationDataHandling Option For details, see :ref:`c2c-beta-destination-data-handling`. +Set a Migration Name +```````````````````` + +.. include:: /includes/migrationName-description.rst + +To learn more, see :ref:`c2c-beta-migration-name`. + Synchronize Data Between Multiple Source Clusters Simultaneously ```````````````````````````````````````````````````````````````` .. include:: /includes/many-with-one-cluster.rst -Set a Migration Name -```````````````````` +To view an example, see :ref:`c2c-beta-many-with-one`. -.. include:: /includes/migrationName-description.rst +Use a Destination Cluster as a Source Cluster +````````````````````````````````````````````` + +.. include:: /includes/abc-migration-intro.rst -To set a migration name, see: +To view an example, see :ref:`c2c-beta-abc-migration`. -- :setting:`migrationName` configuration file setting -- :option:`--migrationName` command line option Other Notes ~~~~~~~~~~~ From d6070160b71bfdcecba3a090e49ca666fc29f012 Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Mon, 24 Jun 2024 10:04:49 -0400 Subject: [PATCH 04/14] move content to own reference pages --- source/reference/beta-program.txt | 19 ++-- .../reference/beta-program/abc-migration.txt | 80 +++++++++++++++++ .../reference/beta-program/many-with-one.txt | 90 +++++++++++++++++++ .../reference/beta-program/migration-name.txt | 82 +---------------- source/reference/configuration.txt | 11 --- source/reference/mongosync.txt | 9 -- source/release-notes/1.8.txt | 6 +- 7 files changed, 184 insertions(+), 113 deletions(-) create mode 100644 source/reference/beta-program/abc-migration.txt create mode 100644 source/reference/beta-program/many-with-one.txt diff --git a/source/reference/beta-program.txt b/source/reference/beta-program.txt index cb2815ef5..50438e4b8 100644 --- a/source/reference/beta-program.txt +++ b/source/reference/beta-program.txt @@ -54,17 +54,6 @@ following disclaimer: - `Cloud Subscription Agreement `_ - `Cloud Terms of Service `_ -Use Cases ---------- - -For example, you can use beta features to: - -- :ref:`Sync multiple source clusters simultaneously with one destination - cluster `. - -- :ref:`Use the Destination Cluster as the Source Cluster for a Second Sync - Operation `. - Beta Features ------------- @@ -78,6 +67,9 @@ Beta Features * - Feature - Description + * - :ref:`c2c-beta-abc-migration` + - .. include:: /includes/abc-migration-intro.rst + * - :ref:`c2c-beta-namespace-remapping` - # DESCRIPTION TBD @@ -95,11 +87,16 @@ Beta Features * - :ref:`c2c-beta-migration-name` - .. include:: /includes/migrationName.rst + * - :ref:`c2c-beta-many-with-one` + - .. include:: /includes/many-with-one-cluster.rst + .. toctree:: :titlesonly: + /reference/beta-program/abc-migration /reference/beta-program/namespace-remapping /reference/beta-program/document-filtering /reference/beta-program/orr /reference/beta-program/destinationDataHandling /reference/beta-program/migration-name + /reference/beta-program/many-with-one diff --git a/source/reference/beta-program/abc-migration.txt b/source/reference/beta-program/abc-migration.txt new file mode 100644 index 000000000..90bcccc84 --- /dev/null +++ b/source/reference/beta-program/abc-migration.txt @@ -0,0 +1,80 @@ +.. _c2c-beta-abc-migration: + +================== +A->B->C Migrations +================== + +.. default-domain:: mongodb + +.. contents:: On this page + :local: + :backlinks: none + :depth: 2 + :class: singlecol + +.. include:: /includes/beta-feature.rst + +.. include:: /includes/abc-migration-intro.rst + +Syntax +------ + +To perform an A->B->C migration, run the following commands when starting +:ref:`mongosync `: + +.. code-block:: shell + + ./bin/mongosync \ + --cluster0 \ + --cluster1 \ + --migrationName + + ./bin/mongosync \ + --cluster0 \ + --cluster1 \ + --migrationName + +To start the sync operation between the source and destination clusters, see +:ref:`c2c-quickstart-synchronize`. + +Behavior +-------- + +If the first migration fails to finish committing before the second migration +starts, you might experience data loss. + +Example +------- + +The following example performs two consecutive migrations that: + +#. Connects a source cluster running on port ``27000`` with a destination +cluster running on port ``27001``. + +#. Uses the destination cluster running on port ``27001`` as a source cluster + for the second migration. + +#. Connects the source cluster on port ``27001`` with a destination cluster + running on port ``27002``. + +The commands also sets the :ref:`--migrationName ` +option to describe the operations and store migration metadata for each +sync. + +.. code-block:: shell + + ./bin/mongosync \ + --cluster0 "mongodb://localhost:27000" \ + --cluster1 "mongodb://localhost:27001" \ + --migrationName "cluster_27000_to_cluster_27001_sync" + + ./bin/mongosync \ + --cluster0 "mongodb://localhost:27001" \ + --cluster1 "mongodb://localhost:27002" \ + --migrationName "cluster_27001_to_cluster_27002_sync" + +Learn More +---------- + +- :ref:`c2c-beta-program` +- :ref:`c2c-beta-migration-name` diff --git a/source/reference/beta-program/many-with-one.txt b/source/reference/beta-program/many-with-one.txt new file mode 100644 index 000000000..0a4b88e03 --- /dev/null +++ b/source/reference/beta-program/many-with-one.txt @@ -0,0 +1,90 @@ +.. _c2c-beta-many-with-one: + +========================================================================= +Sync Multiple Source Clusters Simultaneously with One Destination Cluster +========================================================================= + +.. default-domain:: mongodb + +.. contents:: On this page + :local: + :backlinks: none + :depth: 2 + :class: singlecol + +.. include:: /includes/beta-feature.rst + +.. include:: /includes/many-with-one-cluster.rst + +Syntax +------ + +To sync multiple source clusters with one destination cluster, run the following +commands when starting :ref:`mongosync `: + +.. code-block:: shell + + ./bin/mongosync \ + --cluster0 \ + --cluster1 \ + --migrationName + + ./bin/mongosync \ + --cluster0 \ + --cluster1 \ + --migrationName + +To start the sync operation between the source clusters and the +destination cluster, see :ref:`c2c-quickstart-synchronize`. + +Behavior +-------- + +A namespace is a ``database_name.collection_name`` combination. You can only +sync namespaces that don't conflict. + +For example, consider this scenario: + +- Two source clusters S1 and S2. +- A destination cluster D. +- Databases named ``inventory`` and ``sales`` on both S1 and S2. +- Collections named ``products``, ``orderLines``, ``orderStatus``, and + ``orders`` on both S1 and S2. +- You can sync both of these combinations: + - ``inventory.products`` and ``sales.orderStatus`` on S1 with D. + - ``inventory.orderLines`` and ``sales.orders`` on S2 with D. + +- You cannot sync both of these combinations because they conflict: + - ``inventory.products`` and ``inventory.orderLines`` on S1 with D. If D is + initially empty, you can sync S1 with D. ``inventory.products`` and + ``inventory.orderLines`` are copied from S1 to D. + - ``inventory.products`` and ``inventory.orderLines`` on S2 with D. You cannot + sync S2 with D because ``inventory.products`` and ``inventory.orderLines`` + conflict with the namespaces already on D from the scenario in the previous + point. + +Example +------- + +The following example connects source clusters running on port ``27000`` +and ``27001`` with a destination cluster running on port ``35000``. The commands +also sets the :ref:`--migrationName ` option to +describe the operations and store migration metadata for each sync. + +.. code-block:: shell + + ./bin/mongosync \ + --cluster0 "mongodb://localhost:27000" \ + --cluster1 "mongodb://localhost:35000" \ + --migrationName "cluster_27000_to_cluster_35000_sync" + + ./bin/mongosync \ + --cluster0 "mongodb://localhost:27001" \ + --cluster1 "mongodb://localhost:35000" \ + --migrationName "cluster_27001_to_cluster_35000_sync" + +Learn More +---------- + +- :ref:`c2c-beta-program` +- :ref:`c2c-beta-migration-name` diff --git a/source/reference/beta-program/migration-name.txt b/source/reference/beta-program/migration-name.txt index 5a73a0053..eda394692 100644 --- a/source/reference/beta-program/migration-name.txt +++ b/source/reference/beta-program/migration-name.txt @@ -54,86 +54,10 @@ database name is ``"mongosync_internal_cluster_27000_to_cluster_35000_sync"``. Examples -------- -.. _c2c-beta-abc-migration: +To view examples that use ``migrationName``, see: -Use the Destination Cluster as the Source Cluster for a Second Sync Operation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. include:: /includes/abc-migration-intro.rst - -To perform an A->B->C migration, run the following commands when starting -``mongosync``: - -.. code-block:: shell - - ./bin/mongosync \ - --cluster0 \ - --cluster1 \ - --migrationName - - ./bin/mongosync \ - --cluster0 \ - --cluster1 \ - --migrationName - -.. warning:: - - If the first migration fails to finish committing before the second migration - starts, you might experience data loss. - -.. _c2c-beta-many-with-one: - -Sync Multiple Source Clusters Simultaneously with One Destination Cluster -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. include:: /includes/many-with-one-cluster.rst - -The following examples connect source clusters running on port ``27000`` -and ``27001`` with a destination cluster running on port ``35000``. The -commands also set the optional ``--migrationName`` string to -describe the operations. - -.. code-block:: shell - - ./bin/mongosync \ - --cluster0 "mongodb://localhost:27000" \ - --cluster1 "mongodb://localhost:35000" \ - --migrationName "cluster_27000_to_cluster_35000_sync" - - ./bin/mongosync \ - --cluster0 "mongodb://localhost:27001" \ - --cluster1 "mongodb://localhost:35000" \ - --migrationName "cluster_27001_to_cluster_35000_sync" - -To start the sync operation between the source clusters and the -destination cluster, see :ref:`c2c-quickstart-synchronize`. - -.. warning:: - - A namespace is a ``database_name.collection_name`` combination. You can only - sync namespaces that don't conflict. - - For example, consider this scenario: - - - Two source clusters S1 and S2. - - A destination cluster D. - - Databases named ``inventory`` and ``sales`` on both S1 and S2. - - Collections named ``products``, ``orderLines``, ``orderStatus``, and - ``orders`` on both S1 and S2. - - You can sync both of these combinations: - - - ``inventory.products`` and ``sales.orderStatus`` on S1 with D. - - ``inventory.orderLines`` and ``sales.orders`` on S2 with D. - - - You cannot sync both of these combinations because they conflict: - - - ``inventory.products`` and ``inventory.orderLines`` on S1 with D. If D - is initially empty, you can sync S1 with D. ``inventory.products`` and - ``inventory.orderLines`` are copied from S1 to D. - - ``inventory.products`` and ``inventory.orderLines`` on S2 with D. - You cannot sync S2 with D because ``inventory.products`` and - ``inventory.orderLines`` conflict with the namespaces already on D - from the scenario in the previous point. +- :ref:`c2c-beta-abc-migration` +- :ref:`c2c-beta-many-with-one` Learn More ---------- diff --git a/source/reference/configuration.txt b/source/reference/configuration.txt index 44958610f..d3b8dd988 100644 --- a/source/reference/configuration.txt +++ b/source/reference/configuration.txt @@ -111,17 +111,6 @@ Options To set the ``logPath`` setting from the command line, see the :option:`--logPath` option. -.. setting:: migrationName - - *Type*: string - - .. include:: /includes/beta-feature.rst - - .. include:: /includes/opts/migrationName.rst - - To set the ``migrationName`` setting from the command line, see the - :option:`--migrationName` option. - .. setting:: port *Type*: integer diff --git a/source/reference/mongosync.txt b/source/reference/mongosync.txt index c99f795cf..cb263e4db 100644 --- a/source/reference/mongosync.txt +++ b/source/reference/mongosync.txt @@ -119,15 +119,6 @@ Global Options .. note:: .. include:: /includes/fact-log-rotation-usr1-signal - -.. option:: --migrationName - - .. include:: /includes/beta-feature.rst - - .. include:: /includes/opts/migrationName.rst - - To set the ``--migrationName`` option from a configuration file, - see the :setting:`migrationName` setting. .. option:: --port diff --git a/source/release-notes/1.8.txt b/source/release-notes/1.8.txt index a57613182..b73f4ca91 100644 --- a/source/release-notes/1.8.txt +++ b/source/release-notes/1.8.txt @@ -45,7 +45,7 @@ For details, see :ref:`c2c-beta-destination-data-handling`. Set a Migration Name ```````````````````` -.. include:: /includes/migrationName-description.rst +.. include:: /includes/migrationName.rst To learn more, see :ref:`c2c-beta-migration-name`. @@ -54,14 +54,14 @@ Synchronize Data Between Multiple Source Clusters Simultaneously .. include:: /includes/many-with-one-cluster.rst -To view an example, see :ref:`c2c-beta-many-with-one`. +To learn more, see :ref:`c2c-beta-many-with-one`. Use a Destination Cluster as a Source Cluster ````````````````````````````````````````````` .. include:: /includes/abc-migration-intro.rst -To view an example, see :ref:`c2c-beta-abc-migration`. +To learn more, see :ref:`c2c-beta-abc-migration`. Other Notes From 93f29fc62413100594aaa54dd042211be6357fb8 Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Mon, 24 Jun 2024 10:22:32 -0400 Subject: [PATCH 05/14] build errors --- source/reference/beta-program/many-with-one.txt | 4 +++- source/reference/beta-program/migration-name.txt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/source/reference/beta-program/many-with-one.txt b/source/reference/beta-program/many-with-one.txt index 0a4b88e03..b35ec244e 100644 --- a/source/reference/beta-program/many-with-one.txt +++ b/source/reference/beta-program/many-with-one.txt @@ -51,10 +51,12 @@ For example, consider this scenario: - Collections named ``products``, ``orderLines``, ``orderStatus``, and ``orders`` on both S1 and S2. - You can sync both of these combinations: + - ``inventory.products`` and ``sales.orderStatus`` on S1 with D. - ``inventory.orderLines`` and ``sales.orders`` on S2 with D. - + - You cannot sync both of these combinations because they conflict: + - ``inventory.products`` and ``inventory.orderLines`` on S1 with D. If D is initially empty, you can sync S1 with D. ``inventory.products`` and ``inventory.orderLines`` are copied from S1 to D. diff --git a/source/reference/beta-program/migration-name.txt b/source/reference/beta-program/migration-name.txt index eda394692..919f47c6b 100644 --- a/source/reference/beta-program/migration-name.txt +++ b/source/reference/beta-program/migration-name.txt @@ -63,4 +63,4 @@ Learn More ---------- - :ref:`c2c-beta-program` -- :ref:`c2c-beta-many-to-one` +- :ref:`c2c-beta-many-with-one` From b11078efb5dedaa3b6ffcda19e7fd8cd2308cecc Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Mon, 24 Jun 2024 10:26:30 -0400 Subject: [PATCH 06/14] nits --- source/reference/beta-program.txt | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/source/reference/beta-program.txt b/source/reference/beta-program.txt index 50438e4b8..3cb2fdb8a 100644 --- a/source/reference/beta-program.txt +++ b/source/reference/beta-program.txt @@ -70,14 +70,9 @@ Beta Features * - :ref:`c2c-beta-abc-migration` - .. include:: /includes/abc-migration-intro.rst - * - :ref:`c2c-beta-namespace-remapping` - - # DESCRIPTION TBD - - * - Document Filtering + * - :ref:`c2c-beta-document-filtering` - .. include:: /includes/document-filtering-intro.rst - To learn more, see :ref:`c2c-beta-document-filtering` - * - :ref:`c2c-beta-orr` - # DESCRIPTION TBD @@ -87,6 +82,9 @@ Beta Features * - :ref:`c2c-beta-migration-name` - .. include:: /includes/migrationName.rst + * - :ref:`c2c-beta-namespace-remapping` + - # DESCRIPTION TBD + * - :ref:`c2c-beta-many-with-one` - .. include:: /includes/many-with-one-cluster.rst From 7c5b69119f536cebe73621ec0b8a843cd3ce698e Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Mon, 24 Jun 2024 10:30:34 -0400 Subject: [PATCH 07/14] rename "many with one" to "many to one" --- .../{many-with-one-cluster.rst => many-to-one-cluster.rst} | 0 source/reference/beta-program.txt | 6 +++--- .../beta-program/{many-with-one.txt => many-to-one.txt} | 4 ++-- source/reference/beta-program/migration-name.txt | 3 +-- source/release-notes/1.8.txt | 4 ++-- 5 files changed, 8 insertions(+), 9 deletions(-) rename source/includes/{many-with-one-cluster.rst => many-to-one-cluster.rst} (100%) rename source/reference/beta-program/{many-with-one.txt => many-to-one.txt} (97%) diff --git a/source/includes/many-with-one-cluster.rst b/source/includes/many-to-one-cluster.rst similarity index 100% rename from source/includes/many-with-one-cluster.rst rename to source/includes/many-to-one-cluster.rst diff --git a/source/reference/beta-program.txt b/source/reference/beta-program.txt index 3cb2fdb8a..5b1cde781 100644 --- a/source/reference/beta-program.txt +++ b/source/reference/beta-program.txt @@ -85,8 +85,8 @@ Beta Features * - :ref:`c2c-beta-namespace-remapping` - # DESCRIPTION TBD - * - :ref:`c2c-beta-many-with-one` - - .. include:: /includes/many-with-one-cluster.rst + * - :ref:`c2c-beta-many-to-one` + - .. include:: /includes/many-to-one-cluster.rst .. toctree:: :titlesonly: @@ -97,4 +97,4 @@ Beta Features /reference/beta-program/orr /reference/beta-program/destinationDataHandling /reference/beta-program/migration-name - /reference/beta-program/many-with-one + /reference/beta-program/many-to-one diff --git a/source/reference/beta-program/many-with-one.txt b/source/reference/beta-program/many-to-one.txt similarity index 97% rename from source/reference/beta-program/many-with-one.txt rename to source/reference/beta-program/many-to-one.txt index b35ec244e..04a3b9c2a 100644 --- a/source/reference/beta-program/many-with-one.txt +++ b/source/reference/beta-program/many-to-one.txt @@ -1,4 +1,4 @@ -.. _c2c-beta-many-with-one: +.. _c2c-beta-many-to-one: ========================================================================= Sync Multiple Source Clusters Simultaneously with One Destination Cluster @@ -14,7 +14,7 @@ Sync Multiple Source Clusters Simultaneously with One Destination Cluster .. include:: /includes/beta-feature.rst -.. include:: /includes/many-with-one-cluster.rst +.. include:: /includes/many-to-one-cluster.rst Syntax ------ diff --git a/source/reference/beta-program/migration-name.txt b/source/reference/beta-program/migration-name.txt index 919f47c6b..21ea397ac 100644 --- a/source/reference/beta-program/migration-name.txt +++ b/source/reference/beta-program/migration-name.txt @@ -57,10 +57,9 @@ Examples To view examples that use ``migrationName``, see: - :ref:`c2c-beta-abc-migration` -- :ref:`c2c-beta-many-with-one` +- :ref:`c2c-beta-many-to-one` Learn More ---------- - :ref:`c2c-beta-program` -- :ref:`c2c-beta-many-with-one` diff --git a/source/release-notes/1.8.txt b/source/release-notes/1.8.txt index b73f4ca91..38aea6b40 100644 --- a/source/release-notes/1.8.txt +++ b/source/release-notes/1.8.txt @@ -52,9 +52,9 @@ To learn more, see :ref:`c2c-beta-migration-name`. Synchronize Data Between Multiple Source Clusters Simultaneously ```````````````````````````````````````````````````````````````` -.. include:: /includes/many-with-one-cluster.rst +.. include:: /includes/many-to-one-cluster.rst -To learn more, see :ref:`c2c-beta-many-with-one`. +To learn more, see :ref:`c2c-beta-many-to-one`. Use a Destination Cluster as a Source Cluster ````````````````````````````````````````````` From 3125fc4a316192e7488aae0802eee824e312ee39 Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Mon, 24 Jun 2024 10:40:40 -0400 Subject: [PATCH 08/14] rebase --- source/release-notes/1.8.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/release-notes/1.8.txt b/source/release-notes/1.8.txt index 38aea6b40..40e6c4360 100644 --- a/source/release-notes/1.8.txt +++ b/source/release-notes/1.8.txt @@ -28,6 +28,13 @@ Release Notes for mongosync 1.8 To learn more, see :ref:`c2c-beta-program`. +A->B->C Migrations +`````````````````` + +.. include:: /includes/abc-migration-intro.rst + +To learn more, see :ref:`c2c-beta-abc-migration`. + Document Filtering in mongosync ``````````````````````````````` @@ -56,13 +63,6 @@ Synchronize Data Between Multiple Source Clusters Simultaneously To learn more, see :ref:`c2c-beta-many-to-one`. -Use a Destination Cluster as a Source Cluster -````````````````````````````````````````````` - -.. include:: /includes/abc-migration-intro.rst - -To learn more, see :ref:`c2c-beta-abc-migration`. - Other Notes ~~~~~~~~~~~ From cac78c7a0259bf268a5ffd4813c05c21c8ce50b4 Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Mon, 24 Jun 2024 10:45:36 -0400 Subject: [PATCH 09/14] fix title names --- source/release-notes/1.8.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/release-notes/1.8.txt b/source/release-notes/1.8.txt index 40e6c4360..a0b2a1e5c 100644 --- a/source/release-notes/1.8.txt +++ b/source/release-notes/1.8.txt @@ -43,7 +43,7 @@ Document Filtering in mongosync To learn more, see :ref:`c2c-beta-document-filtering`. Handle Destination Data with destinationDataHandling Option -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +``````````````````````````````````````````````````````````` .. include:: /includes/destinationDataHandling-introduction.rst @@ -56,14 +56,13 @@ Set a Migration Name To learn more, see :ref:`c2c-beta-migration-name`. -Synchronize Data Between Multiple Source Clusters Simultaneously +Sync Multiple Source Clusters Simultaneously with One Destination Cluster ```````````````````````````````````````````````````````````````` .. include:: /includes/many-to-one-cluster.rst To learn more, see :ref:`c2c-beta-many-to-one`. - Other Notes ~~~~~~~~~~~ From b43b111c9e9bf795ecdf43013823f78fa615cc5c Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Mon, 24 Jun 2024 10:51:48 -0400 Subject: [PATCH 10/14] build error --- source/release-notes/1.8.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/release-notes/1.8.txt b/source/release-notes/1.8.txt index a0b2a1e5c..81d4dd5b9 100644 --- a/source/release-notes/1.8.txt +++ b/source/release-notes/1.8.txt @@ -57,7 +57,7 @@ Set a Migration Name To learn more, see :ref:`c2c-beta-migration-name`. Sync Multiple Source Clusters Simultaneously with One Destination Cluster -```````````````````````````````````````````````````````````````` +````````````````````````````````````````````````````````````````````````` .. include:: /includes/many-to-one-cluster.rst From c5c25599db11466df7b83e863e9aac18def1646f Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Mon, 24 Jun 2024 10:59:52 -0400 Subject: [PATCH 11/14] staging issue --- source/reference/beta-program/abc-migration.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/reference/beta-program/abc-migration.txt b/source/reference/beta-program/abc-migration.txt index 90bcccc84..1ab93d109 100644 --- a/source/reference/beta-program/abc-migration.txt +++ b/source/reference/beta-program/abc-migration.txt @@ -49,7 +49,7 @@ Example The following example performs two consecutive migrations that: #. Connects a source cluster running on port ``27000`` with a destination -cluster running on port ``27001``. + cluster running on port ``27001``. #. Uses the destination cluster running on port ``27001`` as a source cluster for the second migration. From 287808f511d8c46b5f7d14d953c21ebceefbcd69 Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Mon, 24 Jun 2024 15:42:42 -0400 Subject: [PATCH 12/14] SO feedback --- source/includes/many-to-one-cluster.rst | 3 ++- source/includes/migrationName.rst | 7 ++++--- source/reference/beta-program/abc-migration.txt | 15 ++++++++------- source/reference/beta-program/many-to-one.txt | 8 ++++---- source/reference/beta-program/migration-name.txt | 4 ++-- source/release-notes/1.8.txt | 4 ++-- 6 files changed, 22 insertions(+), 19 deletions(-) diff --git a/source/includes/many-to-one-cluster.rst b/source/includes/many-to-one-cluster.rst index a95d6e706..7a1406592 100644 --- a/source/includes/many-to-one-cluster.rst +++ b/source/includes/many-to-one-cluster.rst @@ -1,3 +1,4 @@ -Starting in {+c2c-beta-program-short+} 1.8, you can sync multiple source +Starting in {+c2c-beta-program-short+} 1.8, you can perform Many-to-One +migrations. Many-to-One migrations allow you to sync multiple source clusters simultaneously with a destination cluster. For example, you can consolidate data from many small clusters into a central cluster. diff --git a/source/includes/migrationName.rst b/source/includes/migrationName.rst index fbda22d0c..5d0f43071 100644 --- a/source/includes/migrationName.rst +++ b/source/includes/migrationName.rst @@ -1,4 +1,5 @@ Starting in {+c2c-beta-program-short+} 1.8, you can specify a ``migrationName`` -for a sync operation. For example, you can set a migration name to identify each -sync operation from multiple source clusters into one destination -cluster. +to describe a sync operation. For example, you can set ``migrationName`` to +distinguish and identify different sync operations when working with +:ref:`Many-to-One ` or :ref:`A->B->C +` migrations. diff --git a/source/reference/beta-program/abc-migration.txt b/source/reference/beta-program/abc-migration.txt index 1ab93d109..96d9471e0 100644 --- a/source/reference/beta-program/abc-migration.txt +++ b/source/reference/beta-program/abc-migration.txt @@ -40,25 +40,26 @@ To start the sync operation between the source and destination clusters, see Behavior -------- -If the first migration fails to finish committing before the second migration -starts, you might experience data loss. +If the first migration (A->B) fails to finish :ref:`committing ` +before the second migration (B->C) starts committing, you might experience data +loss. Example ------- The following example performs two consecutive migrations that: -#. Connects a source cluster running on port ``27000`` with a destination +#. Connect a source cluster running on port ``27000`` with a destination cluster running on port ``27001``. -#. Uses the destination cluster running on port ``27001`` as a source cluster +#. Use the destination cluster running on port ``27001`` as a source cluster for the second migration. -#. Connects the source cluster on port ``27001`` with a destination cluster +#. Connect the source cluster on port ``27001`` with a destination cluster running on port ``27002``. -The commands also sets the :ref:`--migrationName ` -option to describe the operations and store migration metadata for each +The command also sets :ref:`--migrationName ` +to describe the operations and store migration metadata for each sync. .. code-block:: shell diff --git a/source/reference/beta-program/many-to-one.txt b/source/reference/beta-program/many-to-one.txt index 04a3b9c2a..abf3a4338 100644 --- a/source/reference/beta-program/many-to-one.txt +++ b/source/reference/beta-program/many-to-one.txt @@ -1,8 +1,8 @@ .. _c2c-beta-many-to-one: -========================================================================= -Sync Multiple Source Clusters Simultaneously with One Destination Cluster -========================================================================= +====================== +Many-to-One Migrations +====================== .. default-domain:: mongodb @@ -69,7 +69,7 @@ Example ------- The following example connects source clusters running on port ``27000`` -and ``27001`` with a destination cluster running on port ``35000``. The commands +and ``27001`` with a destination cluster running on port ``35000``. The command also sets the :ref:`--migrationName ` option to describe the operations and store migration metadata for each sync. diff --git a/source/reference/beta-program/migration-name.txt b/source/reference/beta-program/migration-name.txt index 21ea397ac..d6354fd87 100644 --- a/source/reference/beta-program/migration-name.txt +++ b/source/reference/beta-program/migration-name.txt @@ -19,7 +19,7 @@ migrationName Syntax ------ -To set the ``migrationName`` from the command line, use the ``--migrationName`` +To set ``migrationName`` from the command line, use the ``--migrationName`` setting: .. code-block:: shell @@ -29,7 +29,7 @@ setting: --cluster1 \ --migrationName -To set the ``migrationName`` in a :ref:`configuration file `, +To set ``migrationName`` in a :ref:`configuration file `, include the ``migrationName`` option: .. code-block:: yaml diff --git a/source/release-notes/1.8.txt b/source/release-notes/1.8.txt index 81d4dd5b9..e85229f8f 100644 --- a/source/release-notes/1.8.txt +++ b/source/release-notes/1.8.txt @@ -56,8 +56,8 @@ Set a Migration Name To learn more, see :ref:`c2c-beta-migration-name`. -Sync Multiple Source Clusters Simultaneously with One Destination Cluster -````````````````````````````````````````````````````````````````````````` +Many-to-One Migrations +`````````````````````` .. include:: /includes/many-to-one-cluster.rst From 8d2f2de05002a00c910bac501d1dc888abd186c1 Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Wed, 26 Jun 2024 09:35:19 -0700 Subject: [PATCH 13/14] data loss warning --- source/reference/beta-program.txt | 2 ++ source/reference/beta-program/abc-migration.txt | 14 +++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/source/reference/beta-program.txt b/source/reference/beta-program.txt index 5b1cde781..fcd01c95f 100644 --- a/source/reference/beta-program.txt +++ b/source/reference/beta-program.txt @@ -17,6 +17,8 @@ Each ``mongosync`` release has a corresponding {+c2c-beta-program-short+} build that includes its own set of experimental features. +.. _c2c-beta-program-disclaimer: + Get Started ----------- diff --git a/source/reference/beta-program/abc-migration.txt b/source/reference/beta-program/abc-migration.txt index 96d9471e0..e36c08da5 100644 --- a/source/reference/beta-program/abc-migration.txt +++ b/source/reference/beta-program/abc-migration.txt @@ -40,9 +40,17 @@ To start the sync operation between the source and destination clusters, see Behavior -------- -If the first migration (A->B) fails to finish :ref:`committing ` -before the second migration (B->C) starts committing, you might experience data -loss. +The first migration (A->B) must finish :ref:`committing ` +before the second migration (B->C) starts committing. + +.. warning:: + + If the second migration starts committing before the first migration + finishes, you may experience data loss. + + Before you use any experimental {+c2c-beta-program-short} features, + review the :ref:`{+c2c-full-beta-program+} Disclaimer + `. Example ------- From 19cb278c4e5b0898ba06c99debc1810635a5953f Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Wed, 26 Jun 2024 10:12:18 -0700 Subject: [PATCH 14/14] typo --- source/reference/beta-program/abc-migration.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/reference/beta-program/abc-migration.txt b/source/reference/beta-program/abc-migration.txt index e36c08da5..7db15b126 100644 --- a/source/reference/beta-program/abc-migration.txt +++ b/source/reference/beta-program/abc-migration.txt @@ -48,7 +48,7 @@ before the second migration (B->C) starts committing. If the second migration starts committing before the first migration finishes, you may experience data loss. - Before you use any experimental {+c2c-beta-program-short} features, + Before you use any experimental {+c2c-beta-program-short+} features, review the :ref:`{+c2c-full-beta-program+} Disclaimer `.