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
46 changes: 46 additions & 0 deletions source/includes/fact-older-version-limitations.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
- Writes that produce :term:`DDL <DDL (Data Definition Language)>` events cannot
occur on the source cluster during the migration. The following events cannot
occur:

- ``collMod``
- ``create``
- ``createIndexes``
- ``drop``
- ``dropDatabase``
- ``dropIndexes``
- ``refineCollectionShardKey``
- ``rename``
- ``reshardCollection``
- ``shardCollection``

This includes operations that may create new collections such as
:dbcommand:`mapReduce`, :pipeline:`$out`, and :pipeline:`$merge`. This also
includes collections created implicitly from inserts. Only writes that produce
CRUD events can occur during the migration.

.. note::

Writes that produce DDL events on source collections outside of the
:ref:`namespace filter <c2c-filtered-sync>` are allowed.

- ``geoHaystack`` indexes are not supported.

- :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 enable the ``enableUserWriteBlocking`` option in the ``/start``

Choose a reason for hiding this comment

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

can we add a note here that the user is responsible for preventing writes to the source or destination?

Copy link
Collaborator Author

@ajhuh-mdb ajhuh-mdb Dec 17, 2024

Choose a reason for hiding this comment

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

@mvankeulen94 @ajayvijayakumar123 do we have a way of ensuring users don't write to their clusters without the enableUserWriteBlocking option? Or is this something they just need to manually make sure of?

Copy link
Collaborator

Choose a reason for hiding this comment

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

I think they just need to manually make sure

request. Ensure that no writes are made to the source or destination cluster
during the migration.

- You can't enable the ``createSupportingIndexes`` :ref:`sharding parameter
<c2c-api-start-sharding>`. Instead, create an index to support your shard key
on the source cluster.

- If there are any indexes with inconsistent specs or that are missing
``mongosync`` returns an error. To check for index inconsistencies, see
:ref:`manage-indexes-find-inconsistent-indexes`.

Choose a reason for hiding this comment

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

@ajayvijayakumar123 is this a change from status quo mongosync GA? We have 'mongosync only syncs indexes that have consistent index specifications on all shards.' in the limitations today

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yup. For 6.0+ migrations, mongosync ignores inconsistent indexes and just doesn't build them on the destination. For pre-6.0 migrations, mongosync will error on these indexes.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'll make it clear that it'll error on pre-6.0 migrations

Choose a reason for hiding this comment

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

thanks!


- For source clusters running MongoDB 4.4, :ref:`SRV connection strings
<connections-dns-seedlist>` are not supported. You must use a
:ref:`standard connection string
<connections-standard-connection-string-format>`.
12 changes: 11 additions & 1 deletion source/reference/limitations.txt
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ Sharded Clusters
- Shards cannot be added or removed while syncing.
- ``mongosync`` only syncs indexes that exist on all shards.
- ``mongosync`` only syncs indexes that have consistent index
specifications on all shards.
specifications on all shards.

.. note::

Expand Down Expand Up @@ -198,3 +198,13 @@ cluster.

.. include:: /includes/fact-verifier-limitations

Pre-6.0 Migrations
------------------

Starting in 1.10, ``mongosync`` supports migrations from source clusters running
MongoDB server versions older than 6.0. For information on supported migration
paths, see :ref:`c2c-server-version-compatibility`.

The following limitations apply to pre-6.0 migrations:

.. include:: /includes/fact-older-version-limitations.rst