Skip to content

Commit 358897e

Browse files
author
Anthony Sansone
committed
Fixed conflict
2 parents c5454ae + f586494 commit 358897e

File tree

61 files changed

+1803
-248
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+1803
-248
lines changed

config/build_conf.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ project:
1010
branched: true
1111
siteroot: true
1212
version:
13-
release: '4.0.0-rc5'
13+
release: '4.0.0-rc6'
1414
branch: '4.0'
1515
system:
1616
files:

config/redirects

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1428,6 +1428,8 @@ raw: /master/release-notes/3.0-general-improvements -> ${base}/release-notes/3.0
14281428
[*]: /${version}/release-notes/2.8-general-improvements -> ${base}/${version}/release-notes/3.0
14291429
[*]: /${version}/release-notes/2.8-changes -> ${base}/${version}/release-notes/3.0
14301430

1431+
[v3.6-v3.6]: /${version}/upcoming -> ${base}/master/release-notes/4.0/
1432+
14311433
raw: /v2.8 -> ${base}/v3.0
14321434
raw: /v2.8/release-notes/2.8-downgrade -> ${base}/v3.0/release-notes
14331435
raw: /v2.8/release-notes/2.8-compatibility -> ${base}/v3.0/release-notes

source/changeStreams.txt

Lines changed: 80 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,61 @@ Change Streams
2121
Change streams allow applications to access real-time data changes
2222
without the complexity and risk of tailing the :term:`oplog`.
2323
Applications can use change streams to subscribe to all data changes on
24-
a collection and immediately react to them.
24+
a single collection, a database, or an entire deployment, and
25+
immediately react to them. Because change streams use the aggregation
26+
framework, applications can also filter for specific changes or
27+
transform the notifications at will.
28+
29+
Change stream is available for :doc:`replica sets <replication>` and
30+
:doc:`sharded clusters </sharding>` that use :ref:`WiredTiger
31+
<storage-wiredtiger>` storage engine and replica set protocol version 1
32+
(:rsconf:`pv1 <protocolVersion>`). Change streams can also be used on
33+
deployments which employ MongoDB's
34+
:ref:`encryption-at-rest<encrypted-storage-engine>` feature.
35+
36+
Watch Collection/Database/Deployment
37+
------------------------------------
38+
39+
You can open change streams against:
40+
41+
- A single collection (except ``system`` collections, or any
42+
collections in the ``admin``, ``local``, and ``config`` databases)
43+
44+
See the :binary:`~bin.mongo` shell method
45+
:method:`db.collection.watch()`.
46+
47+
For the corresponding MongoDB driver method, refer to your driver
48+
documentation.
49+
50+
- .. versionadded:: 4.0
51+
52+
A database (excluding the ``admin``, ``local``, ``config``
53+
databases). The change stream watches for changes to all
54+
non-``system`` collections in the database.
55+
56+
:binary:`~bin.mongo` shell provides the method
57+
:method:`db.watch()`. For the corresponding MongoDB driver method,
58+
refer to your driver documentation.
59+
60+
- .. versionadded:: 4.0
61+
62+
An entire deployment, either a replica set or a sharded cluster.
63+
The change stream watches for changes to all non-``system``
64+
collections across all databases, except for the ``admin``.
65+
``local``, and ``config`` databases.
66+
67+
:binary:`~bin.mongo` shell provides the
68+
method :method:`Mongo.watch()`. For the corresponding MongoDB
69+
driver method, refer to your driver documentation.
2570

2671
Open A Change Stream
2772
--------------------
2873

29-
You can only open a change stream against :doc:`replica sets
30-
<replication>` or :doc:`sharded clusters </sharding>`. For a sharded
31-
cluster, you must issue the open change stream operation against the
32-
:binary:`~bin.mongos`.
74+
For a replica set, you can open change stream for any of the
75+
data-bearing members.
3376

