Skip to content

Cross-link commands and methods for adding and removing shards #4807

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 78 commits into
base: v6.1
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
cbe1396
Revert 5.0-specific updates
Nov 11, 2020
784e1df
adjust redirects
Nov 11, 2020
a07fb8c
DOCSP-13127 correct version mismatches between branches
andf-mongodb Nov 11, 2020
c473c26
Update redirects
andf-mongodb Nov 11, 2020
1e52d3e
DOCS-13914 update 4.0.21 changelog
andf-mongodb Nov 11, 2020
4ed0303
DOCS-13914 update 4.0.21 summary ticket description
andf-mongodb Nov 11, 2020
e794d61
DOCSP-11589 update pre-3.6 reading own writes section
andf-mongodb Nov 11, 2020
96576aa
Trivial: correct capitalization of ID
andf-mongodb Nov 12, 2020
b7ec492
Trivial: correct capitalization of ID
andf-mongodb Nov 12, 2020
04cdee0
(DOCSP-11857): SERVER-49694 fixed in 4.1.1
jeff-allen-mongo Aug 18, 2020
0fe7c84
(DOCS-13839): Rename ocspValidationRefreshPeriodSecs param
jeff-allen-mongo Aug 18, 2020
12799c8
DOCSP-11989 Slave ok no longer documented
jason-price-mongodb Nov 12, 2020
c444c3c
DOCSP-13033 properly pluralizes "tutorials"
jmd-mongo Nov 12, 2020
cbce7e9
DOCS-13955 release 3.6.21
andf-mongodb Nov 16, 2020
51e3e38
DOCS-13970 generate initial changelog 4.2.11
andf-mongodb Nov 16, 2020
cca0d0a
DOCSP-10628 substrCP example correction
jmd-mongo Nov 16, 2020
0c882bc
(DOCS-13945): Read/Write concern not honored on local db
Nov 16, 2020
9846acb
DOCS-13806, DOCS-13241, DOCSP-12341 update macOS brew install doc
andf-mongodb Aug 4, 2020
15cd5de
DOCS-13959 release 4.4.2
andf-mongodb Nov 18, 2020
d6b8a95
DOCS-13970 release 4.2.11
andf-mongodb Nov 18, 2020
5aee32c
DOCS-13917 forbid manual writes to oplog when replset
andf-mongodb Nov 6, 2020
eaec9b0
DOCS-13778 Add pipeline, arrayFilters metrics to serverStatus
mungitoperrito Oct 21, 2020
5e0a3fe
DOCS-13959 add back missing 4.4.2 tickets to changelog
andf-mongodb Nov 18, 2020
4101486
raise issue limit for changelog script
Nov 19, 2020
372d0ee
DOCS-13846 error message for createIndex
mungitoperrito Nov 17, 2020
e35007b
DOCS-13846 fix code-block intendation
andf-mongodb Nov 20, 2020
540fddf
DOCS-13977 clarify serverStatus.network ingress only
andf-mongodb Nov 20, 2020
062e75f
DOCSP-13287 explicit CSFLE docs reference automatic CSFLE erroneously
andf-mongodb Nov 20, 2020
0aec0a5
DOCS-13995 refresh 4.2.11 changelog
andf-mongodb Nov 23, 2020
8a32b9d
DOCSP-11591 update SELinux FTDC note, still required
andf-mongodb Nov 23, 2020
c239c19
DOCSP-13255 fix TLS enchange private key
andf-mongodb Nov 20, 2020
ea19078
(DOCS-13867): filter for profiler
Oct 29, 2020
55543d9
DOCSP-13402 add drop unique system index step to 4.2 downg instructions
andf-mongodb Nov 30, 2020
3a8a69c
DOCSP-13412 remove :samp: directive from manual
andf-mongodb Dec 1, 2020
36318b7
(DOCS-14025): Fix sort order for objects
Dec 1, 2020
a96841f
DOCS-13983 platform support add AMZN Linux2 3.6 foreport
andf-mongodb Dec 4, 2020
c7567f8
DOCS-9994,DOCSP-13487 document sort stability change in v4.4
andf-mongodb Dec 4, 2020
409ff41
DOCSP-11905 updates ObjectId entry in reference glossary
jmd-mongo Dec 3, 2020
e41f067
DOCS-13885 add sampleRate match operator
mungitoperrito Nov 20, 2020
d1c98d5
DOCSP-13192 provide greater detail on the round-to-even method
mungitoperrito Dec 2, 2020
9052494
Revert "DOCSP-9411 add warning re dropped indexes during replication"
mungitoperrito Dec 9, 2020
f9be5a8
DOCSP-13571 add missing default for systemLog params
andf-mongodb Dec 9, 2020
e24baab
DOCSP-13116 oplog space reclamation might require restart
jmd-mongo Dec 8, 2020
736667b
DOCSP-13116 oplog space reclamation might require restart
jmd-mongo Dec 8, 2020
f5fd62e
remove reference to natural
asya999 Dec 4, 2020
ef5255f
Update cursor.skip.txt
asya999 Dec 8, 2020
043afca
Update cursor.skip.txt
asya999 Dec 8, 2020
5e75d59
DOCSP-13532 extend DOCS-9994 to cursor.limit() and cursor.skip()
andf-mongodb Dec 7, 2020
caba839
DOCSP-13615 fix balancing shard by country example
andf-mongodb Dec 14, 2020
03fed32
DOCSP-13625 fix formatting on $expr behavior section
andf-mongodb Dec 15, 2020
4c148cd
DOCSP-13627 correct typo findAndModify upsert
andf-mongodb Dec 15, 2020
631df97
DOCSP-13579 clean up inconsistent formating of subsections
mungitoperrito Dec 9, 2020
ac03311
DOCS-14061 generate initial changelog for 4.0.22
andf-mongodb Dec 16, 2020
1ca8a2c
DOCS-14062 generate initial changelog for 4.4.3
andf-mongodb Dec 16, 2020
bd108e0
DOCSP-13652 fix subject verb agreement error
mungitoperrito Dec 16, 2020
a442cb5
DOCSP-13972 clean shutdown notice for v4.4 downgrade docs
jmd-mongo Dec 15, 2020
4a75972
DOCS-14053 sampleRate misclassified as stage
mungitoperrito Dec 14, 2020
b5c9a23
DOCSP-13712 replace term relative for pwd()
andf-mongodb Dec 22, 2020
7a06636
DOCS-14049 "Index Intersection and Sort" clarification
jmd-mongo Dec 21, 2020
f9addbf
DOCSP-13725 update returns section with array name
andf-mongodb Dec 28, 2020
f1eac0a
DOCSP-13735 add empty array result for setIntersection
andf-mongodb Dec 28, 2020
87b412d
DOCSP-13710 monotonically changing shard keys
jmd-mongo Dec 22, 2020
21f16e4
DOCS-14070 finalize and release 4.4.3 changelog
andf-mongodb Jan 4, 2021
4017884
DOCS-14069 finalize and release 4.0.22 changelog
andf-mongodb Jan 4, 2021
a402645
DOCS-13985 clarifies when compound indexes can contain a hashed index…
jmd-mongo Dec 29, 2020
63fb637
(DOCS-11033): Add limitation for 3.2 and earlier multikey indexes
jeff-allen-mongo Jan 8, 2021
cb05ef5
DOCS-14070 refresh 4.4.3 changelog +7d
andf-mongodb Jan 11, 2021
e30d35a
DOCS-14043 change field to notPrimaryUnacknowledgedWrites
mungitoperrito Dec 29, 2020
a036613
DOCS-14042 change field to notPrimaryLegacyUnacknowledgedWrites
mungitoperrito Dec 29, 2020
fcfca6e
DOCSP-13914 fix broken spidermonkey links, 3.2 and 2.4 legacy
andf-mongodb Jan 12, 2021
b1faa52
DOCSP-13616 deemphasize alternate windows install method crosslinks
andf-mongodb Jan 12, 2021
b335602
DOCS-13883 add random number generator
mungitoperrito Dec 29, 2020
1e70951
DOCSP-13944 clarify _id resumeToken definition for change streams
andf-mongodb Jan 13, 2021
75f8b5a
DOCS-13981 clarify read preference nearest
andf-mongodb Jan 13, 2021
24ab696
DOCS-14121 generate initial changelog for 4.2.12
andf-mongodb Jan 14, 2021
f47e1d8
DOCS-14051 Documentation for sinh cosh tanh
jason-price-mongodb Dec 17, 2020
e184064
DOCS-13883 Update left nav index
mungitoperrito Jan 14, 2021
ebb4df8
Cross-link commands and methods for adding and removing shards
p Jan 16, 2021
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
2 changes: 1 addition & 1 deletion changelogs/generatechangelogs.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ def get_jira_issues(fixVersion):
# Run the JIRA query
query = "project in {0} and fixVersion = {1} and resolution = 'Fixed' ORDER BY key ASC".format(
projects, fixVersion)
issues = auth_jira.search_issues(query, maxResults=200)
issues = auth_jira.search_issues(query, maxResults=500)

