Skip to content

Commit bc8b094

Browse files
jason-price-mongodbjason-price-mongodb
andauthored
DOCSP-29503-cross-version-sync (#159)
* DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync * DOCSP-29503-cross-version-sync --------- Co-authored-by: jason-price-mongodb <[email protected]>
1 parent 9b76a4f commit bc8b094

File tree

9 files changed

+98
-37
lines changed

9 files changed

+98
-37
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Starting in 1.7.0, ``mongosync`` can perform a cross version migration
2+
from a lower major version source cluster to a higher major version
3+
destination cluster. You can migrate up to two major versions ahead. For
4+
example, you can synchronize a cluster running MongoDB 6.0 with a
5+
cluster running 7.0.
6+
7+
Cross version migration requires additional preparation and
8+
configuration when migrating from a pre-6.0 release. To perform a cross
9+
version migration from a pre-6.0 version of the MongoDB Server using
10+
``mongosync``, please `contact <https://mongodb.com/contact>`__ your
11+
account team to inquire about Professional Services.

source/includes/fact-minimum-versions.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ Starting in version 1.2, ``mongosync`` can sync between clusters running
22
some older (pre-6.0) releases of MongoDB Server. This feature requires
33
additional preparation and configuration in pre-6.0 releases.
44

5-
If you would like to migrate pre-6.0 versions of MongoDB Server
6-
using ``mongosync``, please `contact <https://mongodb.com/contact>`__
7-
your account team to inquire about Professional Services.
5+
If you would like to migrate pre-6.0 versions of MongoDB Server using
6+
``mongosync``, please `contact <https://mongodb.com/contact>`__ your
7+
account team to inquire about Professional Services.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
The source and destination clusters must have the same number of
2-
shards. You cannot reverse sync when the clusters have different
3-
topologies.
1+
The source and destination clusters must have the same number of shards.
2+
You cannot reverse sync when the clusters have different topologies or
3+
major versions.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
In ``mongosync`` versions earlier than 1.7.0, the source and
2+
destination clusters must run the same MongoDB server version
3+
and have the same :dbcommand:`Feature Compatibility Version
4+
<setFeatureCompatibilityVersion>`.

source/quickstart.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,11 @@ Follow the instructions below to setup {+c2c-product-name+}.
5353
The source and destination clusters must be:
5454

5555
- at least MongoDB 6.0.
56-
- the same server version
5756
- at least Feature Compatibility Version 6.0
58-
- the same Feature Compatibility Version
57+
58+
.. include:: /includes/version-sync-limitation.rst
59+
60+
.. include:: /includes/cross-version-sync.rst
5961

6062
The number of nodes in the destination replica set does not have
6163
to equal the number of nodes in the source replica set.

source/reference/limitations.txt

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Limitations
1717

1818
``mongosync`` does not check for compliance with the documented
1919
limitations. Please ensure that your application is not affected by
20-
the limitations . Running ``mongosync`` in the presence of one of
20+
the limitations. Running ``mongosync`` in the presence of one of
2121
these limitations could lead to undefined behavior on the destination
2222
cluster.
2323

@@ -26,47 +26,53 @@ General Limitations
2626

2727
- The minimum supported server versions are MongoDB 6.0.8 and 7.0.0.
2828

29-
.. include:: /includes/fact-minimum-versions.rst
29+
- .. include:: /includes/fact-minimum-versions.rst
3030

31-
- ``mongosync`` does not support MongoDB rapid releases such as 6.1 or
31+
- ``mongosync`` doesn't support MongoDB rapid releases such as 6.1 or
3232
6.2. The minimum supported server version is MongoDB 6.0.5.
3333
For more information on MongoDB versioning, see
3434
:ref:`release-version-numbers`.
35-
- The source and destination clusters must have the same major and minor
36-
release version, but can have different patch releases.
35+
- In ``mongosync`` versions earlier than 1.7.0, the source and
36+
destination clusters must have the same major and minor release
37+
version, but can have different patch releases.
3738

38-
For example,
39+
For example:
40+
41+
- ``mongosync`` can sync from a MongoDB 6.0.8 source cluster to a
42+
destination cluster using MongoDB 6.0.9. This is because the patch
43+
releases have the same major version.
44+
- ``mongosync`` doesn't support a sync from a MongoDB 6.0.9 source
45+
cluster to a destination cluster using MongoDB 7.0.0. This is
46+
because the releases have different major versions.
47+
48+
- In ``mongosync`` versions earlier than 1.7.0, the source and
49+
destination clusters must have the same :dbcommand:`Feature
50+
Compatibility Version <setFeatureCompatibilityVersion>`.
51+
52+
- .. include:: /includes/cross-version-sync.rst
3953

40-
- ``mongosync`` supports sync from a MongoDB 6.0.8 source cluster to a
41-
MongoDB 6.0.9 destination cluster, since these are patch releases
42-
of the same major release.
43-
- ``mongosync`` does not support sync from a MongoDB 6.0.9 source cluster to
44-
a MongoDB 7.0.0 destination cluster, since they have different major
45-
versions.
4654
- The minimum supported :dbcommand:`Feature Compatibility Version
4755
<setFeatureCompatibilityVersion>` is 6.0.
48-
- The source and destination clusters must have the same Feature
49-
Compatibility Version.
5056
- The destination cluster must be empty.
51-
- ``mongosync`` does not validate that the clusters or the environment
57+
- ``mongosync`` doesn't validate that the clusters or the environment
5258
are properly configured.
5359
- Other clients must not write to the destination cluster while
5460
``mongosync`` is running.
5561
- If write blocking is disabled, the client must :ref:`prevent writes
5662
<c2c-api-start>` to the source cluster before starting the commit
5763
process.
58-
- :dbcommand:`applyOps` operations from the source cluster are not
64+
- :dbcommand:`applyOps` operations from the source cluster aren't
5965
supported.
60-
- :ref:`system.* collections <metadata-system-collections>` are not
66+
- :ref:`system.* collections <metadata-system-collections>` aren't
6167
replicated.
62-
- Documents that have dollar (``$``) prefixed field names are not
68+
- Documents that have dollar (``$``) prefixed field names aren't
6369
supported. See :ref:`Field Names with Periods and Dollar Signs
6470
<crud-concepts-dot-dollar-considerations>`.
65-
- Serverless clusters are not supported.
66-
- The MongoDB Shared Tier is not supported.
71+
- Serverless clusters aren't supported.
72+
- A MongoDB Shared Tier isn't supported.
6773
- `Queryable Encryption
68-
<https://www.mongodb.com/docs/v6.0/core/queryable-encryption/>`__ is
69-
not supported.
74+
<https://www.mongodb.com/docs/v6.0/core/queryable-encryption/>`__
75+
isn't supported.
7076
- After you replace the ``mongosync`` binary during an upgrade or a
7177
downgrade, you should drop all non-system databases in the destination
7278
cluster before starting the new binary. Syncing operations will
@@ -84,14 +90,14 @@ discuss your requirements.
8490
Unsupported Collection Types
8591
----------------------------
8692

87-
- Time-series collections are not supported.
93+
- Time-series collections aren't supported.
8894
- Clustered collections with :ref:`expireAfterSeconds
89-
<db.createCollection.expireAfterSeconds>` set are not supported.
95+
<db.createCollection.expireAfterSeconds>` set aren't supported.
9096

9197
Sharded Clusters
9298
----------------
9399

94-
- ``mongosync`` does not support sync from a sharded cluster
100+
- ``mongosync`` doesn't support sync from a sharded cluster
95101
to a replica set.
96102
- Sync from a replica set to a sharded cluster has the following
97103
limitations:
@@ -107,13 +113,14 @@ Sharded Clusters
107113
The index must either exist before ``mongosync`` starts or be
108114
created after the migration is complete and ``mongosync`` has
109115
stopped.
116+
110117
- Within a collection, the ``_id`` field must be unique across all of
111118
the shards in the cluster. See :ref:`sharded-clusters-unique-indexes`
112119
for more details.
113120
- The :dbcommand:`movePrimary` command cannot be used to reassign the
114121
primary shard while syncing.
115122
- There is no replication for zone configuration. ``mongosync``
116-
replicates data, it does not inherit zones.
123+
replicates data, it doesn't inherit zones.
117124
- Shards cannot be added or removed while syncing.
118125
- ``mongosync`` only syncs indexes that exist on all shards.
119126
- ``mongosync`` only syncs indexes that have consistent index
@@ -145,9 +152,9 @@ Reversing
145152
Multiple Clusters
146153
-----------------
147154

148-
- Syncing multiple source clusters to one destination cluster is not
155+
- Syncing multiple source clusters to one destination cluster isn't
149156
supported.
150-
- Syncing one source cluster to many destination clusters is not
157+
- Syncing one source cluster to many destination clusters isn't
151158
supported.
152159

153160
.. _c2c-filtering-limitations:

source/release-notes.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Release Notes
88
.. toctree::
99
:titlesonly:
1010

11+
/release-notes/1.7
1112
/release-notes/1.6
1213
/release-notes/1.5
1314
/release-notes/1.4

source/release-notes/1.2.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,13 @@ Release Notes for ``mongosync`` 1.2
1717
Migrating Older Versions of MongoDB
1818
-------------------------------------
1919

20-
.. include:: /includes/fact-minimum-versions.rst
20+
Starting in version 1.2, ``mongosync`` can sync between clusters running
21+
some older (pre-6.0) releases of MongoDB Server. This feature requires
22+
additional preparation and configuration in pre-6.0 releases.
23+
24+
If you would like to migrate pre-6.0 versions of MongoDB Server
25+
using ``mongosync``, please `contact <https://mongodb.com/contact>`__
26+
your account team to inquire about Professional Services.
2127

2228
Guardrails for Unsupported Versions of MongoDB
2329
----------------------------------------------

source/release-notes/1.7.txt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
.. _c2c-release-notes-1.7:
2+
3+
===============================
4+
Release Notes for mongosync 1.7
5+
===============================
6+
7+
.. default-domain:: mongodb
8+
9+
.. contents:: On this page
10+
:local:
11+
:backlinks: none
12+
:depth: 2
13+
:class: singlecol
14+
15+
.. _1.7.0-c2c-release-notes:
16+
17+
1.7.0 Release
18+
-------------
19+
20+
**Upcoming**
21+
22+
Synchronize Data Between Clusters with Different MongoDB Server Major Versions
23+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24+
25+
.. include:: /includes/cross-version-sync.rst
26+
27+
Minimum Supported Version
28+
-------------------------
29+
30+
In 1.7.0, the minimum supported version of MongoDB is 6.0.8.

0 commit comments

Comments
 (0)