forked from mongodb/docs-cluster-to-cluster-sync
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlimitations.txt
175 lines (136 loc) · 5.96 KB
/
limitations.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
.. _c2c-limitations:
===========
Limitations
===========
.. default-domain:: mongodb
.. contents:: On this page
:local:
:backlinks: none
:depth: 1
:class: twocols
.. warning::
``mongosync`` does not check for compliance with the documented
limitations. Please ensure that your application is not affected by
the limitations. Running ``mongosync`` in the presence of one of
these limitations could lead to undefined behavior on the destination
cluster.
General Limitations
-------------------
.. note::
For information on MongoDB server compatility, see
:ref:`c2c-server-version-compatibility`.
- The destination cluster must be empty.
- ``mongosync`` doesn't validate that the clusters or the environment
are properly configured.
- Other clients must not write to the destination cluster while
``mongosync`` is running.
- If write blocking is disabled, the client must :ref:`prevent writes
<c2c-api-start>` to the source cluster before starting the commit
process.
- :ref:`system.* collections <metadata-system-collections>` aren't
replicated.
- Documents that have dollar (``$``) prefixed field names aren't
supported. See :ref:`Field Names with Periods and Dollar Signs
<crud-concepts-dot-dollar-considerations>`.
- Serverless clusters aren't supported.
- A MongoDB Shared Tier isn't supported.
- `Queryable Encryption
<https://www.mongodb.com/docs/v6.0/core/queryable-encryption/>`__
isn't supported.
- You cannot sync a collection that has a unique index and a non-unique
index defined on the same field(s).
- .. include:: /includes/fact-atlas-require-indexes-limitation.rst
- ``mongosync`` doesn't sync users or roles.
- .. include:: /includes/fact-applyOps.rst
- ``mongosync`` must read from the source cluster using the
:readmode:`primary` read preference.
- ``mongosync`` does not support syncing
`Atlas Search Indexes <https://www.mongodb.com/docs/atlas/atlas-search/create-index/>`__.
MongoDB Community Edition
-------------------------
MongoDB does not test {+c2c-product-name+} with Community builds and in
most cases, MongoDB does not offer support for {+c2c-product-name+} with
Community deployments. If you would like to use {+c2c-product-name+}
with MongoDB Community Edition, contact a MongoDB sales representative
to discuss requirements and individualized options.
Unsupported Collection Types
----------------------------
- Time-series collections aren't supported.
- Clustered collections with :ref:`expireAfterSeconds
<db.createCollection.expireAfterSeconds>` set aren't supported.
.. _c2c-sharded-limitations:
Sharded Clusters
----------------
- ``mongosync`` doesn't support sync from a sharded cluster
to a replica set.
- ``mongosync`` doesn't support sync to a sharded cluster
topology with one or more arbiters.
- Sync from a replica set to a sharded cluster has the following
limitations:
- ``mongosync`` allows users to rename collections that the
``sharding.shardingEntries`` option for the :ref:`c2c-api-start`
command includes during sync. To see limitations on renaming
collections while ``mongosync`` is running, see :ref:`Renaming
During Sync <rename-during-sync>`.
- When using the ``sharding.createSupportingIndexes`` option to create
indexes supporting shard keys on the destination cluster during
sync, you cannot create these indexes afterwards on the source
cluster.
The index must either exist before ``mongosync`` starts or be
created after the migration is complete and ``mongosync`` has
stopped.
- Within a collection, the ``_id`` field must be unique across all of
the shards in the cluster. See :ref:`sharded-clusters-unique-indexes`
for more details.
- The :dbcommand:`movePrimary` command cannot be used to reassign the
primary shard while syncing.
- There is no replication for zone configuration. ``mongosync``
replicates data, it doesn't inherit zones.
- 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.
.. note::
To check for index inconsistencies, see :ref:`Find Inconsistent
Indexes Across Shards <manage-indexes-find-inconsistent-indexes>`.
- You must stop the balancer on a sharded source cluster until
mongosync finishes the collection copy phase.
.. note::
After stopping the balancer, wait fifteen minutes before
starting ``mongosync``. This gives the cluster time to
finish any in progress chunk migrations.
- You must not run the :dbcommand:`moveChunk` and
:dbcommand:`moveRange` commands on the source cluster.
- The shard key cannot be :ref:`refined <shard-key-refine>` while
syncing.
- The :dbcommand:`reshardCollection` operations from the source cluster
are not supported during sync.
- The maximum number of indexes per sharded collection is 63, which is
one less than the :ref:`default limit
<limit-number-of-indexes-per-collection>` of 64.
- ``mongosync`` only supports syncing sharded collections that have
default :ref:`collation <collation>` settings.
Reversing
---------
- If the old source has :ref:`unique indexes <index-type-unique>` which
are partially distributed across shards, reversing may cause failures.
Ensure that unique indexes exist on all shards before reversing.
- .. include:: /includes/fact-reverse-limitation.rst
.. _multiple-clusters-limitations:
Multiple Clusters
-----------------
- ``mongosync`` does not support syncing multiple source clusters to one
destination cluster.
- One cluster cannot simultaneously be a source cluster in one
``mongosync`` instance and a destination cluster in another
``mongosync`` instance.
.. _c2c-filtering-limitations:
Filtered Sync
-------------
.. include:: /includes/limitations-filtering.rst
Capped Collections
------------------
.. include:: /includes/collections/behavior-capped-collections.rst
System Collections
------------------
.. include:: /includes/collections/behavior-system-collections.rst