From 396a008cbbef6a64697507f4873ac57b129df27a Mon Sep 17 00:00:00 2001 From: Alison Huh <112565127+ajhuh-mdb@users.noreply.github.com> Date: Thu, 13 Feb 2025 11:57:00 -0500 Subject: [PATCH] DOCSP-47219 Midsync Reads FAQ (#612) * DOCSP-47219-midsync-reads * active voice * internal feedback * MVK feedback --- source/faq.txt | 33 +++++++++++-------- .../mongosync/mongosync-behavior.txt | 2 ++ 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/source/faq.txt b/source/faq.txt index f03943902..319b2699a 100644 --- a/source/faq.txt +++ b/source/faq.txt @@ -26,19 +26,26 @@ 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. -To block writes on the destination cluster during sync, enable :ref:`write blocking ` when you :ref:`c2c-api-start` ``mongosync``. - -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`` :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 +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:: diff --git a/source/reference/mongosync/mongosync-behavior.txt b/source/reference/mongosync/mongosync-behavior.txt index 9c02b374a..f666a862b 100644 --- a/source/reference/mongosync/mongosync-behavior.txt +++ b/source/reference/mongosync/mongosync-behavior.txt @@ -233,6 +233,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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~