Skip to content

Commit 37773dd

Browse files
author
Dave Cuthbert
authored
DOCSP-28950 capped collections (#121)
* DOCSP-28950 support of capped collections * Release notes * Staging fixes * Review feedback
1 parent 1314e94 commit 37773dd

File tree

7 files changed

+89
-26
lines changed

7 files changed

+89
-26
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Starting in 1.3.0, {+c2c-product-name+} supports :ref:`capped
2+
collections <manual-capped-collection>` with some limitations.
3+
4+
- The minimum server version is 6.0.
5+
- :dbcommand:`convertToCapped` is not supported. If you run
6+
``convertToCapped``, ``mongosync`` exits with an error.
7+
- :dbcommand:`cloneCollectionAsCapped` is not supported.
8+
9+
Capped collections on the source cluster work normally during sync.
10+
11+
Capped collections on the destination cluster have temporary changes
12+
during sync:
13+
14+
- There is no maximum number of documents.
15+
- The maximum document size is 1PB.
16+
17+
``mongosync`` restores the original values for maximum number of
18+
documents and maximum document size during commit.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{+c2c-product-name+} does not replicate :ref:`system collections
2+
<metadata-system-collections>` to the destination cluster.
3+
4+
If you issue a :dbcommand:`dropDatabase` command on the source cluster,
5+
this change is not directly applied on the destination cluster. Instead,
6+
{+c2c-product-name+} drops user collections and views in the database
7+
on the destination cluster, but it does not drop system collections
8+
on that database.
9+
10+
For example, on the destination cluster:
11+
12+
- The drop operation does not affect a user-created
13+
:data:`system.js <<database>.system.js>` collection.
14+
15+
- If you enable profiling, the :data:`system.profile
16+
<<database>.system.profile>` collection remains.
17+
18+
- If you create views on the source cluster and then drop the database,
19+
replicating the drop removes the views, but leaves an empty
20+
:data:`system.views <<database>.system.views>` collection.
21+
22+
In these cases, the replication of ``dropDatabase`` removes all user-created
23+
collections from the database, but leaves its system collections on the
24+
destination cluster.

source/reference/limitations.txt

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ Unsupported Collection Types
7474
----------------------------
7575

7676
- Time-series collections are not supported.
77-
- Capped collections are not supported.
7877
- Clustered collections with :ref:`expireAfterSeconds
7978
<db.createCollection.expireAfterSeconds>` set are not supported.
8079

@@ -137,31 +136,12 @@ Filtered Sync
137136

138137
.. include:: /includes/limitations-filtering.rst
139138

140-
System Collections
139+
Capped Collections
141140
------------------
142141

143-
{+c2c-product-name+} does not replicate :ref:`system collections
144-
<metadata-system-collections>` to the destination cluster.
145-
146-
If you issue a :dbcommand:`dropDatabase` command on the source cluster,
147-
this change is not directly applied on the destination cluster. Instead,
148-
{+c2c-product-name+} drops user collections and views in the database
149-
on the destination cluster, but it does not drop system collections
150-
on that database.
151-
152-
For example, on the destination cluster:
153-
154-
- The drop operation does not affect a user-created
155-
:data:`system.js <<database>.system.js>` collection.
142+
.. include:: /includes/collections/behavior-capped-collections.rst
156143

157-
- If you enable profiling, the :data:`system.profile
158-
<<database>.system.profile>` collection remains.
159-
160-
- If you create views on the source cluster and then drop the database,
161-
replicating the drop removes the views, but leaves an empty
162-
:data:`system.views <<database>.system.views>` collection.
163-
164-
In these cases, the replication of ``dropDatabase`` removes all user-created
165-
collections from the database, but leaves its system collections on the
166-
destination cluster.
144+
System Collections
145+
------------------
167146

147+
.. include:: /includes/collections/behavior-system-collections.rst

source/reference/mongosync.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,20 @@ later.
221221

222222
.. include:: /includes/fact-write-blocking-requirement.rst
223223

224+
.. _c2c-capped-collections:
225+
226+
Capped Collections
227+
~~~~~~~~~~~~~~~~~~
228+
229+
.. include:: /includes/collections/behavior-capped-collections.rst
230+
231+
.. _c2c-system-collections:
232+
233+
System Collections
234+
~~~~~~~~~~~~~~~~~~
235+
236+
.. include:: /includes/collections/behavior-system-collections.rst
237+
224238
Examples
225239
--------
226240

source/release-notes.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,6 @@ Release Notes
1212
/release-notes/1.0
1313
/release-notes/1.1
1414
/release-notes/1.2
15+
/release-notes/1.3
16+
1517

source/release-notes/1.2.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. _c2c-release-notes-1.1:
1+
.. _c2c-release-notes-1.2:
22

33
===================================
44
Release Notes for ``mongosync`` 1.2

source/release-notes/1.3.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
.. _c2c-release-notes-1.3:
2+
3+
===================================
4+
Release Notes for ``mongosync`` 1.3
5+
===================================
6+
7+
.. default-domain:: mongodb
8+
9+
.. contents:: On this page
10+
:local:
11+
:backlinks: none
12+
:depth: 1
13+
:class: singlecol
14+
15+
.. note::
16+
17+
Upcoming.
18+
19+
20+
Capped Collections
21+
------------------
22+
23+
Starting in 1.3.0, {+c2c-product-name+} supports :ref:`capped
24+
collections <manual-capped-collection>`. For more information, see
25+
:ref:`c2c-capped-collections`.

0 commit comments

Comments
 (0)