From 6c930329429c3143dde6e035b88b1e570591fd7f Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Wed, 12 Feb 2025 15:23:30 -0500 Subject: [PATCH 1/4] DOCSP-47219-midsync-reads --- source/faq.txt | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/source/faq.txt b/source/faq.txt index 3d89895c2..4d0ae77ae 100644 --- a/source/faq.txt +++ b/source/faq.txt @@ -26,20 +26,24 @@ following the steps in :ref:`c2c-reconfigure-mid-migration`. Can I perform reads or writes to my destination cluster while ``mongosync`` is syncing? --------------------------------------------------------------------------------------- -You can perform reads at any time during synchronization. -However, ``mongosync`` combines and reorders writes from the source to destination during synchronization, -and also temporarily modifies various collection characteristics. -As a result, the destination is not guaranteed to match the source at any point in time when the sync is running. -For consistent reads, wait for the migration to :ref:`c2c-api-commit`. To learn more, see :ref:`mongosync-considerations`. - -Performing writes to your destination cluster during synchronization results in undefined behavior. -``mongosync`` blocks writes on the destination cluster by default. To learn -more about write-blocking, see :ref:`c2c-write-blocking` and :ref:`c2c-api-start`. - -Upon commit, it is only safe to write to the destination cluster when ``canWrite`` is ``true``. -To check the value of ``canWrite``, run the :ref:`c2c-api-progress` endpoint. - -To learn more about permissable reads and writes during synchronization, see :ref:`c2c-reads-and-writes`. +``mongosync`` combines and reorders writes from the source to destination during +synchronization, and temporarily modifies various collection characteristics. +As a result, the destination is not guaranteed to match the source, including a +stale version of the source, at any point in time when the sync is running. To +safely accept traffic to the destination cluster, wait for the migration to +:ref:`c2c-api-commit`. To learn more, see :ref:`mongosync-considerations`. + +Performing writes to your destination cluster during synchronization results in +undefined behavior. ``mongosync`` blocks writes on the destination cluster by +default. To learn more about write-blocking, see :ref:`c2c-write-blocking` and +:ref:`c2c-api-start`. + +Upon commit, it is only safe to write to the destination cluster when +``canWrite`` is ``true``. To check the value of ``canWrite``, run the +:ref:`c2c-api-progress` endpoint. + +To learn more about permissable reads and writes during synchronization, see +:ref:`c2c-reads-and-writes`. .. note:: From 27f291605eae7bc44e73250deb1398ac46802ecd Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Wed, 12 Feb 2025 15:31:15 -0500 Subject: [PATCH 2/4] active voice --- source/faq.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/source/faq.txt b/source/faq.txt index 4d0ae77ae..0d62013b4 100644 --- a/source/faq.txt +++ b/source/faq.txt @@ -28,10 +28,11 @@ Can I perform reads or writes to my destination cluster while ``mongosync`` is s ``mongosync`` combines and reorders writes from the source to destination during synchronization, and temporarily modifies various collection characteristics. -As a result, the destination is not guaranteed to match the source, including a -stale version of the source, at any point in time when the sync is running. To -safely accept traffic to the destination cluster, wait for the migration to -:ref:`c2c-api-commit`. To learn more, see :ref:`mongosync-considerations`. +As a result, ``mongosync`` can't guarantee that the destination matches the +source, including a stale version of the source, at any point in time when the +sync is running. To safely accept traffic to the destination cluster, wait for +the migration to :ref:`c2c-api-commit`. To learn more, see +:ref:`mongosync-considerations`. Performing writes to your destination cluster during synchronization results in undefined behavior. ``mongosync`` blocks writes on the destination cluster by From 8b21f191ba65d068dfa97b2dd3d94c44ce2ca09b Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Thu, 13 Feb 2025 10:17:22 -0500 Subject: [PATCH 3/4] internal feedback --- source/faq.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/faq.txt b/source/faq.txt index 0d62013b4..9656f6975 100644 --- a/source/faq.txt +++ b/source/faq.txt @@ -27,11 +27,11 @@ Can I perform reads or writes to my destination cluster while ``mongosync`` is s --------------------------------------------------------------------------------------- ``mongosync`` combines and reorders writes from the source to destination during -synchronization, and temporarily modifies various collection characteristics. -As a result, ``mongosync`` can't guarantee that the destination matches the -source, including a stale version of the source, at any point in time when the -sync is running. To safely accept traffic to the destination cluster, wait for -the migration to :ref:`c2c-api-commit`. To learn more, see +synchronization, and temporarily modifies collection characteristics. As a +result, ``mongosync`` can't guarantee that the destination matches the source, +including a stale version of the source, at any point in time when the sync is +running. To safely accept traffic to the destination cluster, wait for the +migration to :ref:`c2c-api-commit`. To learn more, see :ref:`mongosync-considerations`. Performing writes to your destination cluster during synchronization results in From 233015ca6d7c8f901d93ab5188bae4f29a786ee8 Mon Sep 17 00:00:00 2001 From: Alison Huh Date: Thu, 13 Feb 2025 10:48:40 -0500 Subject: [PATCH 4/4] MVK feedback --- source/faq.txt | 15 ++++++++------- source/reference/mongosync/mongosync-behavior.txt | 2 ++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/source/faq.txt b/source/faq.txt index 9656f6975..319b2699a 100644 --- a/source/faq.txt +++ b/source/faq.txt @@ -26,13 +26,14 @@ following the steps in :ref:`c2c-reconfigure-mid-migration`. Can I perform reads or writes to my destination cluster while ``mongosync`` is syncing? --------------------------------------------------------------------------------------- -``mongosync`` combines and reorders writes from the source to destination during -synchronization, and temporarily modifies collection characteristics. As a -result, ``mongosync`` can't guarantee that the destination matches the source, -including a stale version of the source, at any point in time when the sync is -running. To safely accept traffic to the destination cluster, wait for the -migration to :ref:`c2c-api-commit`. To learn more, see -:ref:`mongosync-considerations`. +``mongosync`` :ref:`combines and reorders ` writes +from the source to destination during synchronization, and +:ref:`temporarily modifies ` collection +characteristics. As a result, ``mongosync`` can't guarantee that the destination +matches the source, including a stale version of the source, at any point in +time when the sync is running, even if the sync is paused. To safely accept +traffic to the destination cluster, wait for the migration to +:ref:`c2c-api-commit`. To learn more, see :ref:`mongosync-considerations`. Performing writes to your destination cluster during synchronization results in undefined behavior. ``mongosync`` blocks writes on the destination cluster by diff --git a/source/reference/mongosync/mongosync-behavior.txt b/source/reference/mongosync/mongosync-behavior.txt index 7e7fe2b5f..3c9408dbb 100644 --- a/source/reference/mongosync/mongosync-behavior.txt +++ b/source/reference/mongosync/mongosync-behavior.txt @@ -232,6 +232,8 @@ snapshot of the source data. To learn more, see :ref:`c2c-behavior-consistency`. Otherwise, start a new continuous sync operation by using a new empty destination cluster. +.. _c2c-behavior-temporary-changes: + Temporary Changes to Collection Characteristics ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~