diff --git a/source/about-mongosync.txt b/source/about-mongosync.txt index dc241ab14..45ddaf15b 100644 --- a/source/about-mongosync.txt +++ b/source/about-mongosync.txt @@ -129,13 +129,13 @@ call the :ref:`commit ` endpoint. You must block writes to the source cluster before you begin the the commit process. - If you previously set ``enableUserWriteBlocking`` to ``true`` when - you used the :ref:`start ` endpoint, ``mongosync`` + If you previously set ``enableUserWriteBlocking`` to ``"sourceAndDestination"`` + when you used the :ref:`start ` endpoint, ``mongosync`` automatically blocks writes on the source cluster when you use the ``commit`` endpoint. - If you did not set ``enableUserWriteBlocking`` to ``true``, run - :dbcommand:`setUserWriteBlockMode` on the source cluster to + If you did not set ``enableUserWriteBlocking`` to ``"sourceAndDestination"``, + run :dbcommand:`setUserWriteBlockMode` on the source cluster to block writes. The ``commit`` endpoint starts the :ref:`COMMITTING ` diff --git a/source/includes/fact-older-version-limitations.rst b/source/includes/fact-older-version-limitations.rst index 65cbb3d21..8dd7593dd 100644 --- a/source/includes/fact-older-version-limitations.rst +++ b/source/includes/fact-older-version-limitations.rst @@ -28,8 +28,9 @@ - :ref:`/reverse ` endpoint is not supported. You can't enable the ``reversible`` option in the :ref:`/start ` request. -- You can't set the ``enableUserWriteBlocking`` option to ``true`` - in the ``/start`` request, so dual write-blocking is not supported. +- You can't set the ``enableUserWriteBlocking`` option to + ``"sourceAndDestination"`` in the ``/start`` request, so dual write-blocking + is not supported. Destination-only write-blocking is supported. Ensure that no writes are made to the source cluster after you call the ``/commit`` endpoint. diff --git a/source/includes/fact-write-blocking-enable.rst b/source/includes/fact-write-blocking-enable.rst index 8c2d22aef..3506a38b6 100644 --- a/source/includes/fact-write-blocking-enable.rst +++ b/source/includes/fact-write-blocking-enable.rst @@ -15,11 +15,11 @@ If you enable dual write-blocking, ``mongosync`` blocks writes: - On the source cluster after you call ``/commit`` To enable dual write-blocking, use :ref:`/start ` -to set ``enableUserWriteBlocking`` to ``true``. +to set ``enableUserWriteBlocking`` to ``"sourceAndDestination"``. You can use :ref:`/start ` -to set ``enableUserWriteBlocking`` to ``false``. +to set ``enableUserWriteBlocking`` to ``"none"``. You cannot enable dual write-blocking or disable write-blocking after the sync starts. \ No newline at end of file diff --git a/source/includes/live-upgrade.rst b/source/includes/live-upgrade.rst index 761acbf71..3c1fb2d5a 100644 --- a/source/includes/live-upgrade.rst +++ b/source/includes/live-upgrade.rst @@ -1,8 +1,6 @@ Starting in ``mongosync`` 1.7.0, you can upgrade ``mongosync`` without -restarting data synchronization operations from the beginning. You can -only live upgrade to ``mongosync`` 1.7.3 or later from ``mongosync`` -1.7.2 or later. +restarting data synchronization operations from the beginning. .. important:: - ``mongosync`` does not support live upgrades to version 1.11. + ``mongosync`` does not support live upgrades to version 1.12. diff --git a/source/reference/api/reverse.txt b/source/reference/api/reverse.txt index efeb69a91..44beeb83d 100644 --- a/source/reference/api/reverse.txt +++ b/source/reference/api/reverse.txt @@ -45,7 +45,7 @@ To use the ``reverse`` endpoint: call to the :ref:`/start ` API endpoint must set: - ``reversible`` to ``true`` - - ``enableUserWriteBlocking`` to ``true``. + - ``enableUserWriteBlocking`` to ``"sourceAndDestination"``. .. note:: diff --git a/source/reference/api/start.txt b/source/reference/api/start.txt index 1f9374b17..8fcb4564d 100644 --- a/source/reference/api/start.txt +++ b/source/reference/api/start.txt @@ -115,28 +115,33 @@ Request Body Parameters .. versionadded:: 1.3.0 * - ``enableUserWriteBlocking`` - - boolean or string + - string or boolean - Optional - - If set to ``true``, blocks writes on the destination - cluster while the migration is in progress, and unblocks writes right - before the :ref:`/progress ` endpoint reports - that ``canWrite`` is ``true``. Blocks writes on the source - cluster after ``mongosync`` calls the :ref:`/commit ` - endpoint. + - :gold:`IMPORTANT:` If you are migrating from a pre-6.0 source cluster, + you cannot set this parameter. + + Supported options: + + - ``"sourceAndDestination"``: blocks writes on the destination + cluster while the migration is in progress, and unblocks writes right + before the :ref:`/progress ` endpoint reports + that ``canWrite`` is ``true``. Blocks writes on the source + cluster after ``mongosync`` calls the :ref:`/commit ` + endpoint. - If set to ``false``, no write blocking occurs. + You can also use ``true`` for backward compatibility. - If set to ``"destinationOnly"``, blocks writes on the destination - cluster while migration is in progress, and unblocks writes right - before ``canWrite`` is ``true``. + - ``"none"``: no write blocking occurs. You can also use ``false`` + for backward compatibility. - :gold:`IMPORTANT:` If you are migrating from a pre-6.0 source cluster, - you cannot set ``enableUserWriteBlocking`` to ``true``. + - ``"destinationOnly"``: blocks writes on the destination + cluster while migration is in progress, and unblocks writes right + before ``canWrite`` is ``true``. To reverse sync, the ``enableUserWriteBlocking`` field must be set - to ``true``. To allow the source cluster to accept writes again, - for example after running migration tests, run the following - command: + to ``"sourceAndDestination"``. To allow the source cluster + to accept writes again, for example after running migration tests, + run the following command: .. code-block:: shell diff --git a/source/reference/cutover-process.txt b/source/reference/cutover-process.txt index 60dbd70d4..93aeb6d4c 100644 --- a/source/reference/cutover-process.txt +++ b/source/reference/cutover-process.txt @@ -82,12 +82,12 @@ Steps destination and unblocks them right before ``canWrite`` is set to ``true``. - If you start ``mongosync`` with ``enableUserWriteBlocking`` - set to ``true``, ``mongosync`` blocks all write operations + set to ``"sourceAndDestination"``, ``mongosync`` blocks all write operations on the destination cluster and unblocks them right before ``canWrite`` is set to ``true``. ``mongosync`` blocks writes on the source after you call ``/commit``. - If you start ``mongosync`` with ``enableUserWriteBlocking`` set - to ``false``, ensure that you disable writes. + to ``"none"``, ensure that you disable writes. For example, run the :dbcommand:`setUserWriteBlockMode` command on the source cluster: diff --git a/source/reference/limitations.txt b/source/reference/limitations.txt index 55784bfca..361b09c0b 100644 --- a/source/reference/limitations.txt +++ b/source/reference/limitations.txt @@ -41,7 +41,7 @@ General Limitations - Other clients must not write to the destination cluster while ``mongosync`` is running. - If you want to start the :ref:`commit ` - process and you did not set ``enableUserWriteBlocking`` to ``true`` + process and you did not set ``enableUserWriteBlocking`` to ``"sourceAndDestination"`` when you used the :ref:`c2c-api-start` endpoint, you must :ref:`prevent writes ` to the source cluster before you start the commit process. diff --git a/source/reference/versioning.txt b/source/reference/versioning.txt index b526aedb8..fc985f801 100644 --- a/source/reference/versioning.txt +++ b/source/reference/versioning.txt @@ -65,12 +65,7 @@ Live Upgrade .. versionadded:: 1.7.0 -Starting in ``mongosync`` 1.7.0, you can upgrade ``mongosync`` without -restarting data synchronization operations from the beginning. - -.. important:: - - ``mongosync`` does not support live upgrades to version 1.11. +.. include:: /includes/live-upgrade.rst After the live upgrade, ``mongosync`` continues operations that were in progress before the upgrade. diff --git a/source/release-notes.txt b/source/release-notes.txt index 9fc27463f..b74f919dd 100644 --- a/source/release-notes.txt +++ b/source/release-notes.txt @@ -14,11 +14,12 @@ release notes. Current Stable Release ~~~~~~~~~~~~~~~~~~~~~~ -- :ref:`c2c-release-notes-1.11` +- :ref:`c2c-release-notes-1.12` Previous Releases ~~~~~~~~~~~~~~~~~ +- :ref:`c2c-release-notes-1.11` - :ref:`c2c-release-notes-1.10` - :ref:`c2c-release-notes-1.9` - :ref:`c2c-release-notes-1.8` @@ -37,6 +38,7 @@ Previous Releases .. toctree:: :titlesonly: + 1.12 1.11 1.10 1.9 diff --git a/source/release-notes/1.12.txt b/source/release-notes/1.12.txt new file mode 100644 index 000000000..ee1eda799 --- /dev/null +++ b/source/release-notes/1.12.txt @@ -0,0 +1,42 @@ +.. _c2c-release-notes-1.12: + +================================ +Release Notes for mongosync 1.12 +================================ + +.. default-domain:: mongodb + +.. contents:: On this page + :local: + :backlinks: none + :depth: 2 + :class: singlecol + +This page describes changes and new features introduced in +{+c2c-full-product-name+} 1.12. + +.. _1.12.0-c2c-release-notes: + +1.12.0 Release +-------------- + +``enableUserWriteBlocking`` parameters +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The ``enableUserWriteBlocking`` parameter in the +:ref:`/start ` API now accepts the following string options: + +- ``"sourceAndDestination"`` for dual write-blocking +- ``"none"`` for no write-blocking + +Use these options instead of the old ``true`` and ``false`` values. +``enableUserWriteBlocking`` still supports ``true`` and ``false`` +for backward compatibility. + +See :ref:`c2c-api-start-params`. + +Live Upgrades +~~~~~~~~~~~~~ + +:ref:`Live upgrades ` +to version 1.12 are not supported. \ No newline at end of file diff --git a/source/reverse-sync.txt b/source/reverse-sync.txt index 762f51184..923491825 100644 --- a/source/reverse-sync.txt +++ b/source/reverse-sync.txt @@ -30,7 +30,7 @@ Before you can reverse your sync direction, you must configure following parameters: - ``reversible`` to ``true`` -- ``enableUserWriteBlocking`` to ``true``. +- ``enableUserWriteBlocking`` to ``"sourceAndDestination"``. For more information on limitations and requirements of reversing sync, see :ref:`c2c-api-reverse`. diff --git a/source/topologies/multiple-mongosyncs.txt b/source/topologies/multiple-mongosyncs.txt index 6492bcb75..850409ac2 100644 --- a/source/topologies/multiple-mongosyncs.txt +++ b/source/topologies/multiple-mongosyncs.txt @@ -311,5 +311,5 @@ instance that is running on ``mongosync01Host`` and using ``port .. note:: Reverse synchronization is only possible if ``reversible`` and - ``enableUserWriteBlocking`` are both set to ``true`` when the + ``enableUserWriteBlocking`` are both set to ``"sourceAndDestination"`` when the :ref:`start API ` initiates ``mongosync``.