34-
The replica set or the sharded cluster must use replica set protocol
35-
version 1 (:rsconf:`pv1 <protocolVersion>`) and :ref:`WiredTiger
36-
<storage-wiredtiger>` storage engine (can be :ref:`encrypted
37-
<encrypted-storage-engine>`).
77+
For a sharded cluster, you must issue the open change stream operation
78+
against the :binary:`~bin.mongos`.
3879

3980
.. tabs-drivers::
4081

@@ -89,9 +130,9 @@ version 1 (:rsconf:`pv1 <protocolVersion>`) and :ref:`WiredTiger
89130
<https://docs.mongodb.com/ruby-driver/master/tutorials/ruby-driver-create-client/>`__
90131
that contains an ``inventory`` collection.
91132

92-
The following example opens a change stream against a replica set. The change stream is bound to a collection and
93-
change stream documents are iterated with a cursor. This cursor remains open until it is explicitly closed,
94-
as long as a connection to the MongoDB deployment remains open *and* the collection exists.
133+
The following example opens a change stream for a collection and iterates over the cursor to retrieve the
134+
change stream documents . As long as the connection to the MongoDB deployment remains open *and* the collection exists,
135+
this cursor remains open until it is explicitly closed.
95136

96137
.. tabs-drivers::
97138

@@ -611,8 +652,33 @@ Access Control
611652
--------------
612653

