- Release Notes >
- Release Notes for MongoDB 3.4
Release Notes for MongoDB 3.4¶
On this page
MongoDB 3.4 Released Nov 29, 2016
MongoDB 3.4 is now available. Key features include linearizable read concerns, views, and collation.
OpsManager 3.4 is also available. See the Ops Manager documentation and the Ops Manager release notes for more information.
Minor Releases¶
3.4.24 - Jan 27, 2020¶
Issues fixed:
- SERVER-37772: Platform Support: Add Community & Enterprise RHEL 8 x64
- SERVER-37135: TLSVersionCounts needs to track and report TLS 1.3
- SERVER-36315: After stepdown the CSRS dist lock manager keeps trying to unlock locks
- SERVER-37846: writeConcern can be satisfied with an arbiter if the write was committed
- SERVER-38945: SSL performance regression
- SERVER-40355: rs.config that contains an _id greater than the number of nodes will crash
- SERVER-43151: Error in aggregation assertion at value.cpp:1368
- SERVER-44050: Arrays along ‘hashed’ index key path are not correctly rejected
- WT-4956: Handle the case where 4 billion updates are made to a page without eviction
- 3.4.24 Changelog
- All JIRA issues closed in 3.4.24
3.4.23 - Sep 16, 2019¶
Issues fixed:
- SERVER-36394: mongos should reset chunk size tracking information when autosplit = false or splitvector returns too few split points
- SERVER-41829: findAndModify ignores filter expressions that are not objects
- SERVER-42055: Only acquire a collection IX lock to write the lastVote document
- 3.4.23 Changelog
- All JIRA issues closed in 3.4.23
3.4.22 - Aug 6, 2019¶
Issues fixed:
- SERVER-17010: Reduce file handle usage in File based Sorter.
- SERVER-38984: Attach IDs to users (CVE-2019-2386).
- SERVER-42089: Platform Support: Remove Enterprise RHEL 6.7 zSeries
- 3.4.22 Changelog
- All JIRA issues closed in 3.4.22
Note
Fixed issues include those that resolve the following Common Vulnerabilities and Exposures (CVEs):
- CVE-2019-2386 (See SERVER-38984)
- CVE-2019-2389 (See SERVER-40563)
- CVE-2019-2390 (See SERVER-42233)
3.4.21 - Jun 14, 2019¶
Issues fixed:
- SERVER-39820: Add the client IP address to the successful authentication log message
- SERVER-41213: Unique background index builds may produce inconsistent keys
- SERVER-37765: Platform Support: Remove Ubuntu 14.04
- SERVER-37774: Platform Support: Remove Enterprise Ubuntu 16.04 PPCLE
- WT-4615: Sync backup file before returning backup cursor
- 3.4.21 Changelog
- All JIRA issues closed in 3.4.21
3.4.20 - Mar 13, 2019¶
Issues fixed:
- SERVER-39166: $graphLookup should force a pipeline to split in sharded cluster
- SERVER-39723: Change listIndexes command behavior to show in-progress index builds
- TOOLS-2158: mongodump failing on Windows with “error opening system CA store: Access is denied.”
- 3.4.20 Changelog
- All JIRA issues closed in 3.4.20
3.4.19 - Jan 28, 2019¶
Issues fixed:
- SERVER-18985: setParameter should log at level 0
- SERVER-22766: Dynamic oplog sizing for WiredTiger nodes
- SERVER-33469: Make syslog log lines consistent with mongod log lines
- SERVER-37132: Negation of $in with regex can incorrectly plan from the cache, leading to missing query results
- SERVER-37182: Different values when referencing whole object vs. a field of that object after $arrayToObject
- SERVER-37616: Implement tuneable batch size for the rangedeleter
- 3.4.19 Changelog
- All JIRA issues closed in 3.4.19
3.4.18 - Nov 7, 2018¶
Issues fixed:
- SERVER-25175: listIndexes shouldn’t include in-progress background indexes
- SERVER-35418: Allow specifying CAs for incoming and outgoing connections separately.
- SERVER-36944: applyOps does not permit unknown field names when creating a v:1 index.
- SERVER-37058: Update with numeric field names inside an array can cause validation to fail.
- 3.4.18 Changelog
- All JIRA issues closed in 3.4.18
3.4.17 - Sep 7, 2018¶
Issues fixed:
- SERVER-33857 Missing log redaction due to confusion with Command::redactForLogging().
- SERVER-34846 Covered index with collated field returns incorrect result when collation not involved in match or sort.
- SERVER-36010 Change log messages for Windows stacktraces to use error() or severe() rather than log().
- SERVER-34558: Add SSL_version to client metadata logging.
- 3.4.17 Changelog
- All JIRA issues closed in 3.4.17
3.4.16 - Jul 10, 2018¶
Issues fixed:
- SERVER-32999: Platform Support: Remove Debian 7 builds.
- SERVER-29301: Upgrade MozJS to ESR 45.9.0
- SERVER-5461: Add
syncSourceHost
field toreplSetGetStatus
output. - 3.4.16 Changelog
- All JIRA issues closed in 3.4.16
3.4.15 - May 16, 2018¶
Issues fixed:
- SERVER-31535: Platform Support: remove Ubuntu 12.04 builds.
- SERVER-32923: Platform Support: remove SLES11 builds.
- SERVER-20056: Log a startup warning if wiredTigerCacheSizeGB is > 80% of RAM.
- SERVER-28981: Sharding balancer prefers shards in a specific order when moving chunks.
- 3.4.15 Changelog
- All JIRA issues closed in 3.4.15
3.4.14 - March 20, 2018¶
Issues fixed:
- SERVER-28151: Authentication database should be synced first during an initial sync.
- SERVER-32886: Unnecessary sleeps during chunk migration.
- SERVER-32933: Allow
mongod
to start when unable to reach LDAP server. - 3.4.14 Changelog
- All JIRA issues closed in 3.4.14
3.4.13 - Feb 10, 2018¶
Issues fixed:
- SERVER-33238: Prevent WiredTiger read ticket count from going negative.
- 3.4.13 Changelog
- All JIRA issues closed in 3.4.13
3.4.12 - Feb 8, 2018¶
Issues fixed:
- SERVER-31437: Fix parsing of
mongo host/db
connect string. - SERVER-32875: Don’t stall ftdc due to running out of tickets.
- SERVER-33089: Unable to start queryable mongod because it
failed to regenerate index for
admin.system.users
. - 3.4.12 Changelog
- All JIRA issues closed in 3.4.12
3.4.11 - Jan 31, 2018¶
Issues fixed:
- SERVER-19605: Oplog timeout should be configurable.
- SERVER-19919: Chunks that exceed 250000 docs but are under half chunk size get marked as jumbo.
- SERVER-29293: Recipient shard fails to abort migration on stepdown.
- SERVER-32001: unindexing a key in a partial unique index may cause server crash
- 3.4.11 Changelog
- All JIRA issues closed in 3.4.11
3.4.10 - Oct 31, 2017¶
Issues fixed:
- SERVER-15723: Avoid G_X lock for rename_collection within database
- SERVER-31049: View with collation doesn’t work as expected in sharded cluster
- SERVER-29287: Upgrade pcre to 8.41
- SERVER-31204: Calling shardCollection after enableSharding may fail if executed against different mongos
- 3.4.10 Changelog
- All JIRA issues closed in 3.4.10
3.4.9 - Sept 11, 2017¶
Issues fixed:
- SERVER-20392: Sharding an existing small collection results in large number of chunks
- SERVER-30189: Reduce calls to allocator for large $in expressions
- SERVER-30487: RangeDeleter holds WT transaction open while waiting for majority
- SERVER-30636: Range deleter assert failed because of replication lag
- 3.4.9 Changelog
- All JIRA issues closed in 3.4.9
3.4.7 – Aug 8, 2017¶
Issues fixed:
- SERVER-29282: BSON Document Size can be exceeded when grouping inserts on SECONDARY nodes
- SERVER-29568: Enable configuration of OpenSSL cipher suite via
setParameter
- SERVER-29817: Optimize incremental update performance of ChunkManager and CollectionMetadata
- 3.4.7 Changelog
- All JIRA issues closed in 3.4.7
3.4.6 – Jul 5, 2017¶
Issues fixed:
- SERVER-27347: Only close idle cached cursors on the WiredTiger ident that is busy.
- SERVER-29618:
$geoWithin
in aggregation pipeline after$lookup
and$unwind
returns incorrect results. - WT-3362: Cursor opens should never block for the duration of a checkpoint.
- 3.4.6 Changelog
- All JIRA issues closed in 3.4.6
3.4.5 – Jun 14, 2017¶
Issues fixed:
- SERVER-28952: Multikey indexes should not be eligible for DISTINCT_SCAN if distinct key is an array component.
- SERVER-28427: GlobalLock with timeout can still block indefinitely.
- SERVER-29018
mongos
can segfault ingetMore
on views with find batchSize of 0. - 3.4.5 Changelog
- All JIRA issues closed in 3.4.5
3.4.4 – Apr 21, 2017¶
Issues fixed:
- SERVER-18794: Add an aggregation operator
$objectToArray
to convert an object to an array of key, value pairs. - SERVER-23310: Add an aggregation operator
$arrayToObject
to convert an array of pairs to an object. - SERVER-22611: ChunkManager refresh can occasionally cause a full reload.
- 3.4.4 Changelog
- All JIRA issues closed in 3.4.4
3.4.3 – Mar 28, 2017¶
Issues fixed:
- SERVER-27863: Reschedule firing of early alarms in
NetworkInterfaceASIO to avoid
mongos
crash. - SERVER-28017:
$ne
should respect collection’s default collation. - SERVER-27700: Improve WiredTiger performance on secondary when cache is full.
- 3.4.3 Changelog
- All JIRA issues closed in 3.4.3
3.4.2 – Feb 1, 2017¶
Issues fixed:
- SERVER-27125: Arbiters in pv1 should vote no in elections if they can see a healthy primary of equal or greater priority to the candidate.
- SERVER-27584 Add support for filter to listDatabases
- WT-2670 Inefficient I/O when read full DB (poor readahead)
- 3.4.2 Changelog
- All JIRA issues closed in 3.4.2
3.4.1 – Dec 20, 2016¶
Issues fixed:
- SERVER-27124: Disallow
readConcern: majority
reads on replica set protocolVersion 0 (pv0). - SERVER-27201: $graphLookup triggers null pointer dereference.
- SERVER-27207: Find operation with a sort on a view via
mongos
may incorrectly return empty result set. - SERVER-27213: Two
$match
pipeline stages can combine incorrectly to produce incorrect results. - 3.4.1 Changelog
- All JIRA issues closed in 3.4.1
Sharded Cluster¶
Membership Awareness¶
Starting in 3.4, sharded cluster components (shards, config servers,
mongos
instances) recognize their membership in a sharded
cluster, including the name of the sharded cluster, the location of the
config servers.
To support this awareness:
shardsvr
RequirementFor a 3.4 sharded cluster,
mongod
instances for the shards must explicitly specify its role as ashardsvr
, either via the configuration file settingsharding.clusterRole
or via the command line option--shardsvr
.
Balancer on Config Server Primary¶
The balancer process has moved from the mongos
to the
primary member of the config server replica set. Associated with this
change:
- The primary of the CSRS config server holds the
"balancer"
lock, using a process id named"ConfigServer"
, which is never released. - MongoDB 3.4 adds:
balancerStart
command and updates the 3.4mongo
shell methodsh.startBalancer()
to wrap the new command. A 3.2 or earliermongo
shell methodsh.startBalancer()
is incompatible with a 3.4 sharded cluster.balancerStop
command and updates the 3.4mongo
shell methodsh.stopBalancer()
to wrap the new command. A 3.2 or earliermongo
shell methodsh.stopBalancer()
is incompatible with a 3.4 sharded cluster.balancerStatus
command.
- MongoDB 3.4 deprecates
mongo
shell methodsh.getBalancerHost()
. A 3.2 or earliermongo
shell methodsh.getBalancerHost()
is incompatible with a 3.4 sharded cluster. - MongoDB 3.4 removes the following configuration options from the
mongos
:sharding.chunkSize
configuration file setting and--chunkSize
command-line optionsharding.autoSplit
configuration file setting and--noAutoSplit
command-line option
Faster Balancing¶
Starting in MongoDB 3.4:
- For WiredTiger, the default value
secondaryThrottle
isfalse
for all chunk migrations. The balancer does not wait for replication to a secondary and instead continues with the next document. - MongoDB can perform parallel chunk migrations. Similar to earlier versions, a shard can participate in at most one migration at a time. Observing this restriction, for a sharded cluster with n shards, MongoDB can perform at most n/2 (rounded down) simultaneous chunk migrations.
Removal of Support for SCCC Config Servers¶
3.4 sharded clusters no longer support the use of mirrored (SCCC)
mongod
instances as config servers. The use of SCCC config
servers, deprecated in the 3.2 release, is no longer valid. Instead,
deploy your config servers as a replica set (CSRS).
To upgrade your sharded cluster to version 3.4, the config servers must be running as a replica set.
To convert your existing config servers from SCCC to CSRS, see the Upgrade Config Servers to Replica Set.
Sharding Zones¶
MongoDB 3.4 introduces Zones, which supersedes tag-aware sharding available in earlier versions.
To support zones, MongoDB introduces the following commands and
mongo
shell helpers:
Commands | mongo Shell Methods |
---|---|
addShardToZone |
sh.addShardToZone() |
removeShardFromZone |
sh.removeShardFromZone() |
updateZoneKeyRange |
Replica Set¶
Default Journaling Behavior of majority
Write Concern¶
A new replica set configuration setting
writeConcernMajorityJournalDefault
determines whether an
acknowledgement for a write concern of majority
returns after the majority of the voting members apply
the write in memory or to the on-disk journal if the j
option is unspecified in the write concern.
Adjustable Catchup Period for Newly Elected Primary¶
A new replica set configuration setting
settings.catchUpTimeoutMillis
defines the time limit for a
newly elected primary to catch up with the other replica set members
that may have more recent writes.
Linearizable Read Concern¶
MongoDB 3.4 introduces a read concern level of
"linearizable"
to read data that reflects all successful
writes issued with a "majority"
and acknowledged
prior to the start of the read operation. Linearizable read concern
guarantees only apply if read operations specify a query filter that
uniquely identifies a single document.
Linearizable read concern is available for all MongoDB supported storage engines.
Combined with "majority"
write concern,
"linearizable"
read concern enables multiple threads to
perform reads and writes on a single document as if a single thread
performed these operations in real time; that is, the corresponding
schedule for these reads and writes is considered linearizable.
Reads with linearizable read concern may be significantly slower than
reads with "majority"
or "local"
read
concerns. Always use maxTimeMS
with linearizable read concern, in
case a majority of data bearing members are unavailable. For example:
For more information on read concern, including operations that support read concerns, see Read Concern.
Improved Initial Sync¶
MongoDB 3.4 improves the performance of initial sync by having initial sync build the indexes as the documents are copied.
MongoDB 3.4 improves the initial sync retry logic to be more resilient to intermittent failures on the network.
To avoid potential data corruption, MongoDB 3.4 fails and restarts initial sync if a collection is renamed on the sync source during the initial sync. With MongoDB 3.2.11 or earlier, initial syncs did not fail and restart but instead continued the process, which could lead to potential data corruption.
For details, see Initial Sync and renameCollection.
Modified
replSetGetStatus
command to accept the optionalinitialSync: 1
in the command to report on initial sync status and progress if run on the secondary:
Decimal Type¶
3.4 adds support for the decimal128 format with
the new decimal
data type. The decimal128 format supports numbers with
up to 34 decimal digits (i.e. significant digits) and an exponent range
of −6143 to +6144.
To support the format, the mongo
shell adds the
NumberDecimal wrapper.
When performing comparisons among different numerical types, MongoDB performs comparison on the exact stored numerical values without first converting values to a common type.
Unlike the double
data type, which only stores an approximation of
the decimal values, the decimal
data type stores the exact value.
For example, a decimal
NumberDecimal("9.99")
has a precise
value of 9.99
where as a double 9.99
would have an approximate
value of 9.9900000000000002131628...
.
To test for decimal
type, use the $type
operator with the
literal "decimal"
or 19
.
To use the new decimal
data type with a MongoDB driver, an upgrade
to a driver version that supports the feature is necessary.
Aggregation¶
New Aggregation Stage for Recursive Search¶
3.4 introduces a stage to the aggregation pipeline that allows for recursive search.
Stage | Description |
---|---|
$graphLookup |
Performs a recursive search on a collection. To each output document, adds a new array field that contains the traversal results of the recursive search for that document. |
New Aggregation Stages for Faceted Search¶
Faceted search allows for the categorization of documents into classifications. For example, given a collection of inventory documents, you may want to classify items by a single category, such as by the price range, or by multiple categories, such as by price range as well as separately by the departments.
3.4 introduces stages to the aggregation pipeline that allow for faceted search.
Stage | Description |
---|---|
$bucket |
Categorizes or groups incoming documents into buckets that represent a range of values for a specified expression. |
$bucketAuto |
Categorizes or groups incoming documents into specified number of buckets that represent a range of values for a specified expression. MongoDB automatically determines the bucket boundaries. |
$facet |
Processes multiple pipelines on
the input documents and outputs a document that contains the
results of these pipelines. By specifying facet-related stages
($bucket , $bucketAuto , and
$sortByCount ) in these pipelines, $facet
allows for multi-faceted search. |
$sortByCount |
Categorizes or groups incoming documents by a specified expression to compute the count for each group. Output documents are sorted in descending order by the count. |
New Aggregation Stages to Facilitate Reshaping Documents¶
3.4 introduces stages to the aggregation pipeline that faciliate replacing documents as well as adding new fields.
Stage | Description |
---|---|
$addFields |
Adds new fields to documents. The stage outputs documents that contains all existing fields from the input documents as well as the newly added fields. |
$replaceRoot |
Replaces a document with the specified document. You can specify a document embedded in the input document to promote the embedded document to the top level. |
New Aggregation Stage to Count¶
3.4 introduces a new stage to the aggregation pipeline that faciliate counting document.
Stage | Description |
---|---|
$count |
Returns a document that contains a count of the number of documents input to the stage. |
New Aggregation Array Operators¶
Operator | Description |
---|---|
$in |
Returns a boolean that indicates if a specified value is in an array. |
$indexOfArray |
Searches an array for an occurrence of a specified value and returns the array index (zero-based) of the first occurrence. |
$range |
Returns an array whose elements are a generated sequence of numbers. |
$reverseArray |
Returns an output array whose elements are those of the input array but in reverse order. |
$reduce |
Takes an array as input and applies an expression to each element in the array to return the final result of the expression. |
$zip |
Returns an output array where each element is itself an array, consisting of elements in the corresponding array index position from the input arrays. |
New Aggregation String Operators¶
Operator | Description |
---|---|
$indexOfBytes |
Searches a string for an occurrence of a substring and returns the UTF-8 byte index (zero-based) of the first occurrence. |
$indexOfCP |
Searches a string for an occurrence of a substring and returns the UTF-8 code point index (zero-based) of the first occurrence. |
$split |
Splits a string by a specified delimiter into string components and returns an array of the string components. |
$strLenBytes |
Returns the number of UTF-8 bytes for a string. |
$strLenCP |
Returns the number of UTF-8 code points for a string. |
$substrBytes |
Returns the substring of a string. The substring starts with the character at the specified UTF-8 byte index (zero-based) in the string for the length specified. |
$substrCP |
Returns the substring of a string. The substring starts with the character at the specified UTF-8 code point index (zero-based) in the string for the length specified. |
New Aggregation Control Flow Expression¶
Operator | Description |
---|---|
$switch |
Evaluates, in sequential order, the case expressions of the
specified branches to enter the first branch for which the
case expression evaluates to true . |
New Date Aggregation Operators¶
Operator | Description |
---|---|
$isoDayOfWeek |
Returns the ISO 8601 weekday number, ranging from 1 (for
Monday) to 7 (for Sunday). |
$isoWeek |
Returns the ISO 8601 week number, which can range from 1 to
53 . Week numbers start at 1 with the week (Monday
through Sunday) that contains the year’s first Thursday. |
$isoWeekYear |
Returns the ISO 8601 year number, where the year starts with the Monday of week 1 (ISO 8601) and ends with the Sundays of the last week (ISO 8601). |
New Monitoring Aggregation Sources¶
Operator | Description |
---|---|
$collStats |
Returns statistics regarding a collection or view. |
New Type Operator¶
Operator | Description |
---|---|
$type |
Returns a string which specifies the BSON Types of the argument. |
Additional Changes¶
$project
stage adds support for field exclusion in the
output document. Previously, you could only exclude the _id
field
in the stage. If you specify the exclusion of a field or fields,
- All other fields are returned in the output documents.
- You cannot specify new fields or the inclusion of other fields.
Collation and Case-Insensitive Indexes¶
To allow for language-specific rules for string comparison, MongoDB 3.4 introduces collation to its query language and indexes.
The following operations support collation:
Commands | mongo Shell Methods |
---|---|
create |
|
createIndexes [1] |
db.collection.createIndex() [1] |
aggregate |
db.collection.aggregate() |
distinct |
db.collection.distinct() |
findAndModify |
|
find |
cursor.collation() to specify collation for
db.collection.find() |
mapReduce |
db.collection.mapReduce() |
delete |
|
update |
|
shardCollection |
|
count |
|
Individual update, replace, and delete operations in
db.collection.bulkWrite() . |
For details, see Collation.
[1] | (1, 2) Some index types do not support collation. See Collation and Unsupported Index Types for details. |
Views¶
MongoDB 3.4 adds support for creating read-only views from existing collections or other views. To specify or define a view, MongoDB 3.4 introduces:
the
viewOn
andpipeline
options to the existingcreate
command:or if specifying a default collation for the view:
and a corresponding
mongo
shell helperdb.createView()
:
For more information on creating views, see Views.
Security Enhancement¶
Transition to Auth¶
MongoDB 3.4 adds support for rolling transition to internal
authentication for replica sets and sharded clusters. For details, see
security.transitionToAuth
setting and --transitionToAuth
command line option for mongod
and mongos
.
User Roles Changes¶
The privileges of the following built-in roles no longer apply to the
local
and config
databases:
readAnyDatabase |
Starting in 3.4, to provide read privileges on the local
database, create a user in the admin database with
read role in the local database. See also
clusterManager and clusterMonitor role
for access to the config and local databases. |
readWriteAnyDatabase |
Starting in 3.4, to provide readWrite privileges on the
local database, create a user in the admin database with
readWrite role in the local database. See also
clusterManager and clusterMonitor role
for access to the config and local databases. |
userAdminAnyDatabase |
|
dbAdminAnyDatabase |
Starting in 3.4, to provide dbAdmin privileges on the
local database, create a user in the admin database with
dbAdmin role in the local database. See also
clusterManager and clusterMonitor role
for access to the config and local databases. |
Correspondingly, the following built-in roles include additional read
and write privileges on local
and config
databases:
MongoDB Tools¶
mongoreplay
¶
MongoDB introduces mongoreplay
, a workload capture and
analysis tool that replaces mongosniff
. You can use
mongoreplay
to inspect and record commands sent to a MongoDB
instance, and then replay the commands back onto another host at a
later time.
mongoreplay
is available for Linux and macOS.
General Enhancements¶
MongoDB 3.4 includes the following enhancements:
- Added
systemd
support in distributions. - Increased
diagnosticDataCollectionDirectorySizeMB
default size to 200 megabytes from 100 megabytes. - Decreased the lower bound and the default setting of the
WiredTiger internal cache
. Both theWiredTiger Storage Engine internal cache
and theinMemory Storage Engine maximum memory size
can accept floating-point values. find()
,aggregate()
,listIndexes
, andlistCollections
operations return a maximum of 16 megabytes per batch.
db.currentOp
and the
database profiler report the same
basic diagnostic information for all CRUD operations, including the
following:
aggregate
count
delete
distinct
find
(OP_QUERY andcommand
)findAndModify
getMore
(OP_GET_MORE andcommand
)insert
mapReduce
update
These operations are also included in the logging of slow queries (see
slowOpThresholdMs
for more information about slow query logging).mongo
shell adds support for marshalling fields of type javascript and javascriptWithScope to JavaScript functions. See--disableJavaScriptProtection
.Added support for system certificates. If a
mongod
instance presents a certificate signed with a CA trusted by the operating system, themongo
shell will connect without any errors. Previously, themongo
shell exited with an error that it could not validate the certificate.Added message compression support for internal communication between members of a replica set or a sharded cluster as well as communication between
mongo
shell andmongod
ormongos
.See configuration
net.compression.compressors
setting as well as the--networkMessageCompressors
option formongod
,mongos
, and themongo
shell.Upgraded the SpiderMonkey JavaScript engine to 45.0.2 ESR.
Platform Support¶
- MongoDB 3.4 introduces support for ARM64, PPC64LE, and s390x architectures. See Supported Platforms to see the full platform support matrix.
- Starting in version 3.4, MongoDB removes support for Red Hat Enterprise Linux 5.
For earlier MongoDB Enterprise versions that support Ubuntu 16.04 POWER/PPC64LE:
Due to a lock elision bug present in older versions
of the glibc
package on Ubuntu 16.04 for POWER, you must
upgrade the glibc
package to at least glibc 2.23-0ubuntu5
before running MongoDB. Systems with older versions of the
glibc
package will experience database server crashes and
misbehavior due to random memory corruption, and are unsuitable
for production deployments of MongoDB
The following summarizes the supported architecture for the latest version of MongoDB products:
Product | x86_64/amd64 | s390x | POWER8 (little endian) | ARMv8-A |
---|---|---|---|---|
MongoDB 3.4 | ✓ | MongoDB Enterprise only | MongoDB Enterprise only | ✓ |
BI Connector | ✓ | ✓ | ✓ | |
Compass | ✓ | |||
Spark Connector | ✓ | |||
Ops Manager | ✓ | |||
Automation Agent | ✓ | ✓ | ||
Monitoring Agent | ✓ | ✓ | ||
Backup Agent | ✓ | ✓ |
For details, refer to the individual documentation for the products.
MongoDB Enterprise Features¶
Log Redaction¶
MongoDB Enterprise adds support for log redaction for use in conjunction with MongoDB’s encrypted storage engine. Log redaction prevents potentially sensitive information from being written to the diagnostic log; however, diagnostics on redacted logs may be more difficult due to the lack of data related to a log event.
To enable log redaction, see the
security.redactClientLogData
setting and the
--redactClientLogData
option for mongod
.
LDAP Enhancements¶
LDAP Authorization¶
MongoDB Enterprise supports the use of Lightweight Directory Access Protocol (LDAP) service to authorize (i.e. determine access) a user authenticated via one of the following authentication mechanism:
- LDAP Proxy Authentication. For a tutorial on using both LDAP Authentication and Authorization, see Authenticate and Authorize Users Using Active Directory via Native LDAP.
- Kerberos Authentication. For a tutorial on using Kerberos authentication and Active Directory, see Configure MongoDB with Kerberos Authentication and Active Directory Authorization.
- x.509.
For more information, see LDAP Authorization.
mongoldap
¶
MongoDB Enterprise provides a new tool mongoldap
for testing
your MongoDB LDAP configuration options
against a running LDAP server or set of servers. When configuring
options related to LDAP authentication, you can
use mongoldap
to ensure that the authentication operation
works as expected.
Bind via OS Libraries¶
MongoDB 3.4 supports binding to an LDAP server via operating system libraries. This allows Linux and Windows MongoDB 3.4 servers to use an LDAP server for authentication.
Linux MongoDB deployments continue to support binding via saslauthd.
Changes Affecting Compatibility¶
Some changes can affect compatibility and may require user actions. For a detailed list of compatibility changes, see Compatibility Changes in MongoDB 3.4.
Upgrade Procedures¶
If you need guidance on upgrading to 3.4, MongoDB offers major version upgrade services to help ensure a smooth transition without interruption to your MongoDB application.
Known Issues in 3.4.0¶
List of known issues in the 3.4.0 release:
- SERVER-27124:
protocolVersion: 0
cannot properly support"majority"
read concern. - SERVER-27195: Using collation with documents containing
fields of BSON type
Symbol
, which is deprecated, is not supported and may lead to undefined behavior. - SERVER-27207: Find on view with sort through
mongos
may incorrectly return empty result set. - WT-3327: Checkpoints can hang if time runs backwards (e.g. on a system with an unreliable clock). (Fixed in MongoDB 3.4.6.)