Skip to content

Commit 9cd7b5a

Browse files
authored
(DOCSP-45816) [C2C] Clarify documentations on continuous sync (#532) (#538)
* (DOCSP-45816) Add context to FAQ page. * (DOCSP-45816) Remove paragraph and add link to FAQ to landing and mongosync page. * (DOCSP-45816) Edits. * (DOCSP-45816) Edits. * (DOCSP-45816) Edits. * (DOCSP-45816) Add link to FAQ to mongosync pages. * (DOCSP-45816) Simplify. * (DOCSP-45816) Fix links. * (DOCSP-45816) Add one time migration sentence. * (DOCSP-45816) @jason-price-mongodb Review feedback changes. (cherry picked from commit fed6e58)
1 parent 29446e8 commit 9cd7b5a

File tree

5 files changed

+28
-33
lines changed

5 files changed

+28
-33
lines changed

source/about-mongosync.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@ The :ref:`mongosync <c2c-mongosync>` binary is the primary process used in
1616
{+c2c-product-name+}. ``mongosync`` migrates data from a source cluster to a
1717
destination cluster and keeps the clusters in continuous sync until you
1818
:ref:`finalize <c2c-about-finalizing>` the sync.
19-
20-
You can use ``mongosync`` to create
21-
dedicated analytics, development, or testing clusters that mirror your
22-
production environment.
19+
In addition to continuous data synchronization, ``mongosync`` can also
20+
perform a one time data migration between clusters.
2321

2422
``mongosync`` keeps track of its current actions through
2523
:ref:`states <c2c-states>`. ``mongosync`` enters different states depending on
@@ -38,6 +36,8 @@ and API operations:
3836
:alt: Diagram of relationship between ``mongosync`` states and API operations
3937
:figwidth: 600px
4038

39+
The :ref:`Frequently Asked Questions (FAQ) <c2c-faq>` page addresses questions users have asked about ``mongosync``.
40+
4141
Details
4242
-------
4343

source/faq.txt

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,30 @@ This page provides answers to some frequently asked questions we have
1717
encountered. If you have additional questions please contact MongoDB
1818
Support.
1919

20+
.. _c2c-faq-read-write-during-sync:
21+
2022
Can I perform reads or writes to my destination cluster while ``mongosync`` is syncing?
2123
---------------------------------------------------------------------------------------
2224

23-
You can perform reads during synchronization at any time. However, the data
24-
that you read is :term:`eventually consistent <eventual consistency>`. For
25-
consistent reads, wait for the migration to commit. To learn more, see
26-
:ref:`mongosync-considerations`.
25+
You can perform reads at any time during synchronization.
26+
However, ``mongosync`` combines and reorders writes from the source to destination during synchronization,
27+
and also temporarily modifies various collection characteristics.
28+
As a result, the destination is not guaranteed to match the source at any point in time when the sync is running.
29+
For consistent reads, wait for the migration to :ref:`c2c-api-commit`. To learn more, see :ref:`mongosync-considerations`.
30+
31+
Performing writes to your destination cluster during synchronization results in undefined behavior.
32+
To block writes on the destination cluster during sync, enable :ref:`write blocking <c2c-write-blocking>` when you :ref:`c2c-api-start` ``mongosync``.
2733

28-
If you write to a synced namespace before issuing a :ref:`commit
29-
<c2c-api-commit>` and while ``canWrite`` is ``false``, the behavior is
30-
undefined. To ensure that you don't write to any synced namespaces, enable
31-
:ref:`write blocking <c2c-write-blocking>`.
34+
Upon commit, it is only safe to write to the destination cluster when ``canWrite`` is ``true``.
35+
To check the value of ``canWrite``, run the :ref:`c2c-api-progress` endpoint.
36+
37+
To learn more about permissable reads and writes during synchronization, see :ref:`c2c-reads-and-writes`.
3238

3339
.. note::
3440

3541
Index builds on the destination cluster are treated as writes
3642
while ``mongosync`` is syncing.
3743

38-
To check the value of ``canWrite``, call the :ref:`progress <c2c-api-progress>`
39-
API endpoint.
40-
4144
Can ``mongosync`` run on its own hardware?
4245
------------------------------------------
4346

source/index.txt

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,9 @@ Cluster-to-Cluster Sync
88

99
{+c2c-product-name+} provides continuous data synchronization or a
1010
one-time data migration between MongoDB clusters. For notes and caveats on
11-
continuous sync, see the :ref:`<mongosync-considerations>` page. You can
11+
continuous sync, see the :ref:`mongosync-considerations` page. You can
1212
enable {+c2c-product-name+} with the :ref:`mongosync <c2c-mongosync>` utility.
1313

14-
``mongosync`` can continuously synchronize data between two clusters.
15-
You can use ``mongosync`` to create dedicated analytics, development,
16-
or testing clusters that mirror your production environment.
17-
Synchronized clusters can also support locality requirements for audit
18-
and data residency compliance.
19-
2014
For an overview of the ``mongosync`` process, see :ref:`about-mongosync`.
2115

2216
To get started with ``mongosync``, refer to the :ref:`Quick Start Guide
@@ -27,8 +21,7 @@ restrictions and the :ref:`c2c-mongosync-behavior` page for behavior information
2721

2822
.. include:: /includes/limitations-warning
2923

30-
The :ref:`Frequently Asked Questions (FAQ) <c2c-faq>` page addresses
31-
common questions users have asked about ``mongosync``.
24+
The :ref:`Frequently Asked Questions (FAQ) <c2c-faq>` page addresses questions users have asked about ``mongosync``.
3225

3326
.. toctree::
3427
:titlesonly:

source/reference/mongosync.txt

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,19 @@ Definition
1818
----------
1919

2020
The ``mongosync`` binary is the primary process used in {+c2c-product-name+}.
21-
``mongosync`` migrates data from one cluster to another and can keep the
22-
clusters in continuous sync.
23-
24-
You can use ``mongosync`` to create dedicated analytics, development,
25-
or testing clusters that mirror your production environment.
26-
Synchronized clusters can also support locality requirements for audit
27-
and data residency compliance.
28-
21+
``mongosync`` migrates data from a source cluster to a
22+
destination cluster and keeps the clusters in continuous sync until you
23+
:ref:`finalize <c2c-about-finalizing>` the sync.
2924
In addition to continuous data synchronization, ``mongosync`` can also
30-
facilitate a one time data migration between clusters.
25+
perform a one time data migration between clusters.
3126

3227
For an overview of the ``mongosync`` process, see :ref:`about-mongosync`.
3328

3429
To get started with ``mongosync``, refer to the :ref:`Quick Start Guide
3530
<c2c-quickstart>`.
3631

32+
The :ref:`Frequently Asked Questions (FAQ) <c2c-faq>` page addresses questions users have asked about ``mongosync``.
33+
3734
Compatibility
3835
-------------
3936

source/reference/mongosync/mongosync-behavior.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,8 @@ Capped Collections
152152

153153
.. include:: /includes/collections/behavior-capped-collections.rst
154154

155+
.. _c2c-reads-and-writes:
156+
155157
Reads and Writes
156158
----------------
157159

0 commit comments

Comments
 (0)