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
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
``"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
42 changes: 42 additions & 0 deletions source/release-notes/1.12.txt
Original file line number Diff line number Diff line change
@@ -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 <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.

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 <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``.