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 5 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
8 changes: 4 additions & 4 deletions source/about-mongosync.txt
Original file line number Diff line number Diff line change
Expand Up @@ -129,13 +129,13 @@ call the :ref:`commit <c2c-api-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 <c2c-api-start>` endpoint, ``mongosync``
If you previously set ``enableUserWriteBlocking`` to ``"sourceAndDestination"``
when you used the :ref:`start <c2c-api-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 <c2c-state-committing>`
Expand Down
5 changes: 3 additions & 2 deletions source/includes/fact-older-version-limitations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,9 @@
- :ref:`/reverse <c2c-api-reverse>` endpoint is not supported. You can't
enable the ``reversible`` option in the :ref:`/start <c2c-api-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 ``true`` or
``"sourceAndDestination"`` in the ``/start`` request, so dual write-blocking
is not supported.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- You can't set the ``enableUserWriteBlocking`` option to ``true`` or
``"sourceAndDestination"`` 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.

Expand Down
4 changes: 2 additions & 2 deletions source/includes/fact-write-blocking-enable.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <c2c-api-start>`
to set ``enableUserWriteBlocking`` to ``true``.
to set ``enableUserWriteBlocking`` to ``"sourceAndDestination"``.

You can use
:ref:`/start <c2c-api-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.
6 changes: 2 additions & 4 deletions source/includes/live-upgrade.rst
Original file line number Diff line number Diff line change
@@ -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.
2 changes: 1 addition & 1 deletion source/reference/api/reverse.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ To use the ``reverse`` endpoint:
call to the :ref:`/start <c2c-api-start>` API endpoint must set:

- ``reversible`` to ``true``
- ``enableUserWriteBlocking`` to ``true``.
- ``enableUserWriteBlocking`` to ``"sourceAndDestination"``.

.. note::

Expand Down
37 changes: 21 additions & 16 deletions source/reference/api/start.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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 <c2c-api-progress>` endpoint reports
that ``canWrite`` is ``true``. Blocks writes on the source
cluster after ``mongosync`` calls the :ref:`/commit <c2c-api-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 <c2c-api-progress>` endpoint reports
that ``canWrite`` is ``true``. Blocks writes on the source
cluster after ``mongosync`` calls the :ref:`/commit <c2c-api-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

Expand Down
4 changes: 2 additions & 2 deletions source/reference/cutover-process.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
2 changes: 1 addition & 1 deletion source/reference/limitations.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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 <c2c-api-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 <c2c-api-start>` to the source cluster
before you start the commit process.
Expand Down
7 changes: 1 addition & 6 deletions source/reference/versioning.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
4 changes: 3 additions & 1 deletion source/release-notes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand All @@ -37,6 +38,7 @@ Previous Releases
.. toctree::
:titlesonly:

1.12 </release-notes/1.12>
1.11 </release-notes/1.11>
1.10 </release-notes/1.10>
1.9 </release-notes/1.9>
Expand Down
38 changes: 38 additions & 0 deletions source/release-notes/1.12.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
.. _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 <c2c-api-start>` API now accepts the following string options:

- ``"sourceAndDestination"`` for dual write-blocking
- ``"none"`` for no write-blocking

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
These options are identical to the old `true` and `false` values. The old values remain for backward compatibility.

See :ref:`c2c-api-start-params`.

Live Upgrades
~~~~~~~~~~~~~

:ref:`Live upgrades <c2c-versioning-live-upgrade>`
to version 1.12 are not supported.
2 changes: 1 addition & 1 deletion source/reverse-sync.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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`.
Expand Down
2 changes: 1 addition & 1 deletion source/topologies/multiple-mongosyncs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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 <c2c-api-start>` initiates ``mongosync``.