logger.info("building changelog for {0} with {1} issue(s)".format(
fixVersion, len(issues)))
Expand Down
2 changes: 1 addition & 1 deletion conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ def has(self, *args):
])

source_constants = {
'version-dev': '4.9', # Current development branch
'version-dev': '4.3', # Current development branch
'package-name-org': 'mongodb-org',
'package-name-enterprise': 'mongodb-enterprise',
'version': version,
Expand Down
4 changes: 2 additions & 2 deletions config/build_conf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ project:
branched: true
siteroot: true
version:
release: '5.0.0'
branch: '5.0'
release: '4.4.2'
branch: '4.4'
system:
files:
- 'pdfs.yaml'
Expand Down
10 changes: 8 additions & 2 deletions config/redirects
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
define: base https://docs.mongodb.com
define: versions v2.2 v2.4 v2.6 v3.0 v3.2 v3.4 v3.6 v4.0 v4.2 v4.4 master
symlink: upcoming -> v4.4
symlink: manual -> v4.4
symlink: upcoming -> v4.4
symlink: master -> v4.4
symlink: v4.4 -> master

[v2.2]: /${version}/core/read-operations-introduction -> ${base}/${version}/core/read-operations
[v2.2]: /${version}/core/write-operations-introduction -> ${base}/${version}/core/write-operations
Expand Down Expand Up @@ -1454,6 +1454,9 @@ raw: /master/release-notes/3.0-general-improvements -> ${base}/release-notes/3.0
[*-v4.0]: /${version}/reference/operator/aggregation/asinh -> ${base}/${version}/reference/operator/aggregation
[*-v4.0]: /${version}/reference/operator/aggregation/acosh -> ${base}/${version}/reference/operator/aggregation
[*-v4.0]: /${version}/reference/operator/aggregation/atanh -> ${base}/${version}/reference/operator/aggregation
[*-v4.0]: /${version}/reference/operator/aggregation/sinh -> ${base}/${version}/reference/operator/aggregation
[*-v4.0]: /${version}/reference/operator/aggregation/cosh -> ${base}/${version}/reference/operator/aggregation
[*-v4.0]: /${version}/reference/operator/aggregation/tanh -> ${base}/${version}/reference/operator/aggregation
[*-v4.0]: /${version}/reference/operator/aggregation/degreesToRadians -> ${base}/${version}/reference/operator/aggregation
[*-v4.0]: /${version}/reference/operator/aggregation/radiansToDegrees -> ${base}/${version}/reference/operator/aggregation

Expand Down Expand Up @@ -1664,6 +1667,9 @@ raw: /v2.8/release-notes/2.8-changes -> ${base}/v3.0/release-notes/3.0
[v3.0-v4.0]: /${version}/reference/operator/aggregation/asinh -> ${base}/${version}/reference/operator/aggregation
[v3.0-v4.0]: /${version}/reference/operator/aggregation/acosh -> ${base}/${version}/reference/operator/aggregation
[v3.0-v4.0]: /${version}/reference/operator/aggregation/atanh -> ${base}/${version}/reference/operator/aggregation
[v3.0-v4.0]: /${version}/reference/operator/aggregation/sinh -> ${base}/${version}/reference/operator/aggregation
[v3.0-v4.0]: /${version}/reference/operator/aggregation/cosh -> ${base}/${version}/reference/operator/aggregation
[v3.0-v4.0]: /${version}/reference/operator/aggregation/tanh -> ${base}/${version}/reference/operator/aggregation
[v3.0-v4.0]: /${version}/reference/operator/aggregation/degreesToRadians -> ${base}/${version}/reference/operator/aggregation
[v3.0-v4.0]: /${version}/reference/operator/aggregation/radiansToDegrees -> ${base}/${version}/reference/operator/aggregation

Expand Down
1 change: 0 additions & 1 deletion config/sphinx_local.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@ theme:
- /release-notes/4.0
- /release-notes/4.2
- /release-notes/4.4
- /release-notes/5.0
- /security
- /sharding
- /changeStreams
Expand Down
6 changes: 3 additions & 3 deletions snooty.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name = "manual"

[constants]
package-branch = "5.0" # For rc = testing. For GA, will be 4.2.
windows-dir-version = "5.0" # The wizard installs in 4.2 branch
package-branch = "4.4" # For rc = testing. For GA, will be 4.2.
windows-dir-version = "4.4" # The wizard installs in 4.2 branch
package-name-org = "mongodb-org"
package-name-enterprise = "mongodb-enterprise"
version = "5.0"
version = "4.4"
release = "{+release+}"
pgp-version = "{+version+}"
pgp-fingerprint = "E162F504A20CDF15827F718D4B7C549A058F8B6B"
Expand Down
2 changes: 1 addition & 1 deletion source/administration/production-notes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ Recommended Platforms
~~~~~~~~~~~~~~~~~~~~~

While MongoDB supports a variety of platforms, the following operating
systems are recommended for production use:
systems are recommended for production use on ``x86_64`` architecture:

- Amazon Linux 2
- Debian 9 and 10
Expand Down
2 changes: 1 addition & 1 deletion source/core/data-modeling-introduction.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Flexible Schema

Unlike SQL databases, where you must determine and declare a table's
schema before inserting data, MongoDB's :term:`collections
<collection>`, by default, does not require its :doc:`documents
<collection>`, by default, do not require their :doc:`documents
</core/document>` to have the same schema. That is:

- The documents in a single collection do not need to have the same set
Expand Down
20 changes: 16 additions & 4 deletions source/core/index-compound.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,22 @@ operation that resembles the following prototype:

.. include:: /includes/fact-index-specification-field-value.rst

.. important:: You may not create compound indexes that have
``hashed`` index type. You will receive an error if you attempt to
create a compound index that includes :doc:`a hashed index
field </core/index-hashed>`.
.. important::

Starting in MongoDB 4.4:

- Compound indexes may contain **a single** :doc:`hashed index field
</core/index-hashed>`.
- You will receive an error if you attempt to create a compound index
that contains more than one :doc:`hashed index field
</core/index-hashed>`.

In MongoDB 4.2 or earlier:

- Compound indexes may **not** contain a :doc:`hashed index field
</core/index-hashed>`.
- You will receive an error if you attempt to create a compound index
that contains a :doc:`hashed index field </core/index-hashed>`.

Consider a collection named ``products`` that holds documents that
resemble the following document:
Expand Down
41 changes: 15 additions & 26 deletions source/core/index-creation.txt
Original file line number Diff line number Diff line change
Expand Up @@ -129,21 +129,25 @@ Index Build Impact on Database Performance
------------------------------------------

Index Builds During Write-Heavy Workloads
Building indexes during time periods where the target collection
is under heavy write load can result in reduced write
performance and longer index builds.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Consider designating a maintenance window during which applications
stop or reduce write operations against the collection. Start the
index build during this maintenance window to mitigate the
potential negative impact of the build process.
Building indexes during time periods where the target collection
is under heavy write load can result in reduced write
performance and longer index builds.

Consider designating a maintenance window during which applications
stop or reduce write operations against the collection. Start the
index build during this maintenance window to mitigate the
potential negative impact of the build process.

Insufficient Available System Memory (RAM)
.. include:: /includes/fact-index-build-default-memory-limit.rst
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. include:: /includes/fact-index-build-default-memory-limit.rst

If the host machine has limited available free RAM, you may need
to schedule a maintenance period to increase the total system RAM
before you can modify the :binary:`~bin.mongod` RAM usage.
If the host machine has limited available free RAM, you may need
to schedule a maintenance period to increase the total system RAM
before you can modify the :binary:`~bin.mongod` RAM usage.

.. _index-operations-replicated-build:
.. _index-operations-simultaneous-build:
Expand Down Expand Up @@ -190,21 +194,6 @@ The build process is summarized as follows:
For sharded clusters, the index build occurs only on shards
containing data for the collection being indexed.

.. warning::

Avoid dropping any index on a collection while an index is being
replicated on the secondaries.

If you attempt to drop an index from a collection on a :term:`primary`
node while the collection has a background index building on the
:term:`secondary` nodes, the two indexing operations will conflict
with each other.

As a result, reads will be halted across all namespaces and
replication will halt until the background index build completes.
When the build finishes the dropIndex action will execute, then
reads and replication will resume.

For a more detailed description of the index build process,
see :ref:`index-build-process`.

Expand Down
11 changes: 7 additions & 4 deletions source/core/index-intersection.txt
Original file line number Diff line number Diff line change
Expand Up @@ -133,15 +133,18 @@ For example, the ``orders`` collection has the following indexes:
{ status: 1 }
{ ord_date: -1 }

MongoDB cannot use index intersection for the following query with sort:
MongoDB cannot use index intersection for the following query because
the :method:`~cursor.sort()` requires an index separate from the query
predicate:

.. code-block:: javascript

db.orders.find( { qty: { $gt: 10 } } ).sort( { status: 1 } )

That is, MongoDB does not use the ``{ qty: 1 }`` index for the query,
and the separate ``{ status: 1 }`` or the ``{ status: 1, ord_date: -1
}`` index for the sort.
That is, MongoDB cannot use either of these index intersections:

- ``{ qty: 1 }`` and ``{ status: 1 }``
- ``{ qty: 1 }`` and ``{ status: 1, ord_date: -1 }``

However, MongoDB can use index intersection for the following query
with sort since the index ``{ status: 1, ord_date: -1 }`` can fulfill
Expand Down
14 changes: 14 additions & 0 deletions source/core/index-multikey.txt
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,20 @@ $expr

:query:`$expr` does not support multikey indexes.

Indexes Built on MongoDB 3.2 or Earlier
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Indexes built on MongoDB 3.2 or earlier do not contain the necessary
flags to support optimized multikey index use. To benefit from the
performance enhancements of multikey indexes, you must either:

- Rebuild the older-format indexes on MongoDB 3.4 or later. See
:method:`db.collection.reIndex()`.

- On a replica set, :doc:`resync the replica set members
</tutorial/resync-replica-set-member/>` containing older-format
indexes.

Examples
--------

Expand Down
7 changes: 7 additions & 0 deletions source/core/replica-set-oplog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -257,3 +257,10 @@ the ``local.oplog.rs`` collection from a standalone MongoDB instance,
and we recommend that you do not drop the collection from a standalone
MongoDB v4.0 instance. The :ref:`mongod` requires the oplog for both
:ref:`replication` and recovery of a node if the node goes down.

Starting in MongoDB 4.4.2, it is no longer possible to perform manual
write operations to the :doc:`oplog </core/replica-set-oplog>` on a
cluster running as a :ref:`replica set <replication>`. Performing write
operations to the oplog when running as a
:term:`standalone instance <standalone>` should only be done with
guidance from MongoDB Support.
4 changes: 2 additions & 2 deletions source/core/security-explicit-client-side-encryption.txt
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,12 @@ implementing explicit client-side field level encryption.

The MongoDB 4.2 :binary:`~bin.mongo` shell adds an additional option
to the :method:`Mongo()` method for instantiating a database
connection with automatic client-side field level encryption.
connection with explicit client-side field level encryption.
For a complete example, see
:ref:`mongo-connection-client-side-encryption-enabled`.

Applications must specify the following components when instantiating
the database connection to enable automatic client-side field level
the database connection to enable explicit client-side field level
encryption:

- A :ref:`key vault <field-level-encryption-keyvault>` of data
Expand Down
38 changes: 21 additions & 17 deletions source/core/sharding-shard-key.txt
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ the cluster. See also :ref:`sharding strategy <sharding-strategy>`.

At minimum, consider the consequences of the
:ref:`cardinality<shard-key-range>`, :ref:`frequency<shard-key-frequency>`, and
rate of :ref:`change<shard-key-monotonic>` of a potential shard key.
:ref:`monotonicity<shard-key-monotonic>` of a potential shard key.

.. note::

Expand Down Expand Up @@ -269,11 +269,12 @@ inserts may look similar to the following:
The cluster in this example would *not* scale horizontally, as incoming writes
would only route to a subset of shards.

A shard key with high cardinality does not guarantee even distribution of data
across the sharded cluster, though it does better facilitate horizontal
scaling. The :ref:`frequency <shard-key-frequency>` and :ref:`rate of
change <shard-key-monotonic>` of the shard key also contributes to data
distribution. Consider each factor when choosing a shard key.
Choosing a shard key with high cardinality does not, on its own,
guarantee even distribution of data across the sharded cluster. The
:ref:`frequency <shard-key-frequency>` and
:ref:`monotonicity <shard-key-monotonic>` of the shard key also
contribute to data distribution. Take each factor into account when
choosing a shard key.

If your data model requires sharding on a key that has low cardinality,
consider using a :term:`compound index` using a field that
Expand All @@ -298,19 +299,21 @@ distribution of inserts may look similar to the following:

.. include:: /images/sharded-cluster-ranged-distribution-frequency.rst

A shard key with low frequency does not guarantee even distribution of data
across the sharded cluster. The :ref:`cardinality <shard-key-cardinality>` and
:ref:`rate of change <shard-key-monotonic>` of the shard key also contributes
to data distribution. Consider each factor when choosing a shard key.
Choosing a shard key with low frequency does not, on its own, guarantee
even distribution of data across the sharded cluster.
The :ref:`cardinality <shard-key-cardinality>` and
:ref:`monotonicity <shard-key-monotonic>` of the shard key also
contribute to data distribution. Take each factor into account when
choosing a shard key.

If your data model requires sharding on a key that has high frequency
values, consider using a :term:`compound index` using a unique or
low frequency value.

.. _shard-key-monotonic:

Monotonically Changing Shard Keys
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Shard Key Monotonicity
~~~~~~~~~~~~~~~~~~~~~~

A shard key on a value that increases or decreases monotonically is more
likely to distribute inserts to a single shard within the cluster.
Expand All @@ -336,11 +339,12 @@ distribution of inserts may look similar to the following:
If the shard key value was monotonically decreasing, then all inserts would
route to ``Chunk A`` instead.

A shard key that does not change monotonically does not guarantee even
distribution of data across the sharded cluster. The
:ref:`cardinality<shard-key-cardinality>` and
:ref:`frequency<shard-key-frequency>` of the shard key also contributes to
data distribution. Consider each factor when choosing a shard key.
Choosing a shard key that does not change monotonically does not, on
its own, guarantee even distribution of data across the sharded cluster.
The :ref:`cardinality<shard-key-cardinality>` and
:ref:`frequency<shard-key-frequency>` of the shard key also contribute
to data distribution. Take each factor into account when choosing a
shard key.

If your data model requires sharding on a key that changes
monotonically, consider using :doc:`/core/hashed-sharding`.
Expand Down
8 changes: 8 additions & 0 deletions source/includes/4.4-downgrade-clean-shutdown.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Run the following command from the :binary:`~bin.mongo` shell to
perform a clean shutdown, or refer to
:ref:`terminate-mongod-processes` for additional ways to safely
terminate the :binary:`~bin.mongod` process:

.. code-block:: javascript

db.adminCommand( { shutdown: 1 } )
10 changes: 6 additions & 4 deletions source/includes/changelogs/releases/3.6.21.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
Sharding
~~~~~~~~

:issue:`SERVER-51808` invariant failure: readConcern level != Available
- :issue:`SERVER-51808` invariant failure: readConcern level != Available
- :issue:`SERVER-51885` Blacklist balancing_sessions_collection.js from sharding_csrs_continuous_config_stepdown

Replication
~~~~~~~~~~~
Expand All @@ -21,9 +22,8 @@ Replication
Query
~~~~~

- :issue:`SERVER-50291` Add query knob to enumerate $or children in a different order
- :issue:`SERVER-51083` Problem with regex index bounds
- :issue:`SERVER-51120` Find queries with MERGE_SORT incorrectly sort the results when the collation is specified
- :issue:`SERVER-51120` Find queries with SORT_MERGE incorrectly sort the results when the collation is specified

Storage
~~~~~~~
Expand All @@ -43,11 +43,13 @@ Build and Packaging
Internals
~~~~~~~~~

- :issue:`SERVER-41872` PlanEnumerator AndAssignment::choices ordering not stable and is relevant to set of plans generated
- :issue:`SERVER-45624` Pre-split and distribute chunks of sessions collection
- :issue:`SERVER-50123` Record number of physical cores on all platforms
- :issue:`SERVER-50216` Adjust sys-perf frequencies
- :issue:`SERVER-50605` Add {logMessage: "msg"} test-only command
- :issue:`SERVER-50736` Make OpenSSL explicitly accept SNIs presented in ClientHello
- :issue:`SERVER-50818` Coverity analysis defect 114987: Wrapper object use after free
- :issue:`SERVER-51106` Make the isMaster command a derived class of hello
- :issue:`SERVER-51303` Lookup stage followed by $match on type uses wrong field in matching condition
- :issue:`TOOLS-2590` [v3.6] sslAllowInvalidHostnames bypass ssl/tls server certification validation entirely

5 changes: 4 additions & 1 deletion source/includes/changelogs/releases/4.0.21.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ Query
- :issue:`SERVER-39392` Invariant in PlanStage::dispose always evaluates as true
- :issue:`SERVER-45233` Indexed inequalities to arrays return incorrect results
- :issue:`SERVER-50291` Add query knob to enumerate $or children in a different order
- :issue:`SERVER-51120` Find queries with MERGE_SORT incorrectly sort the results when the collation is specified
- :issue:`SERVER-51083` Problem with regex index bounds
- :issue:`SERVER-51120` Find queries with SORT_MERGE incorrectly sort the results when the collation is specified

Aggregation
~~~~~~~~~~~
Expand Down Expand Up @@ -86,6 +87,8 @@ Internals
- :issue:`SERVER-50736` Make OpenSSL explicitly accept SNIs presented in ClientHello
- :issue:`SERVER-50818` Coverity analysis defect 114987: Wrapper object use after free
- :issue:`SERVER-51106` Make the isMaster command a derived class of hello
- :issue:`SERVER-51608` [4.0] backport implicitly_retry_on_background_op_in_progress.js
- :issue:`SERVER-51802` Add requires_majority_read_concern tag to decrypt_tool.js on v4.0
- :issue:`TOOLS-2589` [v4.0] sslAllowInvalidHostnames bypass ssl/tls server certification validation entirely
- :issue:`WT-6421` Avoid parsing metadata checkpoint for clean files
- :issue:`WT-6559` Use the session id from the new session to determine statistics bucket
Expand Down
Loading