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
3 changes: 3 additions & 0 deletions source/includes/cluster-shutdown-warning.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
If the source cluster shuts down before ``mongosync`` can commit, such as in
a disaster scenario, the destination cluster might not have a consistent
snapshot of the source data. To learn more, see :ref:`c2c-behavior-consistency`.
34 changes: 26 additions & 8 deletions source/reference/cutover-process.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,32 @@ You can finalize a migration and transfer your application
workload from the source to the destination cluster using the
:ref:`mongosync <c2c-mongosync>` cutover process.

``mongosync`` should remain active until it reaches the
:ref:`COMMITTED <c2c-state-committed>` state. This allows ``mongosync`` to sync
any additional writes that occur during the migration.

.. note::

Before you switch your application workload to the
destination cluster, you should always verify a successful sync.
For more information, see :ref:`c2c-verification`.

``mongosync`` should remain active until it reaches the
:ref:`COMMITTED <c2c-state-committed>` state. This allows ``mongosync`` to sync
any additional writes that occur during the migration.

.. warning::

If you do not properly cutover from your source to your
destination, you may face the following issues:

- Inaccurate data on the destination cluster
- Unrecoverable and undiagnosable ``mongosync`` errors
- Reduced application availability, especially if there is
application-side enforcement of document schema or other
characteristics
- Incomplete transactions on the destination cluster
- Other unexpected cluster behavior

Use the following steps to safely finalize your cutover process and achieve
expected ``mongosync`` behavior.

Steps
-----

Expand Down Expand Up @@ -115,11 +131,13 @@ Steps
:language: json
:copyable: false

.. note::
After you submit a ``commit`` request, call the ``progress`` endpoint
to ensure that the ``mongosync`` state is ``COMMITTING`` or
``COMMITTED``.

.. warning::

After you submit a ``commit`` request, call the ``progress`` endpoint
to ensure that the ``mongosync`` state is ``COMMITTING`` or
``COMMITTED``.
.. include:: /includes/cluster-shutdown-warning

.. step:: Wait until you can perform writes on the destination cluster.

Expand Down
4 changes: 1 addition & 3 deletions source/reference/mongosync/mongosync-behavior.txt
Original file line number Diff line number Diff line change
Expand Up @@ -218,9 +218,7 @@ For any continuous synchronization use cases with ``mongosync``, ensure that
``mongosync`` commits before cutting over from the source to the
destination.

If the source cluster shuts down before ``mongosync`` can commit, such as in
a disaster scenario, the destination cluster might not have a consistent
snapshot of the source data. To learn more, see :ref:`c2c-behavior-consistency`.
.. include:: /includes/cluster-shutdown-warning

.. note::

Expand Down