Skip to content
This repository was archived by the owner on May 1, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 20 additions & 14 deletions source/faq.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,20 +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.
``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`` :ref:`combines and reorders <c2c-behavior-consistency>` writes
from the source to destination during synchronization, and
:ref:`temporarily modifies <c2c-behavior-temporary-changes>` 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::

Expand Down
2 changes: 2 additions & 0 deletions source/reference/mongosync/mongosync-behavior.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down