From 7c1108c226eb961065c8fae99b0a68d825aad7d6 Mon Sep 17 00:00:00 2001 From: ltran-mdb2 <143426234+ltran-mdb2@users.noreply.github.com> Date: Mon, 18 Nov 2024 16:16:50 -0500 Subject: [PATCH] DOCSP-44528-cutover-failure-warnings (#485) * DOCSP-44528-cutover-failure-warnings' * DOCSP-44528-cutover-failure-warnings' * DOCSP-44528 adding disaster warning * DOCSP-44528 adding disaster warning * DOCSP-44528 copy edit * DOCSP-44528 Maria comments (cherry picked from commit 6d0064c2e1d6ba1deed9699690ce85e8d781fde7) --- source/includes/cluster-shutdown-warning.rst | 3 ++ source/reference/cutover-process.txt | 34 ++++++++++++++----- .../mongosync/mongosync-behavior.txt | 4 +-- 3 files changed, 30 insertions(+), 11 deletions(-) create mode 100644 source/includes/cluster-shutdown-warning.rst diff --git a/source/includes/cluster-shutdown-warning.rst b/source/includes/cluster-shutdown-warning.rst new file mode 100644 index 000000000..a8a3e5edd --- /dev/null +++ b/source/includes/cluster-shutdown-warning.rst @@ -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`. \ No newline at end of file diff --git a/source/reference/cutover-process.txt b/source/reference/cutover-process.txt index c3632dd20..3c91a7c8e 100644 --- a/source/reference/cutover-process.txt +++ b/source/reference/cutover-process.txt @@ -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 ` cutover process. -``mongosync`` should remain active until it reaches the -:ref:`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 ` 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 ----- @@ -103,11 +119,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. diff --git a/source/reference/mongosync/mongosync-behavior.txt b/source/reference/mongosync/mongosync-behavior.txt index 0ae42951b..bc28796e5 100644 --- a/source/reference/mongosync/mongosync-behavior.txt +++ b/source/reference/mongosync/mongosync-behavior.txt @@ -174,9 +174,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::