Skip to content

Commit fed6e58

Browse files
authored
(DOCSP-45816) [C2C] Clarify documentations on continuous sync (#532)
* (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.
1 parent 5f3eaf5 commit fed6e58

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
@@ -18,10 +18,8 @@ The :ref:`mongosync <c2c-mongosync>` binary is the primary process used in
1818
{+c2c-product-name+}. ``mongosync`` migrates data from a source cluster to a
1919
destination cluster and keeps the clusters in continuous sync until you
2020
:ref:`finalize <c2c-about-finalizing>` the sync.
21-
22-
You can use ``mongosync`` to create
23-
dedicated analytics, development, or testing clusters that mirror your
24-
production environment.
21+
In addition to continuous data synchronization, ``mongosync`` can also
22+
perform a one time data migration between clusters.
2523

2624
``mongosync`` keeps track of its current actions through
2725
:ref:`states <c2c-states>`. ``mongosync`` enters different states depending on
@@ -40,6 +38,8 @@ and API operations:
4038
:alt: Diagram of relationship between ``mongosync`` states and API operations
4139
:figwidth: 600px
4240

41+
The :ref:`Frequently Asked Questions (FAQ) <c2c-faq>` page addresses questions users have asked about ``mongosync``.
42+
4343
Details
4444
-------
4545

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
@@ -10,15 +10,9 @@ Cluster-to-Cluster Sync
1010

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

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

2418
To get started with ``mongosync``, refer to the :ref:`Quick Start Guide
@@ -29,8 +23,7 @@ restrictions and the :ref:`c2c-mongosync-behavior` page for behavior information
2923

3024
.. include:: /includes/limitations-warning
3125

32-
The :ref:`Frequently Asked Questions (FAQ) <c2c-faq>` page addresses
33-
common questions users have asked about ``mongosync``.
26+
The :ref:`Frequently Asked Questions (FAQ) <c2c-faq>` page addresses questions users have asked about ``mongosync``.
3427

3528
.. toctree::
3629
: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
@@ -151,6 +151,8 @@ Capped Collections
151151

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

154+
.. _c2c-reads-and-writes:
155+
154156
Reads and Writes
155157
----------------
156158

0 commit comments

Comments
 (0)