613654
For deployments enforcing :ref:`authentication` and :ref:`authorization
614-
<authorization>`, applications can only open change streams against
615-
collections they have read access to.
655+
<authorization>`:
656+
657+
- To open a change stream against specific collection, applications
658+
must have privileges that grant :authaction:`changeStream` and
659+
:authaction:`find` actions on the corresponding collection.
660+
661+
.. code-block:: javascript
662+
663+
{ resource: { db: <dbname>, collection: <collection> }, actions: [ "find", "changeStream" ] }
664+
665+
- To open a change stream on a single databases, applications must have
666+
privileges that grant :authaction:`changeStream` and
667+
:authaction:`find` actions on all non-``system`` collections in a
668+
database.
669+
670+
.. code-block:: javascript
671+
672+
{ resource: { db: <dbname>, collection: "" }, actions: [ "find", "changeStream" ] }
673+
674+
- To open a change stream on an entire deployment, applications must
675+
have privileges that grant :authaction:`changeStream` and
676+
:authaction:`find` actions on all non-``system`` collections for all
677+
databases in the deployment.
678+
679+
.. code-block:: javascript
680+
681+
{ resource: { db: "", collection: "" }, actions: [ "find", "changeStream" ] }
616682

617683
Event Notification
618684
------------------

source/core/kerberos.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ names have the form:
6363
For every user you want to authenticate using Kerberos, you must create
6464
a corresponding user in MongoDB in the ``$external`` database.
6565

66+
.. include:: /includes/extracts/sessions-external-username-limit.rst
67+
6668
For examples of adding a user to MongoDB as well as authenticating as
6769
that user, see
6870
:doc:`/tutorial/control-access-to-mongodb-with-kerberos-authentication`

source/core/read-isolation-consistency-recency.txt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@ the following behavior:
4141

4242
.. include:: /includes/extracts/concurrent-operations-multi-document-writes-no-isolation.rst
4343

44-
.. seealso:: :doc:`/core/write-operations-atomicity`
44+
Starting in version 4.0, for situations that require atomicity for
45+
updates to multiple documents or consistency between reads to multiple
46+
documents, MongoDB provides :doc:`multi-document transactions
47+
</core/transactions>` for replica sets.
4548

4649
.. _faq-developers-isolate-cursors:
4750

@@ -96,18 +99,19 @@ Client Sessions
9699

97100
.. important::
98101

102+
The following discussion refers to client sessions, which are
103+
separate from server sessions.
104+
99105
To use client sessions:
100106

101-
- Clients require MongoDB drivers updated for MongoDB 3.6:
107+
- Clients require MongoDB drivers updated for MongoDB 3.6 or later:
102108

103109
.. include:: /includes/3.6-drivers.rst
104110

105111
- ``featureCompatibilityVersion`` must be set to "3.6" or greater. For more
106112
information, see :ref:`view-fcv` and
107113
:dbcommand:`setFeatureCompatibilityVersion`.
108114

109-
The following discussion refers to client sessions, which are
110-
separate from server sessions.
111115

112116
To provide causal consistency, MongoDB 3.6 enables causal consistency
113117
in client sessions. A causally consistent session denotes that the
@@ -250,7 +254,7 @@ causally consistent:
250254
- Returns an error if the operation is associated with a causally
251255
consistent client session.
252256

253-
* - :dbcommand:`createIndex` with ``background: true`` option; i.e.
257+
* - :dbcommand:`createIndexes` with ``background: true`` option; i.e.
254258
background index builds
255259

256260
-

source/core/security-encryption-at-rest.txt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,18 @@ read the data.
3434
Encryption Process
3535
~~~~~~~~~~~~~~~~~~
3636

37+
.. admonition:: Changed in version 4.0
38+
:class: note
39+
40+
MongoDB Enterprise on Windows no longer supports ``AES256-GCM``.
41+
3742
If encryption is enabled, the default encryption mode that MongoDB
3843
Enterprise uses is the ``AES256-CBC`` (or 256-bit Advanced Encryption
3944
Standard in Cipher Block Chaining mode) via OpenSSL. AES-256 uses a
4045
symmetric key; i.e. the same key to encrypt and decrypt text. MongoDB
41-
Enterprise also supports authenticated encryption ``AES256-GCM`` (or
42-
256-bit Advanced Encryption Standard in Galois/Counter Mode). FIPS mode
43-
encryption is also available.
46+
Enterprise for Linux also supports authenticated encryption
47+
``AES256-GCM`` (or 256-bit Advanced Encryption Standard in
48+
Galois/Counter Mode). FIPS mode encryption is also available.
4449

4550
.. warning::
4651

@@ -51,6 +56,7 @@ encryption is also available.
5156
:binary:`~bin.mongod` instance, the :binary:`~bin.mongod` instances may use
5257
the duplicate counter block values, voiding confidentiality and integrity
5358
guarantees.
59+
5460

5561
The data encryption process includes:
5662

source/core/security-ldap-external.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ The LDAP Authorization process is summarized below:
2929
:ref:`authentication <authentication>` mechanism that
3030
:ref:`supports external authentication
3131
<security-ldap-external-compatibility>`.
32+
33+
.. include:: /includes/extracts/sessions-external-username-limit.rst
3234

3335
#. MongoDB binds to to the LDAP server specified with :setting:`security.ldap.servers`
3436
using the credentials specified with :setting:`security.ldap.bind.queryUser` and

source/core/security-ldap.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ on the ``$external`` database whose name exactly matches the authentication
6262
username. Changes to a user on the LDAP server may require changes to the
6363
corresponding MongoDB ``$external`` user.
6464

65+
.. include:: /includes/extracts/sessions-external-username-limit.rst
66+
6567
.. example::
6668

6769
A user authenticates as ``[email protected]``. The MongoDB server

source/core/security-x.509.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ than one MongoDB user.
5858
Add the user in the ``$external`` database; i.e. the
5959
:ref:`authentication-database` is the ``$external`` database
6060

61+
.. include:: /includes/extracts/sessions-external-username-limit.rst
62+
6163
Authenticate
6264
~~~~~~~~~~~~
6365

source/core/transactions.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,16 @@ Transactions and Security
117117

118118
- If running with :doc:`access control </core/authorization>`, you must
119119
have privileges for the :ref:`operations in the transaction
120-
<transactions-operations>`.
120+
<transactions-operations>`. [#username-external]_
121121

122122
- If running with :doc:`auditing </core/auditing>`, operations in an
123123
aborted transaction are still audited.
124124

125+
.. [#username-external]
126+
127+
If using ``$external`` authentication users (i.e. Kerberos, LDAP,
128+
x.509 users), the usernames cannot be greater than 10k bytes.
129+
125130
Transactions and Locks
126131
----------------------
127132

0 commit comments

Comments
 (0)