3.6 Changelog

On this page

3.6.19 Changelog


  • SERVER-46487 The mongos routing for scatter/gather ops can have unbounded latency

  • SERVER-47913 Redact sharding messages in split chunk and distributed lock acquisition


  • SERVER-45610 Some reads work while system is RECOVERING

  • SERVER-47695 Write commands run by threads that can survive rollback can fail operationTime invariant in ServiceEntryPoint



SERVER-46398 Suggest explicit dbpath when starting mongod on macOS and the default dbpath isn’t found


SERVER-45295 Make sure that LDAP logs always contain context on AuthZN operation

Build and Packaging

  • SERVER-42042 Warn or fail early on dynamic builds with toolchain compiler and tcmalloc

  • SERVER-48640 Update RHEL 6.2 AMI for package tests

  • SERVER-48659 Update SLES 12 AMI for package tests

  • SERVER-48681 Update Debian 8.1 AMI for package tests


  • SERVER-45367 When the Range Deleter is waiting for the open cursors, list these cursors in the logs.

  • SERVER-45508 Invariant failure in getFieldsWithStringBounds with descending point ranges

  • SERVER-47256 Update listed maintainer for repo package files

  • SERVER-47686 Upgrade static OpenSSL to 1.1.1g

  • SERVER-47798 Audit isMaster response validation for mongod and mongos

  • SERVER-48032 Update references of community mailing-lists to MongoDB Developer Community Forums

  • SERVER-48657 Use evergreen module to control signal processing in perf projects

  • SERVER-49142 Validate correct field name in RoleName::parseFromBSON()

  • SERVER-49335 publish_packages should use barque API key

  • WT-5119 Birthmark records can be read as normal updates if reads race with checkpoints

  • WT-5150 LAS sweep is not removing the entries that are no longer required

  • WT-5196 Data mismatch failures with test/checkpoint after enabling LAS sweep

  • WT-5376 WT_UPDATE.type field can race with visibility checks when returning key/value pairs

  • WT-5587 Limit how many checkpoints are dropped by a subsequent checkpoint

3.6.18 Changelog


SERVER-46834 Use monotonic time in UserCacheInvalidator


  • SERVER-29153 Make sure replica set nodes agree on which node is primary before doing writes in ShardingTest initialization

  • SERVER-33597 Make allow_partial_results.js, return_partial_shards_down.js start shards as replica sets

  • SERVER-44130 Flip order of assert.lte arguments in logical_time_metadata.js

  • SERVER-45770 Add to information contained in logfile about “moveChunk.to”

  • SERVER-46466 Race with findAndModify retryable write and session migration


  • SERVER-35050 Don’t abort collection clone due to negative document count

  • SERVER-35437 Wait for secondary state after stepdown command in multi_rs.js

  • SERVER-45178 Rollback via refetch can cause rollback to happen successfully w/o updating the rollback id.


  • SERVER-32903 Ambiguous field name error should be ignored during initial sync

  • SERVER-45363 Issue with mongodb text indexes and weights when using wildcard specifier


SERVER-45418 DocumentSourceCursor batching memory accounting does not account for empty documents, leads to unbounded memory use for count-like aggregates


SERVER-45289 Conditional jump or move depends on uninitialised value(s) in validate_adaptor.cpp


  • SERVER-34199 “timing” section of serverStatus can have large impact on ftdc retention

  • SERVER-46024 Collect /proc/vmstat swap statistics in FTDC

Build and Packaging

  • SERVER-45713 Run rhel7 push and publish tasks on large rhel70 distro

  • SERVER-45732 Filter flags from net-snmp-config invocation more aggressively

  • SERVER-46983 Upload repobuilding packages to correct URL

  • SERVER-46996 all push/publish_packages tasks should run on small hosts


  • SERVER-30739 config_server_checks.js should assert if initial replSetConfig fails

  • SERVER-37148 Remove mr_shard_version.js and mr_during_migrate.js in favor of MR FSM test

  • SERVER-38119 Windows dump file naming does not account for dots in directory names

  • SERVER-40047 Test for blocking queue should not test for non-guaranteed condition

  • SERVER-40305 Add diagnostic logging to max_time_ms.js

  • SERVER-42278 Log SockAddrs produced during LDAP connection establishment with manually derived sizes

  • SERVER-42525 Single-node replica sets shouldn’t wait for electable caught up secondaries during shutdown

  • SERVER-43349 Incorrect serialization for $elemMatch $not $ne

  • SERVER-44325 Add polyfill for certificate chain verification

  • SERVER-44435 Allow x509 authorization to be selectively enabled based on the CA

  • SERVER-44868 Initialsync logkeeper and logkeeper-short tests should pass snapshot id and dataset link respectively to dsi(sys-perf)

  • SERVER-45156 SockAddr constructor should take sockaddr, not sockaddr_storage

  • SERVER-45472 Ensure RoleGraph can serialize authentication restrictions to BSON

  • SERVER-45766 Remove “requires” from the server yaml

  • SERVER-45867 Use latest version of signal processing

  • SERVER-45935 [3.6] WT error handler incorrectly prints “An unsupported journal format detected”

  • SERVER-46082 Use bin/analysis.py for performance projects

  • SERVER-46174 Free peer certificate in SSL_get0_verified_chain polyfill

  • SERVER-46754 Use new repobuilder service

  • SERVER-46766 Teardown clusters after every perf run

  • SERVER-46899 Fix tcmallocReleaseRate parameter in 4.0 and 3.6

  • SERVER-47063 Upgrade static OpenSSL to 1.1.1e

  • SERVER-47232 Ensure availability of Python ldap libraries

3.6.17 Changelog


  • SERVER-34876 initial_sync_with_write_load.js needs to await initial sync completion before reading oplog

  • SERVER-45396 fix the “me” field in isMaster responses when using splithorizon


SERVER-42565 Aggregations and find commands sort missing fields differently


  • SERVER-42756 $multiply operator may return with or w/o an error depending on whether pipeline optimisation is enabled

  • SERVER-43764 Add more testing for special values in DoubleDoubleSummation

  • SERVER-44174 $push and $addToSet should restrict memory usage

  • SERVER-44733 Change stream should throw ChangeStreamFatalError if a single shard cannot be targeted for updateLookup

  • SERVER-44869 Add query knob to control memory limit for $push and $addToSet


SERVER-44796 Adjust nojournal startup warning to be more compelling

Build and Packaging

  • SERVER-37772 Platform Support: Add Community & Enterprise RHEL 8 x64

  • SERVER-44641 Platform Support: Remove Enterprise RHEL 7 zSeries and SLES 12 zSeries from 3.6


  • SERVER-34844 Relax expectations in apply_batches_totalMillis

  • SERVER-35099 Increase wtimeout in get_last_error.js even more

  • SERVER-35382 _isSelf command needs to be marked requiresAuth false

  • SERVER-38002 Upgrade Pcre to at least 8.42

  • SERVER-39131 Refactor storage engine lock file support

  • SERVER-42697 Expose tcmalloc_release_rate via setParameter

  • SERVER-43210 jstests/sharding/kill_sessions.js doesn’t wait for operation to be killed.

  • SERVER-43246 Add a log line for when a cursor is reaped due to logical session cleanup

  • SERVER-44568 Update the embedded version of the server’s timezone data file to tzdb-2019c

  • SERVER-44828 Correct logic to re-compute dependencies after absorbing a $sort into query layer

  • SERVER-45104 [v3.6] Fix spill_to_disk.js

  • SERVER-45372 Blacklist versions without majority read concern for change_streams_update_lookup_shard_metadata_missing.js

  • WT-4636 Fix strace in syscall test

  • WT-5042 Reduce configuration parsing overhead from checkpoints

  • WT-5120 Checkpoint hangs when reconciliation doesn’t release the eviction generation

  • WT-5135 Change lookaside file inserts to use cursor.insert

  • WT-5218 Improve eviction to differentiate between clean and dirty pages with WT_CACHE_EVICT_NOKEEP readgen

  • WT-5239 Fix syscall failure about metadata file open

  • WT-5247 Ensure that only idempotent modify operations are logged

  • WT-5277 Cursor key out-of-order detected in the lookaside file

  • WT-5297 syscall.py fail on mongodb-4.0

3.6.16 Changelog


SERVER-44320 Allow zoned sharding commands to be authorized via actiontypes


SERVER-42914 Implement random chunk selection policy for balancer for use in concurrency_*_with_balancer workloads


  • SERVER-43193 Always disable document validation on secondaries

  • SERVER-44675 server_status_metrics.js fails due to racy repl.buffer.count metric in serverStatus


SERVER-44571 Documents involved in SERVER-44050 corruption scenario cannot be updated or deleted after upgrade


SERVER-44584 (3.6) Rewriting updates as modifications incorrectly considers logging state

Build and Packaging

  • SERVER-37769 Platform Support: Add Community & Enterprise SLES 15 x64

  • SERVER-44392 Platform Support: Remove zSeries ubuntu 16.04


3.6.15 Changelog



  • SERVER-10456 get cursor logic used to find docs to clone (in migration) is not same as in removeRange

  • SERVER-34760 Retries of _configsvrShardCollection may not send setShardVersion to primary shard

  • SERVER-36159 Log whenever the gossiped config server opTime term changes

  • SERVER-36222 call to ReplSetTest.restart in shard_identity_rollback.js is racy

  • SERVER-36315 After stepdown the CSRS dist lock manager keeps trying to unlock locks

  • SERVER-38205 Optimize splitVector for the jumbo-chunk case

  • SERVER-42783 Migrations don’t wait for majority replication of cloned documents if there are no transfer mods

  • SERVER-42793 Autosplit size tracker random initial value is too low

  • SERVER-44182 Blacklist major_version_check.js from sharding_last_stable suite in 3.6


  • SERVER-37846 writeConcern can be satisfied with an arbiter if the write was committed

  • SERVER-38685 Startup warning if In-Memory SE is used and writeConcernMajorityJournalDefault is true

  • SERVER-38994 Step down on SIGTERM

  • SERVER-39310 Check canServeReadsFor in getMores

  • SERVER-40335 Don’t wait for election handoff in ReplSetTest.stopSet()

  • SERVER-40355 rs.config that contains an _id greater than the number of nodes will crash

  • SERVER-42155 Indicate term mismatches when readConcern times out

  • SERVER-43109 Explicitly state nodes in awaitReplication in do_not_advance_commit_point_beyond_last_applied_term.js

  • SERVER-43673 Blacklist toggle_feature_compatibility.js from backup_restore.js on 3.6

  • SERVER-43708 Wait for nodes to become secondary in last_vote.js and slave_delay_clean_shutdown.js


  • SERVER-39019 $elemMatch $ne serialization is incorrect, doesn’t roundtrip

  • SERVER-40382 Add a serverStatus metric to report plan cache memory consumption

  • SERVER-41863 Make sleep command check that server clock has advanced before returning

  • SERVER-43074 Do not use a global variable to encode ‘multikeyPath’ information when writing out catalog documents

  • SERVER-43699 Find $mod can result in UB


SERVER-43034 Special values handling is inconsistent in DoubleDoubleSummation


  • SERVER-42441 renameCollectionForApplyOps should always rename the target out of the way if it exists

  • SERVER-42652 Fix issue with rename collection

  • SERVER-43908 Modify IndexConsistency hash-map keys to avoid hitting an invariant on duplicate index keys in KeyString form for different indexes

  • SERVER-44188 [4.0] validate_tests should remove index entries by RecordId obtained from the cursor


  • SERVER-35271 4.0 rc0 upgrade from 3.6.5 logs “unsupported WiredTiger file version” error

  • SERVER-39004 Introduce a quota mechanism for the overflow file

  • SERVER-40575 Improve error message when starting MongoDB 3.6 on unclean shutdown of MongoDB 4.0


  • SERVER-28604 Log when a cursor is reaped for exceeding the timeout

  • SERVER-40537 Log error code 261 for TooManyLogicalSessions to the mongodb.log

  • SERVER-42257 Add new shell startup banner

  • SERVER-43081 validate should report when an index’s ‘multikeyPaths’ are set but the ‘multikey’ flag is false

  • SERVER-43350 The server crashes when trying to join collections ($ lookup with pipeline).

Build and Packaging

SERVER-42911 Rebuild mongodb by building.md and failed to build due to ModuleNotFoundError: No module named ‘Cheetah’ with MSVC on windows


  • SERVER-25025 Improve startup time when there are tens of thousands of collections/indexes on WiredTiger

  • SERVER-42075 Add DSI module to perf.yml

  • SERVER-42178 Disable Split Horizon HOSTALIAS testing on SLES

  • SERVER-42706 Test seeding secondary without sessions or transactions table

  • SERVER-42866 Trigger a logical session cache refresh on all shards in the ShardedCluster test fixture before running test

  • SERVER-42953 ttl_repl_secondary_disabled.js should prevent elections

  • SERVER-43151 Error in aggregation assertion at value.cpp:1368

  • SERVER-43240 Add DSI and mongo-perf modules to MMAP build variants in v4.0 mongo

  • SERVER-43634 Report different errors for missing scons and fail to import scons

  • SERVER-43922 ldap_authz_lib.js uses runNonMongoProgram on 3.6

  • SERVER-44064 Perform explicit cast on MessageCompressorManager parameter

  • SERVER-44183 Failure to listen on an asio socket should be fatal

  • SERVER-44184 De-duplicate resolved addresses on v3.6

  • SERVER-44312 Specify evergreen auth in performance tests for signal processing

  • WT-4869 Stop adding cache pressure when eviction is falling behind

  • WT-4881 Soften the restrictions on re-entering reconciliation

  • WT-4893 Fix a race between internal page child-page eviction checks and cursors in the tree

  • WT-4898 Don’t allow the eviction server to reconcile if it’s busy

  • WT-4956 Handle the case where 4 billion updates are made to a page without eviction

  • WT-4957 Revert part of a change about when pages are queued for urgent eviction

  • WT-5050 Assertion failure during urgent eviction of metadata page

3.6.14 Changelog



  • SERVER-26531 jumbo flag in chunk can be cleared when the shard that owns it donates a chunk

  • SERVER-36394 mongos should reset chunk size tracking information when autosplit = false or splitvector returns too few split points

  • SERVER-36443 Long-running queries should not cause a build-up of unused ChunkManager objects

  • SERVER-36469 shard_kill_and_pooling isn’t querying the shard it’s supposed to

  • SERVER-41859 logical_time_metadata.js shouldn’t assume lastApplied opTime equals $clusterTime

  • SERVER-41867 CatalogCache::_scheduleDatabaseRefresh/_scheduleCollectionRefresh can try to grab _mutex it already owns

  • SERVER-41869 Reverse mutex acquisition order in CatalogCache::_scheduleCollectionRefresh

  • SERVER-42793 Autosplit size tracker random initial value is too low


  • SERVER-38659 Race condition in IsMasterIsFalseDuringStepdown unittest

  • SERVER-40336 ReplicationCoordinatorImpl::_random isn’t robust to replica set members being started at the same time

  • SERVER-41036 Make ReadWriteAbility::_canAcceptNonLocalWrites AtomicWord<bool> to prevent torn reads.

  • SERVER-42055 Only acquire a collection IX lock to write the lastVote document


  • SERVER-40134 Distinct command against a view can return incorrect results when the distinct path is multikey

  • SERVER-41065 Make agg evaluate() thread safe by passing ‘Variables’ as a parameter

  • SERVER-41829 findAndModify ignores filter expressions that are not objects



  • SERVER-41913 Avoid in-place modify operations for logged collections


SERVER-36099 FTDC for mongos is unworkably large for large installations

Build and Packaging

  • SERVER-36043 systemd unit for mongod starts before multi.user target

  • SERVER-40563 Our init scripts check /proc/[pid]/stat should validate that (${procname}) is the process’ command name.

  • SERVER-41424 scons should fail early if invoked with wrong Python interpreter

  • SERVER-41443 Update Enterprise License

  • SERVER-41743 Update MSI inclusions for 3.6

  • SERVER-42089 Platform Support: Remove Enterprise RHEL 6.7 zSeries from 3.4 and 3.6

  • SERVER-42109 Add Ubuntu 14.04 to v3.6

  • SERVER-42233 Bump Windows package dependencies

  • SERVER-42603 Recent service file change may cause cyclic dependencies


  • SERVER-26626 In external_auth_WT JSTests, ensure that Saslauthd has fully started before continuing test

  • SERVER-35067 Blacklist explain2.js from retryable writes jscore stepdown suite

  • SERVER-37984 Upgrade yaml-cpp >= 0.6.0

  • SERVER-38141 Incorrect usage of MONGO_CONFIG_HAS_SSL_SET_ECDH_AUTO prevents enabling of elliptic curve auto negotiation

  • SERVER-39642 Decrement egress counter when scoped connection not returned to the pool

  • SERVER-40156 Initial implementation of Split Horizon

  • SERVER-40643 Add tests for replSetConfig and replSetInitiate with Split Horizon

  • SERVER-40645 Add tests for SNI/TLS behavior of Split Horizon

  • SERVER-40923 Remove npm test command from “run jstestfuzz” Evergreen function

  • SERVER-40924 Add Evergreen task to sanity check fuzzer can parse JavaScript tests

  • SERVER-41004 killSessions command can return CursorNotFound error for successful kill

  • SERVER-41016 Calculate deltas for updates to large documents

  • SERVER-41075 Remove ‘mongo/repl/replication_coordinator.h’ from op-context inclusion path

  • SERVER-41148 FTDC is calling boost::filesystem without passing an error_code parameter

  • SERVER-41184 Add metrics to indicate the amount of sharded updates done with only _id in query

  • SERVER-41349 Add a log statement for slow dns resolution

  • SERVER-41401 patch_files.txt doesn’t distinguish between enterprise and community files

  • SERVER-41442 Fix second race in umask.js

  • SERVER-41546 SysV init scripts should verify PIDfile exists instead of failing

  • SERVER-41624 Fix Split Horizons on Legacy Transport in v3.6

  • SERVER-41680 Propagate ${branch_name} Evergreen expansion to fuzzer invocation

  • SERVER-41753 Fix indexc.js to not depend on the clock always moving forward

  • SERVER-41789 sys-perf: Use bootstrap.overrides in bootstrap.yml config file

  • SERVER-41833 Update README license text

  • SERVER-41967 Symlink /data to Z instead of C

  • SERVER-42178 Disable Split Horizon HOSTALIAS testing on SLES

  • SERVER-42228 LoggerRuntimeConfigError exceptions can lead to background dbhash thread running until Evergreen task times out

  • WT-4352 Resolve birthmarks during eviction in more cases

  • WT-4421 Add a way to calculate modify operations

  • WT-4693 WT_CONNECTION::reconfigure should not require quiescence when downgraded

  • WT-4706 Add a statistic to track the lookaside table size

  • WT-4750 Sweep can remove active lookaside records when files are closed and re-opened

  • WT-4759 Save a copy when an old overflow value is discarded

  • WT-4768 Inconsistent data with lookaside eviction followed by sweep

  • WT-4769 Don’t discard active history for empty pages

  • WT-4776 Modify operations should be equivalent to updates

  • WT-4794 Mark lookaside history resolved in all paths

  • WT-4803 Implement file_max configuration for Cache Overflow mechanism

  • WT-4823 Add check for uninitialised lookaside resources

  • WT-4848 Fix perf regression when calculating differences

3.6.13 Changelog



  • SERVER-36004 SessionUpdateTracker should ignore no-op entries for pre/post image oplogs

  • SERVER-36457 mongos_rs_shard_failure_tolerance.js test should assert that the movePrimary command succeeds

  • SERVER-39420 Remove in-memory boolean to indicate config.server.sessions collection set up

  • SERVER-40136 The background key generator can remain disabled on FCV upgrade after a downgrade


  • SERVER-35636 Renaming collection for applyOps needs to check completeness of target namespace

  • SERVER-37065 Report ismaster:false in isMaster command response immediately upon learning of a new term

  • SERVER-39831 Never update commit point beyond last applied if learned from sync source

  • SERVER-40628 Initial sync could fail under replsetprio1.js settings

  • SERVER-40788 Improve logging around replication catchup

  • SERVER-40977 mmapv1 and ephemeralForTest variants should exclude tests with requires_majority_read_concern tag

  • SERVER-41081 do_not_advance_commit_point_beyond_last_applied_term.js must wait for Node E to reach stopReplProducerOnDocument failpoint

  • SERVER-41247 do_not_advance_commit_point_beyond_last_applied_term.js must not run with periodic noop writer on

  • SERVER-41342 read_committed_stale_history.js must perform continuous writes to ensure majority commit point propagates to secondary


  • SERVER-16571 Use Actual Memory Constraint vs. Total System Memory When They Differ

  • SERVER-30356 Improve error reporting for validation

  • SERVER-41213 Unique background index builds may produce inconsistent keys


  • SERVER-39820 Add the client IP address to the successful authentication log message

  • SERVER-40866 Use JSON.stringify() to serialize string in tojson()

Build and Packaging


  • SERVER-37382 printShardingStatus.js races with ShardingUptimeReporter thread

  • SERVER-38984 Attach IDs to users

  • SERVER-39746 System-Performance: Write project in runtime.yml

  • SERVER-40052 Shutdown in mongos can trigger BatchWriteOp invariant

  • SERVER-40165 generate wtimeout deadlines with the precise clock

  • SERVER-40514 Race between BufferedHandler.close() and BufferedHandler.flush() leads to resmoke.py hanging with –log=buildlogger

  • SERVER-40922 Add npm install command to “run jstestfuzz” Evergreen function

  • SERVER-40932 Increase timeout for shutting down the ServiceExecutor

  • SERVER-41088 Propagate Evergreen order field to Cedar for system perf

  • SERVER-41103 Fix fuzzer task invocations

  • SERVER-41169 Most powercycle testing for Linux was removed from Evergreen

  • TOOLS-2068 mongodump oplog delay

3.6.12 Changelog


  • SERVER-35219 Regain MongoDB balancer performance with sessions

  • SERVER-39847 Migrating session info can trigger fassert when destination shard has transaction history truncated by oplog

  • SERVER-39932 SessionRuntimeInfo memory is not being released


  • SERVER-37255 replSetReconfig with concurrent election can trigger invariant

  • SERVER-38722 CollectionCloner should handle QueryPlanKilled on collection drop

  • SERVER-39490 opWriteConcernCounters can cause undefined behavior due to overflow

  • SERVER-39641 Blacklist max_time_ms.js from read concern linearizable passthrough

  • SERVER-39758 double_rollback.js should reliably wait for node 0 to complete rollback

  • SERVER-40039 Increase assert.soon timeout in initial_sync_invalid_index_spec.js


SERVER-38764 External sorter should use 64-bit integers for file offsets


  • SERVER-39394 Views collation check should traverse through nested $lookup pipelines

  • SERVER-39487 Aggregation operator $sqrt output for NumberDecimal is the same as $exp


  • SERVER-17010 Reduce file handle usage in File based Sorter

  • SERVER-39773 decrease number of updates in rollback_wt_cache_full.js


  • SERVER-37722 Quiet mode does not suppress connection end events

  • SERVER-40131 Incorrect format string in Windows stacktrace generator.

  • SERVER-40259 Include third party notices for ASIO and variant

Build and Packaging

SERVER-36622 Package tests fail for newer Ubuntu


TOOLS-2229 Mongofiles deletes chunks of existing file when failing to put_id with existing _id


  • SERVER-36231 Mongos write path doesn’t look for retryable write concern errors

  • SERVER-36437 The dbstats command should lock the database in MODE_IS instead of MODE_S

  • SERVER-36750 blacklist memory.js on ppc64le in memory variants

  • SERVER-37620 Improve watchdog_test reliability

  • SERVER-38644 Guard against ephemeral files disappearing during umask test

  • SERVER-38697 Powercycle kill by PID might try to kill the wrong process

  • SERVER-38789 Accept connection failure on Windows in ssl_alert_reporting.js

  • SERVER-39056 Further refine readWriteAnyDatabase

  • SERVER-39058 Synchronize user set modification in AuthorizationSession with Client

  • SERVER-39822 Improve watchdog_test.exe test reliability

  • SERVER-40063 jstestfuzz_sharded_continuous_stepdown.yml is running with a 1-node CSRS on the 3.6 branch

  • SERVER-40076 Tag JavaScript tests with the reason they’re unable to run in Atlas

  • WT-4324 Ensure checkpoints rewrite pages with data in the future

  • WT-4615 Sync backup file before returning backup cursor

3.6.11 Changelog


SERVER-36606 Remove size limits on BSON audit events


  • SERVER-9043 Link flushRouterConfig on the config server and shards

  • SERVER-31156 Admin command to update the chunk metadata for only one collection

  • SERVER-36863 query_config.js assumes that config.mongos is always present

  • SERVER-36901 sh.status() “Last reported error:” is actually 5th Latest error message

  • SERVER-37339 Sharding state is set to initialized on Grid before sharding components are fully initialized

  • SERVER-37624 Sessions never expire when you change value of localLogicalSessionTimeoutMinutes

  • SERVER-38192 Ignore duplicate key error from refreshLogicalSessionCacheNow

  • SERVER-38344 Early release of distributed database locks during initial collection sharding results in migration/split failures

  • SERVER-38387 agg_out.js concurrency workload always fails to shard the output collection

  • SERVER-38784 Blacklist verify_sessions_expiration_sharded.js from the sharding_last_stable_mongos_and_mixed_shards suite.

  • SERVER-39030 Wrong info logged by splitVector


  • SERVER-32146 Log slow oplog entry application

  • SERVER-35608 Invariant that term from lastAppliedOptime is never greater than our current term

  • SERVER-37274 commands_that_accept_wc tests can give secondaries priority zero

  • SERVER-37910 Create new serverStatus metric for number of operations applied on a secondary that’s incremented at batch boundaries

  • SERVER-37915 Replication doesn’t update opsCounterRepl command on secondaries

  • SERVER-38200 Fix ./jstests/replsets/initial_sync_oplog_hole.js to prevent using stale heartbeat info in the test.

  • SERVER-38647 backup_restore_rolling.js can fail due to stepdown

  • SERVER-38998 Create serverStatus metrics for readConcern and writeConcern

  • SERVER-39142 ServerWriteConcernMetrics must lock _mutex before modifying members

  • SERVER-39267 Guard opWriteConcernCounters behind flag

  • SERVER-39286 server_write_concern_metrics.js must use requires_journaling tag


  • SERVER-38275 Handle explains without namespaces

  • SERVER-39472 Backport changes to apply_ops_concurrent_non_atomic.js to account for HMAC key inserts in 3.6 and 4.0.


  • SERVER-31098 Wrong ns in system.profile for aggregation query

  • SERVER-39109 mongod crash: Invariant failure !_exec src/mongo/db/pipeline/document_source_cursor.cpp 295

  • SERVER-39166 $graphLookup should force a pipeline to split in sharded cluster

  • SERVER-39322 Backport timelib fix for incorrect snprintf invocation with static buffer


  • SERVER-35732 Hyphenated database names do not work with dbStats.fsUsedSize / TotalSize

  • SERVER-38779 Build a mechanism to periodically cleanup old WT sessions from session cache

  • SERVER-38801 Cope with large BSON blobs in queryable’s listDirectory call.


SERVER-37155 Improve the LDAP server logging

Build and Packaging

  • SERVER-33958 When using thin archives the –cache=nolinked mode should push thin archives to the cache

  • SERVER-38416 Upgrade static OpenSSL to 1.1.1a

  • SERVER-39483 Stripped binaries and .debug files should not be cached



  • SERVER-31755 Raise intermediate $lookup document size to 100MB, and make it configurable

  • SERVER-35620 downloaded file integrity: use shasum instead of python script

  • SERVER-38748 Background indexes created through applyOps should run on the command thread

  • SERVER-38954 Increase query execution time for the test case in max_time_ms.js that expects it to hit the time limit

  • SERVER-39009 Make bulldlogger credentials location configurable via environment variable

  • SERVER-39031 Make SCons default –jobs to CPU count

  • SERVER-39331 Remove StressTest from network_interface_asio_integration_test

  • TOOLS-1906 Ignore mongorestore error “x509 certificate routines:X509_STORE_add_cert:cert already in hash table”

  • TOOLS-2158 mongodump failing on Windows with “error opening system CA store: Access is denied.”

  • TOOLS-2167 Add CGO flags for building on Windows

  • TOOLS-2168 Add CGO flags for building on MacOS

  • TOOLS-2210 Build with tools with Address Space Layout Randomised (ASLR) flags enabled

  • WT-4483 Improve caching of small updates to large values

3.6.10 Changelog


  • SERVER-35212 URI connection does not default to admin database when no authSource is specified

  • SERVER-37687 Capture libldap ErrorString in bind failure


  • SERVER-36965 Ensure setUp writes in safe_secondary_reads_single_migration_suspend_range_deletion.js get propagated to the shard secondary

  • SERVER-37051 ShardServerCatalogCacheLoader does not check the internal term after reading from the task queue

  • SERVER-37080 Implement tuneable batch size for chunk migrations

  • SERVER-37511 Logical session reaper and refresh threads should set up sessions collection immediately

  • SERVER-37616 Implement tuneable batch size for the rangedeleter

  • SERVER-37902 recovering_slaveok.js should assert all writes it makes succeed

  • SERVER-37932 Remove erroneous part of coll_epoch_test1.js that attempts to test something that shouldn’t work, but due to a bug in the test, the test passes

  • SERVER-38050 The range deleter doesn’t validate it is still operating on the same collection after the deletion loop

  • SERVER-38062 Add assert.commandWorked() to commands in read_pref_cmd.js

  • SERVER-38196 Coverity analysis defect 105128: Unchecked return value

  • SERVER-38371 Session catalog migration will skip later sessions if a different earlier session encounters new transaction


  • SERVER-37500 Blacklist geo_s2ordering from replica_sets_kill_primary_jscore_passthrough suite

  • SERVER-37557 Add startup warning about enableMajorityReadConcern and usage of arbiters

  • SERVER-37935 Remove read concern “majority” overrides for change streams test suites

  • SERVER-38024 initial_sync_oplog_hole test should be tagged as requiring document locking

  • SERVER-38476 Increase timeout for clean_shutdown_oplog_state.js, again


  • SERVER-35455 QueryPlannerAccess should hold owned pointers by unique_ptr rather than raw pointer

  • SERVER-37385 Change max_time_ms.js to tolerate ‘Interrupted’ error codes

  • SERVER-38070 Infinite loop in aggregation expression

  • SERVER-38164 $or pushdown optimization does not correctly handle $not within an $elemMatch

  • SERVER-38601 Add regression test for memory leak during planning


  • SERVER-37182 Different values when referencing whole object vs. a field of that object after $arrayToObject

  • SERVER-37200 $match stage following $listSessions not working against mongos

  • SERVER-37750 Optimized $sample stage does not yield

  • SERVER-38843 Mapreduce should not create collections with duplicate IDs


  • SERVER-31508 native_sleep used by JavaScript should be interruptable

  • SERVER-35061 Javascript sleep should always emit an error when interrupted


  • SERVER-29825 Do not allow rename from unreplicated to replicated DB or vice-versa

  • SERVER-36873 ReplicationCoordinatorExternalStateImpl::shutdown() must not hold _threadMutex while waiting for _taskExecutor

  • SERVER-36968 Rebuild interrupted indexes before checking AuthZN index presence

  • SERVER-37408 Add afterClusterTime to initial sync collection scans

  • SERVER-37524 In-Memory Storage Engine With Storage Watchdog Crashes The Server

  • SERVER-37862 Reduce update ops in initial_sync_wt_cache_full.js

  • SERVER-37930 Add test coverage for createIndexes inside nested applyOps

  • SERVER-37931 lock_stats_suboperation_logs.js should ignore noise lock stats

  • SERVER-38434 queryableBackupMode and wiredTigerEngineConfigString flags are incompatible

  • SERVER-38498 decrease number of updates in rollback_wt_cache_full.js


  • SERVER-33469 Make syslog log lines consistent with mongod log lines

  • SERVER-35485 Mongo Shell does not accept compressors connection string argument

  • SERVER-36977 Initial mongod.log is created using umask vs mode 600

Build and Packaging

  • SERVER-35936 MongoDB Community Windows installer fails to install Compass

  • SERVER-38421 Requirement on cryptography should reflect what is in the toolchain

  • SERVER-38726 Add stable toolchain variables files


  • TOOLS-1709 Set build version and git revision using -ldflags

  • TOOLS-2149 Configure build outside Evergreen


  • SERVER-32424 Use WiredTiger cursor caching

  • SERVER-34770 Retry on JavaScript execution interruptions in stepdown suites

  • SERVER-35768 gssapiServiceName URL parameter does not work

  • SERVER-36060 Make unit tests build cleanly on clang-6

  • SERVER-36817 replSetFreeze command run by stepdown thread may fail when server is already primary

  • SERVER-37120 Turn off linux-replSet-initialsync-logkeeper Build Variant for 3.4 and 3.6 branches

  • SERVER-37241 Add testing to verify proper expiration of sessions in the sessions collection

  • SERVER-37289 Use authenticated client to run the refreshLogicalSessionCacheNow command in resmoke sharded cluster fixture

  • SERVER-37391 plan_cache_index_create.js should wait for index build start, rather than just createIndexes command start

  • SERVER-37490 Increase the ConnectTimeout for powercycle

  • SERVER-37562 Reduce all IX locks to IS locks in SessionsCollectionRS

  • SERVER-37678 Update linter to enforce SSPL in header files

  • SERVER-37913 coll_epoch_test1.js does not wait for the config server to replicate after dropping collections.

  • SERVER-37916 Make legacy transport layer Sockets log hostnames in TLS version negotiations

  • SERVER-38055 Mongod servers started through the shell do not respect TestData.enableMajorityReadConcern

  • SERVER-38159 Blacklist umask nopassthrough test on mmapv1

  • SERVER-38178 Buffer Overflow in data_builder.h when using terminated StringDatas

  • SERVER-38230 Put secondary_reads_passthrough task in the right build variants

  • SERVER-38303 Temporarily handle ipv6 failures due to s390x machine without ipv6 enabled

  • SERVER-38390 Set requiresAuth to false for certain commands

  • SERVER-38415 checkLog.containsWithCount does not reset count before each loop of assert.soon

  • SERVER-38616 LDAPArrayIterator behaves incorrectly when initialized with an empty array

  • TOOLS-1566 Should not include “ssl” tag for Linux 64 build

  • TOOLS-1742 import cycle between util and testutil

  • TOOLS-1996 Allow building tools from inside an ordinary GOPATH

  • TOOLS-2099 Tools jstests failing on replica set shutdown

  • TOOLS-2155 Set version/git-commit via ldflags in Evergreen and Server Evergreen

  • TOOLS-2157 Update server vendoring

  • WT-4333 WiredTiger cursor cache doesn’t handle all possible locked handle states

  • WT-4340 The cursor caching layer can incorrectly release too many handle locks

  • WT-4343 Unlock when sleeping to allow other log threads to make progress

  • WT-4411 Added connection statistic for current total of cached cursors

  • WT-4418 Don’t keep key/value memory buffers allocated for cached cursors

  • WT-4438 Use more accurate statistics for cursor cache totals

3.6.9 Changelog


  • SERVER-35418 Allow specifying CAs for incoming and outgoing connections separately

  • SERVER-37135 TLSVersionCounts needs to track and report TLS 1.3


  • SERVER-29160 Sharding commonly uses write concern timeouts of 15 seconds and these are timing out in migration related operations and causing BFs

  • SERVER-31563 Reevaluate not_allowed_on_sharded_collection_cmd.js testing

  • SERVER-31892 moveChunk with waitForDelete doesn’t wait for majority write concern

  • SERVER-35222 Crash on the config server at expired session cleanup

  • SERVER-35238 Drop the collection after removing the partially written chunks for mapReduce in mongos_manual_intervention_actions.js

  • SERVER-35763 lastWriteDate field can get out of sync between repl set nodes during migration

  • SERVER-36831 LogicalSessionCache on mongos does not correctly report active operations

  • SERVER-36850 Add a replication passthrough suite to detect errors in LogicalSessionsCache

  • SERVER-37330 Add sharded passthrough suites to detect errors in LogicalSessionCache

  • SERVER-37430 Destroy sharding task executors and AsyncRequestSenders after the PeriodicRunner is destroyed in mongod shutdown

  • SERVER-37496 The balancer shouldn’t register a shutdown task after the process is multithreaded

  • SERVER-37631 Disable logical sessions if FCV is 3.4

  • SERVER-37657 Report the offending oplog entries if a batch contains non-increasing transaction numbers

  • SERVER-37735 [3.6] Ensure the full logical session id is included in commands sent by the ShardingTaskExecutor


  • SERVER-20845 re-add replSetReconfig to auditing suite

  • SERVER-25175 listIndexes shouldn’t include in-progress background indexes

  • SERVER-33383 Execution of replSetStepDown can race with unconditional stepdown via heartbeat response

  • SERVER-34362 ReplicaSetCoordinatorExternalStateImpl::_dropAllTempCollections() needs to log failed db.

  • SERVER-34868 A cursor with the “exhaust” option does not return documents inserted in the same txn

  • SERVER-35239 AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime

  • SERVER-36503 Skip dry-run election during election handoff

  • SERVER-36694 Do not hand off elections when in PV0

  • SERVER-36746 A failed step down attempt shouldn’t unconditionally reset LeaderMode to kMaster

  • SERVER-36978 TaskRunner must ensure Client is initialized for thread before running tasks

  • SERVER-37118 Coverity analysis defect 105000: Arguments in wrong order

  • SERVER-37147 sessions_collection_auto_healing.js should use 2 node replica set

  • SERVER-37152 Increase write concern timeouts for writes expected to succeed in tags.js

  • SERVER-37227 Reintroduce enableMajorityReadConcern:false server parameter

  • SERVER-37396 make rollback_auth.js more robust


  • SERVER-13946 Consider putting skip stages below fetch stages

  • SERVER-32943 Query during background index build can lead to suboptimal cached plan

  • SERVER-36435 Increase maxTimeMS timeout in awaitdata_getmore_cmd.js

  • SERVER-36944 applyOps does not permit unknown field names when creating a v:1 index

  • SERVER-36951 applyOps should work with a createIndexes command without a UUID

  • SERVER-37058 Update with numeric field names inside an array can cause validation to fail

  • SERVER-37132 Negation of $in with regex can incorrectly plan from the cache, leading to missing query results


SERVER-36993 mongod crash: Invariant failure indexedOr src/mongo/db/query/index_tag.cpp 237


SERVER-37126 Invoke runSafely for all external implscope methods


  • SERVER-26854 LockStats for sub-operations should not include time for previous sub ops

  • SERVER-34713 Progressively declining dropDatabase performance

  • SERVER-34866 Blacklist/unblacklist tests in secondary_reads_passthrough suite

  • SERVER-35657 Do not delay journal flushes when operations are waiting for oplog visibility

  • SERVER-36879 write regression test for stuck cache issue during rollback

  • SERVER-36961 createIndexes command should check if index already exists with weak lock

  • SERVER-36969 initial_sync_wt_cache_full.js takes too long to complete on slow hosts

  • SERVER-37313 FTDC collection blocked during foreground index build on secondary

  • SERVER-37618 Capture all the logs in lock_stats_suboperation_logs.js

  • SERVER-37749 replSetResizeOplog command does not validate argument


  • SERVER-32064 A logical session id should be included in all command requests from the mongo shell

  • SERVER-33606 mongo shell startSession() should fail if the server doesn’t support logical sessions

  • SERVER-34864 String-valued fields should not participate in schema change detection in ftdc

Build and Packaging


  • SERVER-30997 mongo cli –password is masked, but not when using mongodb:// connection string

  • TOOLS-2102 Mongorestore does not check for errors decoding the oplog.bson file


  • SERVER-18985 setParameter should log at level 0

  • SERVER-31570 Adjust mongobridge port allocations for easier debugging

  • SERVER-32369 Invariant incorrectly with message stringifies its argument

  • SERVER-33077 checkReplicatedDataHashes should provide more information if a collection doesn’t exist

  • SERVER-33470 Log archival message, even if successful, in hook_test_archival.py

  • SERVER-34248 Investigate why function_string_representation.js started failing

  • SERVER-34755 ignore missing collections when shutting down backup_restore.js

  • SERVER-34916 Blacklist core/shell_connection_strings.js from retryable_writes_jscore_stepdown_passthrough

  • SERVER-34986 CIDR Block That is Exempt from maxConns

  • SERVER-35233 Powercycle remote collection validation does not skip views

  • SERVER-35235 plan_cache_index_create.js should build initial index set in the foreground

  • SERVER-35570 Improve robustness of backup_restore.js around dropping test database

  • SERVER-35800 resmoke.py should retry getting a build_id and test_id from logkeeper

  • SERVER-35818 provide a stdx::variant

  • SERVER-36162 Powercycle - ensure internal crash command has been executed on the remote host

  • SERVER-36250 Add support for optionally logging specific negotiated TLS versions

  • SERVER-36301 build WT with HAVE_NO_CRC32_HARDWARE on RHEL 6.7 s390x

  • SERVER-36451 ContinuousStepdown with killing nodes can hang due to not being able to start the primary

  • SERVER-36721 list_local_sessions.js cannot run concurrently with refreshLogicalSessionCacheNow

  • SERVER-36732 Wait for all secondaries to be up and electable in election handoff jstests

  • SERVER-36747 Add a small time delay to “jstests/ssl/ssl_client_certificate_warning_suppression.js”

  • SERVER-36756 Log the githash of the 10gen/jstestfuzz repository when the fuzzer’s self-tests fail

  • SERVER-36783 Run the secondary_reads_passthrough task of enterprise-rhel-62-64-bit-inmem on rhel62-large

  • SERVER-36842 Core dump not generated after invariant failure in powercycle hosts

  • SERVER-36919 Add server setParameter tlsWithholdClientCertificate (bool)

  • SERVER-36964 Prevent secondaries in SessionsCollectionRS from attempting to set up the sessions collection.

  • SERVER-36986 list_local_sessions.js expects non-existent session to exist when running concurrently with LogicalSessionsCache refresh

  • SERVER-36987 ChunkVersion::minorVersion truncates to 16 bit

  • SERVER-36988 awaitdata_getmore_cmd.js times out when run concurrently with the LogicalSessionCache refresh suite

  • SERVER-37041 Update eval blacklists on older branches to account for differences in tests across branches

  • SERVER-37064 Wrap “mongod_flags” onto multiple lines for readability

  • SERVER-37130 Add TLS version counting to mongos

  • SERVER-37149 Remove deadlock in ScheduleBeforeStartupTest

  • SERVER-37353 Handle $slice value of LLONG_MIN gracefully

  • SERVER-37393 Fix destructor race in ReplicaSetMonitorManager

  • SERVER-37410 Add standalone passthrough suites to detect errors in LogicalSessionCache

  • SERVER-37424 Sys-perf: change v4.0 branch batch time to once a week

  • SERVER-37425 Longevity tests – increase batch time to once a year

  • SERVER-37437 mongo longevity tests failing

  • SERVER-37467 Have collect_resource_info.py recover from transient errors.

  • SERVER-37477 Disable TIG daily cron for update_test_lifecycle

  • SERVER-37595 [3.6] Handle WT_TRY_SALVAGE error code gracefully

  • SERVER-37599 Log exit code of shell-spawned processes

  • SERVER-37701 Make SessionUpdateTracker include the uid portion of LogicalSessionId when tracking

  • SERVER-37816 [3.6] Add –excludeWithAnyTags=requires_wiredtiger to ephemeralForTest variants

  • WT-3276 Add recover=salvage to recover from a corrupted log file

  • WT-3735 Add a workgen workload that generates a lot of page splits

  • WT-3736 Add statistics to measure contention on lookaside cursor

  • WT-3839 Document the undefined behavior when a range truncate overlaps with inserts

  • WT-3856 Create a test that runs recovery to different points of time with schema operations

  • WT-3879 Disallow checkpoint from evicting metadata pages

  • WT-3894 Timestamp queue implementation and statistics improvements

  • WT-3917 Enhance WT_CURSOR::reserve documentation around commit visibility

  • WT-3943 Include full error message when a python test asserts

  • WT-3955 Add verbose option to log more messages on error returns

  • WT-3963 Add a schema intensive abort testing

  • WT-3968 Use compression ratio to tune page sizes

  • WT-4010 Simplify test/format timestamp handling.

  • WT-4024 Fix a race between split and next/prev

  • WT-4026 Add implementation for existing file extension configuration API

  • WT-4048 Generalize timing_stress_for_test split functionality

  • WT-4067 Enhance LSM to not pin as much history in cache

  • WT-4090 Low priority reads

  • WT-4101 Don’t abort the eviction server during session verify when oldest_timestamp is held back

  • WT-4104 Fix test/format failure during comparing data content with berkeley db

  • WT-4111 Improve checkpoint scrubbing algorithm

  • WT-4119 Avoid restarts updating / removing during a column store scan

  • WT-4125 Ensure that subsequent checkpoints with stable timestamp don’t read too much

  • WT-4131 Rename lookaside to cache overflow

  • WT-4133 Coverity 1393445, 1393446 Dereference before null check

  • WT-4134 Rework assertion that we don’t discard required history

  • WT-4136 Add a new timing stress flag that yields during tree search

  • WT-4138 Add an option to timeout waiting for space in the cache

  • WT-4139 rename the cursor restart statistic to match implementation

  • WT-4140 Cursor walk limits quick eviction page selection unnecessarily.

  • WT-4141 Enhance checkpoint with timestamps to unblock eviction sooner

  • WT-4144 Fix rollback_to_stable with lookaside history

  • WT-4145 Only include the checkpoint timestamp during checkpoints

  • WT-4146 Coverity 1393639, unused variable

  • WT-4147 Log recovery should not ignore corruption outside of log records in a log file

  • WT-4152 Save return value for later comparison in transaction code

  • WT-4154 Surface the oldest read timestamp

  • WT-4156 Add new wiredtiger_salvage top level API

  • WT-4160 Restore performance when timestamps are not in use

  • WT-4163 Lint

  • WT-4168 Update upgrading documentation for 3.1.0 release

  • WT-4169 Fix wt verify dump-pages failure

  • WT-4171 Enabling tree walk timing stress causes excessive slowdown

  • WT-4172 Add diagnostic hazard pointer checks in more places before freeing refs

  • WT-4174 Do not access the lookaside file in rollback_to_stable when running with in_memory=true

  • WT-4176 Expose a WT_SESSION.query_timestamp method

  • WT-4177 Backup cursor open should force a log file switch

  • WT-4178 Fixes for wt_btree_immediately_durable needed for in-memory

  • WT-4179 Expose WiredTiger crc32c functions

  • WT-4182 Use conservative approach for log checksum errors

  • WT-4183 Extend verbose option to log more messages on error returns

  • WT-4185 Don’t remove all lookaside entries when reading a page

  • WT-4186 Log recovery should detect and report corruption within log records

  • WT-4187 Coverity: unused value complaints

  • WT-4188 Coverity: unchecked return value complaints

  • WT-4189 Potential infinite loop in __async_flush_wait().

  • WT-4191 Fix Coverity static analysis errors

  • WT-4193 test/format snapshot-isolation search mismatch

  • WT-4194 Improve fairness of eviction with multiple tables

  • WT-4195 When encountering an illegal value, log the value that failed

  • WT-4196 Make log corruption checking work regardless of the machine byte order

  • WT-4198 Some supported MongoDB architectures don’t support crc32 hardware

  • WT-4199 Fix an incorrect report of log corruption

  • WT-4201 Fix Coverity static analysis issues

  • WT-4206 Fix error handling in cursor close routines

  • WT-4207 Coverity #1394567: null pointer dereference

  • WT-4208 tree walks can be interrupted by locked internal pages

  • WT-4210 schema abort child process failing prematurely

  • WT-4211 Add automated test for long running prepared transactions

  • WT-4212 Update lookaside schema to handle prepared transactions

  • WT-4213 Rename lock statistics that have redundant or misleading text

  • WT-4215 Allow recovery of backup without salvage

  • WT-4216 Use separate counters for page_swap yield and sleep

  • WT-4218 Change eviction to evict prepared updates

  • WT-4225 Automate a backup test that simulates volume snapshot via dd

  • WT-4226 test/format LSM configurations can misconfigure prepare and timestamps

  • WT-4229 Lint

  • WT-4231 Fix ctags index of functions with attributes

  • WT-4233 Change log corruption errors to warnings and truncate log

  • WT-4234 Remove documentation mention of legacy tool statlog.py

  • WT-4235 Fix workgen tracking of table state across workloads

  • WT-4239 Don’t allow checkpoints to perform insert-splits in the tree

  • WT-4241 GNU-stack section should never be conditionally compiled out

  • WT-4242 New log file extension Python test failure

  • WT-4243 Fix lookaside sweep to not remove required entries

  • WT-4246 Change transaction update list to support indirect references

  • WT-4248 Fix checkpoints in schema_abort for slow machines

  • WT-4249 Attempt to discard dirty page during verify operation

  • WT-4251 Prepared updates cannot be discarded

  • WT-4252 Btree debug functions can leak scratch buffers on error.

  • WT-4253 Btree debug function to do blind reads doesn’t handle row-store internal pages

  • WT-4256 Loosen check during rollback_to_stable

  • WT-4257 Don’t assume timestamps from lookaside are aligned in memory

  • WT-4259 Restore ref to the previous state rather than MEM when eviction fails

  • WT-4261 Test salvage of out-of-sync metadata/turtle files

  • WT-4262 Lock deleted children in eviction of internal pages

3.6.8 Changelog


  • SERVER-30841 Lower the amount of metadata refresh logging

  • SERVER-33645 Determine if splitvector.js should be blacklisted from the retryable_writes_jscore_stepdown_suite

  • SERVER-34204 Tailable cursor fails on getMore against a sharded cluster

  • SERVER-34913 Blacklist splitvector.js from causally consistent suites

  • SERVER-35092 ShardServerCatalogCacheLoader should have a timeout waiting for read concern

  • SERVER-36332 CursorNotFound error in GetMore on a secondary with sessions

  • SERVER-36741 ChunkManager::getShardIdsForRange invariants when max = MaxKey

  • SERVER-36777 Excessive logging with sessions in FCV 3.4

  • SERVER-37050 wait for replication in session_collection_auto_healing


  • SERVER-35941 Don’t maintain full stable optime candidate list on secondaries in PV0

  • SERVER-36128 ReplicationCoordinatorImpl::fillIsMasterForReplSet should return isMaster:false while in shutdown

  • SERVER-36664 Use awaitReplication in read_committed_with_catalog_changes.js instead of getLastError

  • SERVER-37010 Prevent unexpected elections in initial_sync4.js and initial_sync_rename_collection*.js


  • SERVER-26387 Replace noPassthrough/indexbg2.js with test that uses failpoints

  • SERVER-34846 Covered index with collated field returns incorrect result when collation not involved in match or sort


SERVER-35084 change_stream_enforce_max_time_ms_on_mongos.js expects getMore to schedule follow-up getMores


  • SERVER-34384 Passthrough test for secondary reads during oplog application

  • SERVER-37002 dropping a collection with long index names via rename fails under MMAPv1


SERVER-36479 Log redaction does not show planSummary when slow queries are logged

Build and Packaging

SERVER-36884 Update curator version on stable branches


  • SERVER-32920 Avoid overriding read preference for the config server in passthrough tests.

  • SERVER-34120 scoped connection not being returned to the pool

  • SERVER-34144 Powercycle output improvements

  • SERVER-34465 Add a testing parameter to choose a permanent sync source

  • SERVER-34614 parallelTester should use a different connection for each new test

  • SERVER-34923 Replace PeriodicRunnerASIO

  • SERVER-35100 Do not log a Python stack trace when a hook dynamic test fails

  • SERVER-35123 The periodic_runner_impl starts jobs immediately, unittests should reflect that

  • SERVER-36001 Add requires_document_locking tag to noPassthrough/indexbg2.js

  • SERVER-36149 Fix privileges on setFCV virtual namespace

  • SERVER-36725 periodic_runner_impl_test should manually call tearDown

  • SERVER-36743 Stop mongod before log ingestion in startup_logging.js

  • SERVER-36947 Enable test commands for perf micro benchmarks

  • SERVER-36980 Remove old aggregation fuzzer from evergreen

  • WT-4218 Change eviction to evict prepared updates.

3.6.7 Changelog


  • SERVER-33857 Missing log redaction due to confusion with Command::redactForLogging()

  • SERVER-35032 Non-SSL connections to requireSSL instances get non-informative log message in 3.6.4


  • SERVER-27725 Use batch insert when migrating chunks

  • SERVER-32056 Increase maxExpireTime in tests to account for rounding

  • SERVER-33237 Optimize the Range Deleter speed

  • SERVER-33697 Provide sanity check on number of cached sessions

  • SERVER-34843 Mongod can return operationTime greater than $clusterTime

  • SERVER-34897 Introduce parameter to control whether MongoS should automatically retry failed find commands

  • SERVER-35377 Operations on new clients get latest in-memory clusterTime as operationTime

  • SERVER-35658 session migration is too sensitive to replica set primary elections

  • SERVER-36041 Increase the size of changelog and actionlog

  • SERVER-36132 Invariant that chunk migration is actually reflected in the metadata after successful commit

  • SERVER-36232 Refresh after chunk migration commit may not see the committed metadata

  • SERVER-36248 Do not reject sessions in FCV 3.4

  • SERVER-36463 Bypass validation of a dummy signatures for isMaster on the unauthenticated connections


  • SERVER-28389 Pass CallbackCanceled error down to scatter-gather runner algorithm to process

  • SERVER-32148 make NamespaceNotFound an acceptable error for emptyCapped and convertToCapped

  • SERVER-32907 Turn heartbeat log verbosity back down in tests

  • SERVER-33243 Improve logging when a node changes its sync source

  • SERVER-34414 Creating a role with buildsIndexes:false node hits an fassert

  • SERVER-34895 Stable timestamp can be set to timestamp not in oplog

  • SERVER-34941 Stuck with cache full during recovery oplog application

  • SERVER-34942 Stuck with cache full during oplog replay in initial sync

  • SERVER-35058 Don’t only rely on heartbeat to signal secondary positions in stepdown command

  • SERVER-35113 Stable timestamp does not advance if lastApplied does not move forward, but all committed timestamp does, on single node RS

  • SERVER-35200 Speed up failure detection in the OplogFetcher during steady state replication

  • SERVER-35239 AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime

  • SERVER-35246 Ignore NamespaceNotFound errors when running collMod during checkReplicaSet in replsettest.js

  • SERVER-35623 Send a replSetStepUp command to an eligible candidate on stepdown

  • SERVER-35624 Enable election handoff by default and update affected tests

  • SERVER-35754 Avoid network errors in stopSet() in catchup_takeover_one_high_priority.js

  • SERVER-35766 Replication commands sent in candidate’s new term can interrupt concurrent vote request

  • SERVER-35951 Under PV1, ReplicationCoordinatorImpl::processReplSetFreeze for a single node RS should start an election instead of auto-winning.

  • SERVER-35962 buildindexes_false_with_system_indexes.js restarts nodes and should be tagged [requires_persistence]

  • SERVER-36083 Add allowMajorityReadConcern:false evergreen variant

  • SERVER-36225 Do not hold replication mutex when calling getMinValid

  • SERVER-36234 Fix ./jstests/replsets/initial_sync_drop_collection.js to prevent using stale heartbeat info in the test.


  • SERVER-33245 mr.cpp can throw in an ON_BLOCK_EXIT handler when there’s already an active exception

  • SERVER-36239 MatchExpression parser query rule


  • SERVER-35961 Remove uninitialized count variable in MapReduce command

  • SERVER-35967 $sample with explain(true) hangs

  • SERVER-36070 Aggregation with $out results in error when Auditing is enabled


SERVER-35986 Stop running eval command in parallel suite on older branches



  • SERVER-34160 Mongo client run buffered command when terminated.

  • SERVER-35180 Safeguard from setting operation session info values while in a direct client

  • SERVER-35795 3.4 secondaries crashing after some time with 3.6 primary

  • SERVER-36010 Change log messages for Windows stacktraces to use error() or severe() rather than log()

Build and Packaging


TOOLS-2075 mongoreplay always replays to secondary


  • SERVER-26150 auth_utils.js authutils.assertAuthenticate should handle hangups better

  • SERVER-32302 for-each loop over BSONObj is slower than explicit BSONObjIterator in MatchExpressionParser code

  • SERVER-32371 features2.js should exclude clusterTime metadata

  • SERVER-32639 Arbiters in standalone replica sets can’t sign or validate clusterTime with auth on once FCV checks are removed

  • SERVER-32792 Blacklist tests that assert on ismaster field of isMaster response in retryable_writes_jscore_stepdown_passthrough

  • SERVER-33695 Include the loop name in the before and after recovery files in powertest.py

  • SERVER-33841 Add hooks for the mutational fuzzer

  • SERVER-34258 Error from mount_drives.sh on Windows

  • SERVER-34558 Add SSL_version to client metadata logging

  • SERVER-34793 Add call to BF suggestion server on failed task completion

  • SERVER-35110 Log locations in set_feature_compatibility_version.js where fatal assertions/other errors are expected

  • SERVER-35383 Increase electionTimeoutMillis for the ContinuousStepdown hook used in stepdown suites

  • SERVER-35472 resmoke.py shouldn’t fall back to stderr when logkeeper is unavailable

  • SERVER-35668 Avoid moving concurrency tests to small instances on arm64

  • SERVER-35724 Remote EC2 hosts which are not accessible via ssh should fail with system error

  • SERVER-35858 Error in call BF Suggestion service

  • SERVER-35861 Remove call to dashboard_gen.py in perf.yml

  • SERVER-35946 Powercycle kill_mongod function should ensure the service is not in a running state

  • SERVER-35993 read_concern_uninitiated_set restarts nodes so must not allow ephemeral storage

  • SERVER-36223 Add hook for the fuzzer to not send lsid in the preamble on v3.6

  • SERVER-36274 Re-enable –ycsb-throughput-analysis in sys-perf

  • SERVER-36448 Disable election handoff in suites that use the ContinuousStepdown hook

  • SERVER-36462 Add atlas user to runtime_secret.yml

  • TOOLS-1991 Build tools with Go 1.10.1

  • WT-4143 Use WiredTiger.turtle.set if it exists but WiredTiger.turtle does not

3.6.6 Changelog


  • SERVER-34822 RoleGraph update should ignore index creation on non-role collections

  • SERVER-35322 external_auth tests should use unique kerberos credentials cache per test


  • SERVER-25746 Store advisoryHostFQDNs data in config.mongos collections

  • SERVER-33081 Reset KeysCollectionManager during rollback properly

  • SERVER-33327 Session::onMigrateCompletedOnPrimary should not update the lastWriteDate field

  • SERVER-33538 mapReduce “replace” on a sharded output collection can lead to UUIDCatalog inconsistencies

  • SERVER-33639 Concurrent writes against non-existent database can fail due to distlock acquisition timeout at createDatabase time

  • SERVER-34363 addShard shard registry reload can cause mongos to terminate

  • SERVER-34773 The TransactionReaper handler classes are not exception-safe

  • SERVER-34833 Deadlock between the logical sessions’ transaction reaper and MMAP V1 durability thread

  • SERVER-34857 sharding_legacy_api_test is flaky due to reliance on the system clock

  • SERVER-35006 Do not reset KeysCollectionManager

  • SERVER-35345 Test that restarted mongoses are able to connect after FCV update

  • SERVER-35609 Create initial chunk on primaryShard if only writing one chunk

  • SERVER-35653 Revert initial chunk creation optimization

  • SERVER-35745 _getNextSessionMods doesn’t include oplogReplay flag to query new oplog created during migration


  • SERVER-5461 Add syncSourceHost field to replSetGetStatus output

  • SERVER-29844 If node has a higher priority than the primary and is the most up to date, schedule the takeover that will execute faster.

  • SERVER-31995 Logged initial sync statistics may exceed 16mb causing fassert

  • SERVER-32382 Rollback can time out if oplog entries are large

  • SERVER-32687 Ignore collection-not-found when fetching missing documents in sync_tail.cpp during initialSync

  • SERVER-32935 improve exception handling in SyncTail::oplogApplication()

  • SERVER-33638 CheckReplDBHash should ignore mapreduce incremental collections

  • SERVER-33812 First initial sync oplog read batch fetched may be empty; do not treat as an error.

  • SERVER-34102 Under PV1, ReplicationCoordinatorImpl::_handleTimePassing for a single node RS should start an election instead of auto-winning.

  • SERVER-34110 Ignore NamespaceNotFound errors when refetching documents during rollback

  • SERVER-34249 Oplog query on uninitiated replica set node can cause seg fault

  • SERVER-34549 Tests refer to ReplSetTest.kDefaultTimeoutMS, which is undefined

  • SERVER-34661 Return early when the vote request response has an error

  • SERVER-34682 Old primary should vote yes and store the last vote after stepdown on learning of a higher term

  • SERVER-34758 replSetGetStatus can deadlock with initialSyncer

  • SERVER-34900 initial sync uses different batch limits from steady state replication

  • SERVER-35087 “./jstests/replsets/read_concern_uninitated_set.js” and test should be disabled in evergreen for storage engines - ephemeralForTest & mmapv1.

  • SERVER-35124 Stepdown suites with MMAP V1 often fail due to flushing mmaps taking long time

  • SERVER-35249 Invariant that we apply to top of oplog on 3.6 replication recovery

  • SERVER-35256 Do not treat it as an error if the first batch returned by an oplog query comes back empty in master-slave

  • SERVER-35340 Reduce number of iterations in update_and_bulk_insert.js FSM workload

  • SERVER-35405 Change default setting for replBatchLimitOperations


  • SERVER-33959 CursorManager attempts to dispose of aggregation cursors while holding partitioned lock, which leads to deadlock

  • SERVER-34933 pcre verb support

  • SERVER-35693 Parsing of $in takes quadratic time due to O(n^2) boost::flat_set constructor


  • SERVER-34040 Disallow change stream on “internal” databases and system collections

  • SERVER-35750 [3.6 only] Fix assert in change_stream_collation.js to be assert.soon()


SERVER-34515 Invariant failure _scope->exec( “$arr = [];”, “group clean up”, false, true, false , 2 * 1000)


  • SERVER-31679 Increase in disk i/o for writes to replica set

  • SERVER-33078 convertToCapped size is not checked for float -> long long overflow

  • SERVER-34630 Change WiredTiger compatibility version setting in 3.6 release

  • SERVER-34829 Drop pending reaper must not delete the _dropPendingNamespaces entry until after the drop occurs

  • SERVER-34863 Disable LSM testing on 3.2, 3.4 and 3.6 branches

  • SERVER-35859 Disable rocksdb buildvariant


  • SERVER-33706 Remove warning message about Windows FS cache configuration


  • SERVER-27230 Poor compression of diagnostic data when replica set is unhealthy

  • SERVER-28830 cursorHandleFromId should verify that its not being called on a closed connection

  • SERVER-32065 Add support for retryWrites option in mongo shell connection string format

  • SERVER-33080 blacklist getLog2.js from the parallel suite

  • SERVER-33546 Add numeric syncing field to replSetGetStatus members array

  • SERVER-34141 Inconsistent appName in Shard

  • SERVER-34159 Fix migration_destination_manager logging

  • SERVER-35444 Heap stacks should not be included in serverStatus with heapprofilingenabled

Build and Packaging

  • SERVER-32999 Platform Support: remove Debian 7

  • SERVER-33395 PPC64 little endian altivec optimizations are broken on newer gcc

  • SERVER-34451 MongoDB installation on Windows error: setup wizard ended prematurely

  • SERVER-35210 curator release versions should be populated from the project expansions


  • TOOLS-2058 mongoreplay does not show OP_MSG commands

  • TOOLS-2062 Support zlib compression in mongoreplay


  • SERVER-26884 Support archiving data files in Evergreen on test failure

  • SERVER-29359 Enable SO_KEEPALIVE on egress server connections

  • SERVER-31013 Make serverExitCodeMap useful to detect if server crashed on startup before connection established

  • SERVER-31400 Record Linux netstat metrics in ftdc

  • SERVER-31562 dump replica set oplogs at the end of every failed test

  • SERVER-31830 Log values in invariant statements

  • SERVER-32602 Multiversion tests are not running enterprise MongoDB on enterprise build variants

  • SERVER-32688 FSM replication suites should give secondaries zero votes

  • SERVER-32715 Add “Connection refused” to the list of _SSH_CONNECTION_ERRORS in remote_operations.py

  • SERVER-32762 Module to upload files to S3

  • SERVER-32763 Create archive.json and associate to task in evergreen.yml

  • SERVER-32852 Capture FTDC data on failures of the concurrency suite

  • SERVER-33009 AWS credential profiles in evergreen.yml

  • SERVER-33144 Support archiving data files in Evergreen on test failure - Windows

  • SERVER-33193 Enable test failure archive for specific tasks and hooks

  • SERVER-33346 Pin a specific version of boto3 for use in etc/evergreen.yml scripts

  • SERVER-33420 Add detection metafunctions to StatusWith

  • SERVER-33512 Add PeriodicKillSecondaries hook to archive list

  • SERVER-33553 OP_KILL_CURSORS fails on mongos: Unable to check out cursor for killCursor

  • SERVER-33813 launch_evergreen_ec2_instance.sh should immediately fail if the call to aws_ec2.py is unsuccessful

  • SERVER-33817 Powercycle test using kill mongod

  • SERVER-33995 mongod crashes with nmap script

  • SERVER-34075 powercycle_replication* must run replication recovery to observe canary documents

  • SERVER-34345 Make it easier to provide validation rules for server parameters

  • SERVER-34371 Stop ignoring errors when the test fixture fails to delete data files

  • SERVER-34374 resmoke.py uses bytestrings for representing pathnames, leading to silently failing to clear the dbpath on Windows

  • SERVER-34380 system_perf.yml: Remove the compile_proxy task

  • SERVER-34481 Improve resiliency of awaitdata_getmore_cmd.js

  • SERVER-34540 Remove sleeptest from dbtests

  • SERVER-34563 Connect via SRV record fails if the returned record resides in subdomain

  • SERVER-34735 Extract structured names from X.509 certificates

  • SERVER-34810 Session cache refresh can erroneously kill cursors that are still in use

  • SERVER-34851 Disallow index selection for identical min & max values on find

  • SERVER-34865 Test archival fails when temporary files are removed

  • SERVER-34888 Track status of SSLPeerInfo

  • SERVER-34936 Reduce batchtime for rocksdb buildvariant

  • SERVER-34950 Use new sys-perf baseline 3.4.14-Baseline

  • SERVER-34956 big_object1.js is not resilient to unexpected stepdowns

  • SERVER-34996 Save console_output & console_screenshot from aws_ec2.py as artifacts in evergreen.yml

  • SERVER-35051 Resmoke should stop the balancer before shutting down sharded clusters

  • SERVER-35055 KeyedExecutor

  • SERVER-35071 Split MMAPv1 tasks into separate variants in sys-perf

  • SERVER-35101 Handle differently a badly formed bindIp argument

  • SERVER-35108 Enable signal processing in system_perf.yml

  • SERVER-35155 Fix jstests/ssl/x509_invalid.js using explicit X509 client names

  • SERVER-35188 Typo in ServiceLiason* types

  • SERVER-35190 resmoke.py runs lists of tests in alphabetical order by default

  • SERVER-35207 Don’t use json.get_history in system_perf.yml

  • SERVER-35227 Delete embedded from the 3.6 branch

  • SERVER-35229 Improve logging in apply_batch_only_goes_forward.js

  • SERVER-35231 Invalid decimal continuation can trigger a dassert when decoding a KeyString

  • SERVER-35232 Backport futures to 3.6

  • SERVER-35348 Add silent option in the update_test_lifecycle task

  • SERVER-35506 The Powercycle wait_for_mongod_shutdown function should ensure the mongod process is no longer running

  • SERVER-35588 powertest.py should call replSetReconfigure command only after successful replSetGetConfig

  • SERVER-35610 Refine LDAP options parsing

  • SERVER-35706 Fix race in ctor for LogicalSessionCacheImpl

  • SERVER-35834 Fix compile errors in dns_name_test on Microsoft compilers

  • SERVER-35917 Blacklists tests which use resumeAfter from the sharded collections change streams passthrough

  • WT-3698 Threads doing eviction can stall indefinitely when timestamps fail to advance

  • WT-3892 Add timing_stress_for_test option for lookaside cleanup

  • WT-3914 Add general documentation for prepared transactions

  • WT-3937 Tune lookaside sweep to react to workload

  • WT-4000 Avoid getting two snapshots when setting a read_timestamp

  • WT-4004 test/format snapshot-isolation search mismatch failure

  • WT-4016 Measure and improve lookaside performance with stable_timestamp set

  • WT-4023 Add messages to a few places that return errors

  • WT-4029 Bump the log file version

  • WT-4033 Add ability to alter tables without taking exclusive access

  • WT-4039 Move row-store missing-value support into the cell unpack code.

  • WT-4044 Add an internal API to return if a generation is active

  • WT-4049 Performance drop in long tests

  • WT-4051 format configures too-small LSM caches.

  • WT-4052 Free transaction resources on session reset

  • WT-4055 format transaction prepare and logging configuration is incorrect

  • WT-4056 New API to configure a minimum compatibility version on open

  • WT-4057 round_to_oldest should establish txn snapshot after establishing rounded read timestamp

  • WT-4058 Make slot switch quicker when io is slow

  • WT-4059 Start lookaside sweep at full records

  • WT-4060 Clean up __wt_getenv() error handling.

  • WT-4061 Don’t rollback during recovery due to cache pressure

  • WT-4063 Update docs to make clear when log archiving is disabled.

  • WT-4064 Relax checking of lookaside entry count

  • WT-4069 Commit of a truncate can leave a page permanently locked

  • WT-4070 WiredTiger recovery can checkpoint data referencing pieces of a transaction

  • WT-4071 Run unit tests with timestamps disabled

  • WT-4074 Lint fix: don’t use error labels that do nothing other than return

  • WT-4075 Allow timestamp_transaction after prepare

  • WT-4076 test/format failure with cache stuck full of internal pages

  • WT-4077 Transactional test on zSeries contains wrong LSN in checkpoint

  • WT-4078 Splits can leak a page lock if memory allocation fails.

  • WT-4079 confirm WiredTiger builds under gcc8

  • WT-4080 gcc8 -Wparentheses complains about WiredTiger’s __F() macro.

  • WT-4081 Improve errors and documentation for syscall.py

  • WT-4086 Verify log file versions before opening logging subsystem

  • WT-4087 Store current compatibility within WiredTiger

  • WT-4091 Make timing_stress_test options for page split race conditions work.

  • WT-4093 Temporarily disable test/format LSM and timestamp testing

  • WT-4094 Understand variable throughput when running YCSB 50/50 workload

  • WT-4098 Add new compatibility_max configuration option

  • WT-4105 Optimize cache usage for update workload with history pinned

  • WT-4110 test_timestamp_abort failed with missing records

  • WT-4115 Valgrind error in est_wt4105_large_doc_small_upd

  • WT-4116 Coverity #1393311 Copy-paste error

  • WT-4117 Expose WiredTiger crc32c function

  • WT-4120 Enhance test/format to dump the cache when timing out

  • WT-4122 Ensure compatibility downgrade cleans up old log files

  • WT-4127 Add common prefix for compatibility version errors

  • WT-4128 Skip checkpoints while stable timestamp doesn’t change

3.6.5 Changelog


  • SERVER-34418 Disable GCM encryption with ESE on OS X with OpenSSL

  • SERVER-34477 Coverity analysis defect 103475: Invalid iterator comparison


  • SERVER-32681 exact_shard_key_target.js moveChunk should wait for delete

  • SERVER-33585 Do not return $clusterTime when no keys are available

  • SERVER-33714 Downgrading FCV from 3.6 to 3.4 leaves an admin.system.keys collection on shards that on upgrade is orphaned and renamed without a UUID

  • SERVER-33766 Secondary may not invalidate in-memory routing table cache after primary refresh

  • SERVER-34098 Move chunk_manager_refresh_bm from unit test to perf microbenchmark

  • SERVER-34347 Batch write with ranged query predicate mixed with single target triggers invariant on mongos

  • SERVER-34508 Prevent race condition in Migration Destination Manager from swallowing an exception

  • SERVER-34571 Invariant fails in destructor of MigrationChunkClonerSourceLegacy on shutdown

  • SERVER-34586 Possible double mutex acquisition in ShardServerCatalogCacheLoader

  • SERVER-34644 Disable DollarPrefixedFieldName checks for moveChunk/mergeChunks

  • SERVER-34683 Downgrade replicaset from 3.6.4 to 3.4.14 fails due to the presence of config.system.sessions

  • SERVER-34746 Segmentation fault when shard is started with –shardsvr before being added to a shard


  • SERVER-29966 Add invariant that lastOpApplied doesn’t change during secondary batch application

  • SERVER-30642 Raise election timeouts as a way to provide more stable replica set test topologies

  • SERVER-32647 Retry connecting to replica set when given a seed node in Jepsen tests

  • SERVER-33026 SyncSourceFeedback request doesn’t have a timeout

  • SERVER-33287 Create passthrough that kills the primary node

  • SERVER-33475 Retried writes doesn’t properly wait for writeConcern

  • SERVER-33879 config.transactions is not updated during startup replication recovery

  • SERVER-33956 A sequence of rename and create collections that do not arrive at the correct end state


  • SERVER-33154 {“query” => “foo”} is upconverted incorrectly

  • SERVER-34389 Modify change_stream_collation test to avoid failure

  • SERVER-34714 An $or query with children which are all trivially false incorrectly optimizes

  • SERVER-34725 Group and count plan stages do not set the WorkingSetID output on PlanStage::DEAD state

  • SERVER-34767 Randomized KeyString decode test can hit dassert in Decimal

Write Operations

SERVER-27534 All writing operations must fail if the term changes


SERVER-34399 $changeStream with invalid resume token crashes the server


  • SERVER-32989 repairDatabase can race with dropDatabase.

  • SERVER-33743 Use all_committed to set lastApplied on primary nodes

  • SERVER-34091 Oplog visibility rules can cause cappedTruncateAfter to erroneously skip record deletion in WiredTiger

  • SERVER-34423 collMod interruption may cause invariant failure

  • SERVER-34656 Add secondary reads sys-perf test to system_perf.yml


  • SERVER-20056 Log a startup warning if wiredTigerCacheSizeGB is > 80% of RAM


  • SERVER-32876 Don’t stall ftdc due to WT cache full

  • SERVER-34665 The mongo shell should retry writes on a WriteConcernFailure error response from the server

Build and Packaging

  • SERVER-29463 Platform Support: add Debian 9 “Stretch”

  • SERVER-44392 Platform Support: remove Ubuntu 16.04 “Xenial” on s390x architecture

  • SERVER-32785 Integrate Google Benchmark into SCons

  • SERVER-34149 Upgrade zlib to latest

  • SERVER-34250 Update Tools builders in Evergreen to match upstream

  • SERVER-34461 Source OpenSSL source tarball from boxes.10gen.com


  • TOOLS-1765 mongoreplay crashes with out of memory recording from 8GB pcap file

  • TOOLS-1776 mongoreplay hangs on open connection when finishing playback

  • TOOLS-1780 Build tools with Go 1.8.x

  • TOOLS-1948 Use Go-native TLS dialer on platforms with openssl 0.9.x

  • TOOLS-1968 Backport - Need to update spacemonkeygo/openssl fork to support newer OpenSSL libraries

  • TOOLS-1999 Use of –uri overrides use of –ssl

  • TOOLS-2005 –quiet flag not honored on mongofiles


  • SERVER-25640 Have ReplSetTest run checkDBHashes() in stopSet()

  • SERVER-29301 Upgrade MozJS to ESR 45.9.0

  • SERVER-33199 Add Resmoke Benchmark suite

  • SERVER-33200 Write a new test runner for Benchmark

  • SERVER-33201 Add Benchmark resmoke testcase

  • SERVER-33202 Add hook to enable resmoke.py to generate perf.json

  • SERVER-33203 Write benchmark canary tests

  • SERVER-33204 Modify Evergreen.yml to support Benchmark

  • SERVER-33329 Server and Shell do not emit TLS “protocol_version” alert messages

  • SERVER-33398 Add the new finer grained sys-perf tasks

  • SERVER-33438 burn_in_tests.py fails if there are new or modified files and build/benchmarks.txt doesn’t exist

  • SERVER-33491 Fix benchmark.h compile with -fdirectives-only

  • SERVER-33497 Remove the –options option to resmoke.py

  • SERVER-33560 Remove deprecated Fixture function declarations from Google Benchmark

  • SERVER-33636 wrap transaction_reaper.js writes in an assert.writeOK

  • SERVER-33643 Add convenience function to get num cpu cores in benchmarks

  • SERVER-33734 Improve jsTestLog filterability

  • SERVER-33746 Pipe in additional Evergreen options to resmoke.py

  • SERVER-33805 Change Jepsen tasks running in Evergreen to use mongobridge

  • SERVER-33938 Increase replication timeout in CheckReplDBHash hook

  • SERVER-34210 Fix display of benchmarks with multiple arguments

  • SERVER-34218 FieldRef::parse does not completely initialize the FieldRef

  • SERVER-34237 Expose means for shell to disable TLS 1.0

  • SERVER-34390 Make OS X binaries speak TLS 1.2

  • SERVER-34412 powercycle* tasks set timeout_secs in wrong location of task definition

  • SERVER-34444 Reestablish a new connection to LocalToRemoteOperations after crash in powercycle.py

  • SERVER-34476 Fix OpenSSL linking on FreeBSD

  • SERVER-34582 AsyncRequestsSender can block network threads during construction

  • SERVER-34605 Change Jepsen tasks to run on the ubuntu1604-build distro in Evergreen

  • SERVER-34651 Performance regression on secondary application with retryable batched writes

  • SERVER-34657 Add secondary reads YCSB test to system_perf.yml

  • SERVER-34667 data_consistency_checks.js incorrectly assumes that the config.mongos collection always exists

  • SERVER-34742 Stop running ssl_cert_password.js on OS X

  • SERVER-34823 Thread name and connection number are not synchronized in TransportLayerLegacy

  • SERVER-34827 retryable writes not in sys-perf-3.6 project

  • SERVER-34834 Wait for replication of FCV document before downgrading binaries in clear_and_reinstate_keys_rs.js

  • SERVER-34929 Fix malformed preprocessor macro check

  • TOOLS-1941 Tools qa-tests often timeout, particularly on server latests

  • TOOLS-1978 tools fail eslint testing

  • TOOLS-2003 Drop SUSE11 from Evergreen builds

  • WT-3851 Optimize wt_compare* routines with NEON instructions for ARM platform

  • WT-3886 Identify statistics relevant for prepared transactions

  • WT-3910 libwiredtiger-3.0.1.dylib loading failure on OS X

  • WT-3959 Recovery timestamp set on restart scenarios need addressing

  • WT-3998 Fix a bug where stable timestamp was ignored on shutdown

  • WT-4006 Add support for stress timing configurations to test/format

  • WT-4009 Create fast path for cursor caching with “overwrite=false”

  • WT-4012 Fix lookaside entry counters

  • WT-4014 If eviction walk is interrupted, clean up the queue.

  • WT-4015 Enhance schema06 unit test to test drops

  • WT-4017 When evicting during a checkpoint, avoid splits

  • WT-4019 Change test/format to test transaction prepare less often

  • WT-4027 Yield cursor operations between restarted search/traverse

  • WT-4028 Don’t check for a modified page without holding the ref locked

  • WT-4031 on-page zero-length row-store values can be discarded from checkpoints

  • WT-4032 parent pages can be evicted while being split.

  • WT-4034 Re-entering eviction can result in checkpoint corruption

  • WT-4035 Truncate information discarded while active

  • WT-4036 Fix Coverity false positive: out-of-bounds access.

  • WT-4037 WT_REF structures freed while still in use

  • WT-4042 Access data handles safely during cursor reopen

  • WT-4045 Don’t retry fsync calls after EIO failure

3.6.4 Changelog


  • SERVER-16802 Order of balancer chunk moves depends on order of config.collections

  • SERVER-28670 Add sharding metadata refresh metrics section to serverStatus

  • SERVER-28981 Sharding balancer prefers shards in a specific order when moving chunks

  • SERVER-29807 RangeDeleter should log when its about to wait for majority replication

  • SERVER-32210 Stepping down recipient shard’s primary while migrating session information can fassert

  • SERVER-32604 prevent adding a binary last-stable shard if the cluster is upgrading or downgrading

  • SERVER-32885 Overlap chunk clone application on the donor with fetching documents from the recipient

  • SERVER-32886 Unnecessary sleeps during chunk migration

  • SERVER-33189 Unblacklist sharding tests marked as requiring already released last-stable versions

  • SERVER-33763 3.6 drivers fail to communicate with 3.6 sharded clusters running at FCV 3.4

  • SERVER-33869 make $changeStream on shards check shardVersion

  • SERVER-33971 Nodes in MongoDB sharded cluster crashes with Invariant failure oplogEntry.getWallClockTime()


  • SERVER-29946 Increase heartbeat rate when a secondary has no sync source

  • SERVER-30283 PingStats::hit() should not set _numFailuresSinceLastStart to integer max

  • SERVER-31399 repl.apply.batches.totalMillis does not record the time spent applying batches

  • SERVER-31666 catchup_takeover_one_high_priority should use initiateWithAnyNodeAsPrimary

  • SERVER-31669 Increase the election timeout in case 3 of catchup.js

  • SERVER-32776 Refresh rollback id cache on increment

  • SERVER-33448 Relax time diff requirements in apply_batches_totalMillis.js

  • SERVER-33618 Initial sync should consider applyOps a CrudOpType


  • SERVER-31293 Don’t consider readPreference “primary” as equivalent to ‘slaveOk’ in OP_QUERY find path

  • SERVER-33302 Missing log redaction for a few failure paths

  • SERVER-33542 Using maxTime() on MongoDB 3.4 and 3.6 does not yield the same error code


  • SERVER-32058 Abort of catalog meta-data updates may lead to cache inconsistency

  • SERVER-32453 WTKVEngine::getAllIdents mishandles cursor->next return code.

  • SERVER-32574 Repairing the local database can cause the WT oplog manager thread to permanently exit.

  • SERVER-32641 Some artificial find may crash debug builds of the server

  • SERVER-32831 Blacklist change_stream_chunk_migration.js and close_cursor_on_chunk_migration_to_new_shards.js for LSM buildvariant

  • SERVER-33086 renameCollection target should never have identical UUID with a different database

  • SERVER-33087 Fix the use of dropTarget in renameCollection

  • SERVER-33122 add option to disable cursor caching to speed up dropDatabase and collection drop

  • SERVER-33233 Don’t stall ftdc due to running out of tickets

  • SERVER-33854 Fix applyOps field handling

  • SERVER-34024 Disable WiredTiger cursor cache by default.


  • SERVER-12644 Move note about noprealloc hurting performance to startup warnings

  • SERVER-30114 Monitor cumulative time spent in tcmalloc spin lock

  • SERVER-30567 Break out serviceExecutorTaskStats by task type

  • SERVER-32498 “desc” field in currentOp output no longer contains the thread name used in log messages

  • SERVER-33227 Using the method connect in a script will as a side effect update global db.

Build and Packaging

  • SERVER-31535 Platform Support: remove Ubuntu 12.04 builds

  • SERVER-32923 Platform Support: remove SLES11 builds

  • SERVER-33406 Reduce concurrency for s390x compile and compile_all builds to avoid OOM failures

  • SERVER-33779 Remove tvOS and iOS variants from the v3.6 branch

  • SERVER-33936 3.6 nightly builds not available for download


  • SERVER-30609 Investigate need for markThreadIdle with adaptive service executor

  • SERVER-30979 Run the fuzzer with CSRS primary stepdowns

  • SERVER-31181 ServiceExecutorAdaptive maxLatencyMicros should be greater than the minimum timer resolution of the OS

  • SERVER-31198 Run the concurrency suite with shard stepdowns

  • SERVER-31266 Treat queued task reporting for adaptive service executor consistently

  • SERVER-31452 Run fuzzer with shard stepdowns

  • SERVER-31556 Fix ContinuousStepdown logger

  • SERVER-31917 RollbackTest fixture should add more log messages describing the actions it is taking

  • SERVER-31999 Race condition in awaitdata_getmore_cmd.js

  • SERVER-32034 Replica Set primary becomes unresponsive with adaptive Service Executor

  • SERVER-32063 mongos responds with “Unauthorized: there are no users authenticated” to an isMaster request using an lsid

  • SERVER-32126 validate() should do basic sanity checks for UUIDs

  • SERVER-32241 applyOps reports success even when a nested applyOps fails.

  • SERVER-32445 config.transactions table can get out of sync when the TransactionReaper remove entries

  • SERVER-32474 resmoke.py logging output from data consistency hooks twice to logkeeper

  • SERVER-32477 ASIOSession fails to gracefully teardown sockets

  • SERVER-32528 Use fixed version of curator for remote EC2 instances in evergreen.yml

  • SERVER-32583 Sys-perf update bootstrap variables to use proper ConfigDict Names

  • SERVER-32600 setup_multiversion_mongodb.py may download non-x86_64 binaries on x86_64 platforms

  • SERVER-32798 Add duroff variant for MMAPv1

  • SERVER-33129 getMinimumTimerResolution() returns maximum resolution on Windows

  • SERVER-33150 Race between creating a system.profile collection and assigning UUIDs to non-replicated collections on clean startup

  • SERVER-33224 Use windows-64-vs2015-small distros for powercycle tasks

  • SERVER-33346 Pin a specific version of boto3 for use in etc/evergreen.yml scripts

  • SERVER-33424 Change update_test_lifecycle.py script to use OAuth when authenticating to JIRA

  • SERVER-33437 Decorable::declareDecorationWithOwner passes wrong owner pointer to its decorations

  • SERVER-33467 Do not free memory returned by ldap_get_option(LDAP_OPT_ERROR_STRING) on Windows

  • SERVER-33483 HTTP detection no longer working

  • SERVER-33484 Code coverage can’t distinguish between files with identical names

  • SERVER-33502 Blacklist or rewrite jsCore tests that use the getLastError command from the parallel suite

  • SERVER-33520 Enable background refreshing of the logical session cache during the fuzzer test suites

  • SERVER-33569 The check for logical session existence must not allow partial results

  • SERVER-33572 Provide a bounded, interruptible, thread safe, producer consumer queue

  • SERVER-33619 Assign address_type for any EC2 instance in powertest.py

  • SERVER-33623 Enable multiversion for aggregate_fuzzer

  • SERVER-33640 Blacklist find_and_modify_concurrent_update.js from causal consistency passthrough

  • SERVER-33670 Build mongo binaries with -ssl compile flag in system_perf.yml

  • SERVER-33682 Python virtualenv not setup in “Gather remote mongo coredumps” post phase in evergreen.yml

  • SERVER-33691 Remote EC2 instances should have a log disk

  • SERVER-33692 Only backup data files from failed Powercycle tests

  • SERVER-33696 Set timeout_secs for powercycle* task to restrict the duration of a single powercycle loop

  • SERVER-33751 Auth when connecting to an existing cluster in ReplSetTest

  • SERVER-33778 Remove change_stream_remove_shard.js

  • SERVER-33843 PeriodicKillSecondaries hook can run validate while a secondary is still applying operations

  • SERVER-33848 Update compile flags for sys-perf and performance projects

  • SERVER-33935 utils_auth.js should support connecting to clusters running with SSL

  • SERVER-33970 New baselines for mongo-perf

  • SERVER-34062 powertest.py attempts to access an attribute named address_type rather than its value

  • SERVER-34140 remove multiple distro specification for single tasks in evergreen configs

  • SERVER-34178 Address lingering issues around TestData.excludedDBsFromDBHash

  • SERVER-34213 testshard1.js should use _ids of [0, nItems -1] instead of [1, nItems]

  • SERVER-34318 Set timeout for canary insert to 1 hour in powertest.py

  • SERVER-34352 Run dbhash check before collection validation in jstestfuzz_sharded_continuous_stepdown.yml

  • SERVER-34361 blacklist migration_critical_section_concurrency.js in v3.6 last stable

  • WT-1228 Improve performance of WT_SESSION::open_cursor

  • WT-3724 Log an error if flushing with F_FULLSYNC fails

  • WT-3805 Avoid reading lookaside pages in truncate fast path

  • WT-3815 Cursor caching: measure and tune performance

  • WT-3829 WiredTiger metadata can be logically inconsistent.

  • WT-3848 Enhance new prepare transaction API to enforce post conditions

  • WT-3849 Add timestamp validation to WT_SESSION::prepare_transaction

  • WT-3850 Implement WT_SESSSION::prepare_transaction

  • WT-3867 Bi-weekly WT codebase lint

  • WT-3868 Bi-weekly WT codebase lint

  • WT-3869 Bi-weekly WT codebase lint

  • WT-3870 Bi-weekly WT codebase lint

  • WT-3901 Corruption of operation tracking log files

  • WT-3904 Reconsider error path in log server thread

  • WT-3905 Save the timestamp used for a checkpoint

  • WT-3906 Respect stable_timestamp in WT_CONNECTION::close

  • WT-3911 Ignore lookaside data on shutdown

  • WT-3912 fast-delete pages should re-instantiate the delete transaction’s timestamp.

  • WT-3913 Enhance cursor operations to account for prepare state

  • WT-3922 Allow truncate operations to be prepared

  • WT-3923 __wt_txn_context_prepare_check() requires API initialization

  • WT-3925 Fix test format operation selection code

  • WT-3926 Allow read_timestamp to be set after begin_transaction

  • WT-3927 Disable truncate testing with LSM

  • WT-3930 Set the recovery timestamp even if recovery doesn’t run

  • WT-3931 cursor.prev split race

  • WT-3932 WiredTiger memory allocation failure in js_test

  • WT-3933 test/format failure illegal WT_REF.state rolling back deleted page

  • WT-3934 LSM chunk checkpoints can race with system checkpoints

  • WT-3935 Enable cursor caching by default in WiredTiger.

  • WT-3936 Add multi-threaded tests for prepare_transaction()

  • WT-3938 Reduce memory usage with many tables and sessions

  • WT-3939 test_txn14.test_txn14.test_log_flush timeout

  • WT-3940 s_export issue detected during WiredTiger release execution

  • WT-3942 Update test_compact02 to handle being halted by eviction pressure.

  • WT-3945 Support libwiredtiger.so checking in s_export

  • WT-3946 Truncate segfault with a NULL start cursor

  • WT-3947 Allow wiredtiger_open configuration to disable cursor caching

  • WT-3948 Data handle loop may terminate without applying operations

  • WT-3949 Buffer overflow in WT_CURSOR::modify for string values

  • WT-3950 Add some rollback_to_stable statistics

  • WT-3952 page-delete update list traversed after it has been discarded.

  • WT-3953 test/format can attempt to set an illegal prepare timestamp

  • WT-3954 test/format: prepared operations evicted before commit

  • WT-3958 Add query API to get most recent checkpoint’s stable timestamp

  • WT-3961 The all_committed timestamp should be less than any in-flight transaction

  • WT-3964 Stop wrapping schema operations in a transaction

  • WT-3967 Fix long test for cursor cache sweep

  • WT-3969 enhance format tester to account for prepare state

  • WT-3971 Make cursor duplication use cursor caching

  • WT-3972 Allow more than 64K cursors to be open on a data source simultaneously

  • WT-3973 Allow alter to modify app_metadata

  • WT-3975 arg format mismatch after rwlock changes

  • WT-3977 Print out actual checkpoint stable timestamp in timestamp_abort

  • WT-3979 Fix warnings generated with newer Doxygen releases

  • WT-3980 failure returning a modified update without a backing “real” update

  • WT-3981 Make snapshot consistent with read_timestamp

  • WT-3982 Fix transaction visibility bugs related to lookaside usage.

  • WT-3984 Fix race conditions around prepare state transitions

  • WT-3985 Pre-allocated log files accumulate on Windows

  • WT-3987 Avoid reading lookaside pages in truncate fast path

  • WT-3990 Fix Coverity warnings mostly in test programs

  • WT-3996 Test truncate with timestamps and lookaside

  • WT-3997 The cursor walk code can spin without sleeping on restart/split.

  • WT-4002 Allow duplicates in api_data.py

  • WT-4005 AddressSanitizer in __wt_timestamp_iszero().

  • WT-4007 eviction instantiates pages from dead trees.

  • WT-4008 Add ARM NEON support for row search operations

  • WT-4011 Checkpoint should not read truncated pages

  • WT-4022 Avoid WT_RESTART error return during eviction walk

  • WT-4025 Allow debug dumping of internal pages

3.6.3 Changelog


  • SERVER-31893 Explicitly define timeout for synchronous LDAP calls

  • SERVER-32086 Suppress LDAP user cache invalidation log message by default

  • SERVER-32779 Upgrade third_party tomcrypt to 1.18.1 final

  • SERVER-32933 Allow mongod to start when unable to reach LDAP server


  • SERVER-27724 Explore whether we can further minimize chunk metadata reloads on shards

  • SERVER-28923 Add diagnosability and supportability features for retryable writes

  • SERVER-29423 Sharding balancer may schedule multiple migrations with the same source or destination

  • SERVER-30152 add safe secondary reads targeted tests for mapReduce

  • SERVER-30671 Don’t expect operationTime to not change in causal_consistency_shell_support.js

  • SERVER-31860 setFCV on a cluster can fail to call setFCV on shards if the config server primary’s ShardRegistry is empty

  • SERVER-31979 Chunk migration statistics are not recorded in the moveChunk.commit changelog entries

  • SERVER-32235 Blacklist core/drop3.js test from causally consistent workloadss

  • SERVER-32368 do not perform UUID check against a shard’s config cache in the sharding_csrs_continuous_config_stepdown_WT suite

  • SERVER-32554 Source shard stepdown while entering critical section can trigger cloner invariant

  • SERVER-32568 The migration_sets_fromMigrate_flag.js test is not compatible with sharding continuous stepdown suite

  • SERVER-32569 Introduce uniform way to allow config servers and shard replica sets to start in non-cluster mode

  • SERVER-32592 Stepdown during migration cleanup can crash the source shard primary

  • SERVER-32593 CSRS stepdown during migration commit can trigger fassert on source shard primary

  • SERVER-32886 Unnecessary sleeps during chunk migration

  • SERVER-32901 Pull the CollectionShardingState map out of ShardingState

  • SERVER-32924 tag skip_sharding_configuration_checks test with requires_persistence tag

  • SERVER-32970 Put back random chunk size initialization in mongos auto split tracking

  • SERVER-33234 dropIndexes on mongos should ignore IndexNotFound from individual shards if some shard returned success


  • SERVER-21456 Improve closing connection behavior when stepping down from primary

  • SERVER-28290 stepping down due to a higher term seen in a heartbeat should not discard term after stepdown

  • SERVER-28895 Remove old form of replSetUpdatePosition command

  • SERVER-31707 Test changeStreams on a sharded collection where the shard doesn’t know the collection is sharded

  • SERVER-32028 Make reconfig() in rslib.js resilient to NodeNotFound error

  • SERVER-32209 Reset the in-memory optimes on PV downgrade and upgrade

  • SERVER-32361 Rollback tests that expect a fatal assertion after node restart should not wait for connection

  • SERVER-32402 dropDatabase after step down can cause fassert

  • SERVER-32432 Race condition causes seg fault in ReplicationCoordinatorExternalStateImpl shutdown

  • SERVER-32532 Two-phase dropDatabase may not replicate all collection drops before the database drop.

  • SERVER-32556 Retryable write on local db hits an invariant

  • SERVER-32564 Increase assert.soon timeout when waiting for election in rollback_crud_op_sequences.js

  • SERVER-32624 dropDatabase() should wait for collection drops using ReplicationCoordinator::awaitReplication() instead of awaitReplicationOfLastOpForClient()

  • SERVER-32783 CollectionCloner::shutdown() should not block on resetting _verifyCollectionDroppedScheduler

  • SERVER-32794 Make timeouts unrelated to elections not depend on election timeout

  • SERVER-32803 stepup.js should retry replSetStepUp command when it is overtaking another primary

  • SERVER-32840 Remove pv0 jepsen tests

  • SERVER-32919 initial_sync_many_dbs.js should use less data


  • SERVER-28260 Create a killAnyCursor privilege

  • SERVER-31484 Operation deadline and awaitData timeout should be separate

  • SERVER-31854 After the first drop, assertSchemaMatch() should assert that subsequent drops succeed

  • SERVER-32441 3.6 mongod crash on find with index and nested $and/$or

  • SERVER-32492 idhack_sharded.js should use _waitForDelete:true in moveChunk

  • SERVER-32606 Tailing oplog on secondary fails with CappedPositionLost

  • SERVER-33005 Contained $or access planning is incorrect for $elemMatch object, results in invariant failure

  • SERVER-33089 Unable to start queryable mongod because it failed to regenerate index for admin.system.users

  • SERVER-33092 elemMatchProjection.js incorrectly assumes that shell generates monotonically increasing _id values

  • SERVER-33333 Prevent failed cross user getMores from having side effects


  • SERVER-31760 Lookup sub-pipeline is not using index for equality match

  • SERVER-32349 Resuming a sharded change stream when there are multiple changes with the same timestamp may be impossible

  • SERVER-32690 Aggregation can trip invariant related to renamed fields optimization


  • SERVER-32259 Improve error handling for fetchTypeAndSourceURI()

  • SERVER-32274 Do not timestamp applyOps writes on standalones

  • SERVER-32533 In oplog truncate with WT, don’t use a start key

  • SERVER-32573 Skip wt_delayed_secondary_read_concern_majority.js when running with WiredTiger’s LSM tree

  • SERVER-32637 Ensure that upgrading to 3.6 when on pv0 doesn’t break if you don’t explicitly turn off readConcernMajority

  • SERVER-32851 setFeatureCompatibilityVersion can race with createCollection such that FCV 3.6 is set and some collections do not have UUIDs


  • SERVER-32072 DBRef with NumberInt ID changing to float in the shell

  • SERVER-32473 Error loading history file on first shell usage

  • SERVER-33140 mongodb+srv URI support broken on shell v3.6.2 for Windows

Build and Packaging

  • SERVER-32516 Fails to compile with Boost 1.66

  • SERVER-32580 Microbenchmarks: update the enterprise branch for mongo v3.6

  • SERVER-32649 got “used vector type where scalar is required” when using GCC 7

  • SERVER-32932 When testing SLES 12 packages make sure required repos exist

  • SERVER-33181 Upgrade ASIO to latest


  • SERVER-21630 Expand resmoke’s CheckReplDBHash support to config servers and sharded replica sets

  • SERVER-28396 resmoke.py’s logkeeper client should respect size limit for POST requests by splitting them up

  • SERVER-28822 Improve DBConnectionPool’s growth semantics

  • SERVER-31636 Split up generational_jstestfuzz* Evergeen tasks into query_fuzzer and update_fuzzer tasks

  • SERVER-31670 Change replica set fixture used by replica_sets_jscore_passthrough to make its secondary have zero votes

  • SERVER-31768 Don’t create the first collection chunk on a primary drained shard

  • SERVER-31886 Powercycle tasks running on Windows

  • SERVER-31935 Archive process of interest core dumps from remote EC2 instance

  • SERVER-31942 Large changes in unreliable tests can prevent test lifecycle update

  • SERVER-32060 Move MMAPv1 powercycle tasks to MMAPv1 specific variants

  • SERVER-32071 Powercycle - use internal crash

  • SERVER-32074 Powercycle - Add stack dump when SIGUSR1 or Windows event is received

  • SERVER-32090 Powercycle - pymongo client args are overwritten

  • SERVER-32107 Update DNS root nameservers for DNS Query test

  • SERVER-32110 Powercycle remote host not accessible in Evergreen timeout phase

  • SERVER-32161 MongoDB 3.2+ fails to compile on PPC64LE with glibc 2.26+

  • SERVER-32169 A cursor created with a session cannot be killed outside that session

  • SERVER-32197 Remote host is missing the debug symbols for hang_analyzer in evergreen.yml

  • SERVER-32203 Log the remote EC2 instance status when a failure to access it is detected in evergreen.yml

  • SERVER-32205 Dropping admin db sets FCV to 3.4 but leaves UUIDs

  • SERVER-32222 change_streams_primary_shard_unaware.js needs to be marked as requiring persistence

  • SERVER-32228 Powercycle - handle remote host restarts

  • SERVER-32243 Add an option to have the validate hook skip some collections.

  • SERVER-32260 Call workload_setup.py from mongo repo

  • SERVER-32298 Add a background system task to periodically copy remote statistics in evergreen.yml

  • SERVER-32299 Add disk statistics for remote EC2 instances

  • SERVER-32376 Blacklist tests that manually call startSession in the retryable_writes_jscore_stepdown_passthrough suite

  • SERVER-32403 Increase remote EC2 expire time to 3 hours

  • SERVER-32410 Validate User::CredentialData before attempting to perform authentication

  • SERVER-32414 Remove stale stdx:: requirements from lint.

  • SERVER-32429 black list regex_targeting.js from step down suites

  • SERVER-32468 Use a 1-node CSRS in non-stepdown sharding passthroughs tests

  • SERVER-32475 Microbenchmarks on v3.6 use master version of enterprise module

  • SERVER-32486 Windows builds of the shell should report the failing domain name in DNS lookup failures

  • SERVER-32515 Powercycle - rsync file exclude list

  • SERVER-32520 Add VPC support for launching AWS EC2 instances

  • SERVER-32522 set_read_and_write_concerns.js treats mapReduce “out” field like aggregation’s $out stage

  • SERVER-32527 Update package tests to use new BUILD2 VPC

  • SERVER-32541 Disable Powercycle MMAPv1 task

  • SERVER-32551 Cluster with x.509 membership authentication serves client connection with cluster client certificate

  • SERVER-32585 Remove unnecessary dependencies from requirements.txt for ese_WT tests

  • SERVER-32609 update_test_lifecycle fails when a test group does not have historical data

  • SERVER-32614 update_test_lifecycle may fail because datetime.strptime() is not thread safe

  • SERVER-32631 specifying –bind_ip localhost results in error “address already in use”

  • SERVER-32664 Sys-perf enable running baselines at lower priority

  • SERVER-32680 Update perf projects to use newer baselines

  • SERVER-32691 Create passthrough for w=”majority” with 2-node replica set to address lost test coverage

  • SERVER-32704 sys-perf: Skip validating oplog as enabled by SERVER-32243

  • SERVER-32740 Set bootstrap.ycsb_dir and bootstrap.workloads_dir in system_perf.yml

  • SERVER-32766 net.bindIpAll with net.ipv6 fails with “listen: Address already in use, terminating”

  • SERVER-32772 dbtest task in Evergreen should write to task directory

  • SERVER-32774 Ensure change_streams_secondary_reads suite has voting secondaries

  • SERVER-32788 Update “secondary performance” sysperf test to use nonvoting secondaries

  • SERVER-32806 retried findAndModify not using oplogHack when querying for pre/post image oplog entry

  • SERVER-32891 Sys-perf change order of mongodb_setup and workload_setup calls

  • SERVER-32896 Upload dsi-artifacts.yml in system_perf.yml

  • SERVER-32925 sys-perf 3.6 should run the change stream tests

  • SERVER-32987 Move the contents of the ‘uuid’ library to be under ‘base’

  • SERVER-33068 run_check_repl_dbhash.js hook exits without actually running dbhash on a replica set

  • SERVER-33142 Experiment with disabling cluster reuse in system_perf.yml

  • SERVER-33147 Limit the -j/num_jobs_available for high core ARM CI servers

  • SERVER-33158 Logical Session refresh batches are too large

  • SERVER-33219 Add a backpressure mechanism to the CRUD client in backup_restore*.js tests

  • SERVER-33236 Update perf.yml to use ssh form of git clone

  • WT-2705 High throughput cache bound many threaded workloads can experience long latencies

  • WT-3074 Automate a test to stress eviction walk with many active trees

  • WT-3133 Detect or track long latency operations

  • WT-3295 Allow LSM to merge into custom data sources

  • WT-3565 Test and understand mixed timestamp/no-timestamp usage to same data

  • WT-3587 Remove HAVE_VERBOSE conditional compilation

  • WT-3597 Add a diagnostic check for updates to the same key out of timestamp order

  • WT-3632 Increase how granularly cache usage settings can be configured

  • WT-3654 Fix warning in Windows build on evergreen

  • WT-3695 format failed to report a stuck cache

  • WT-3716 Restore the WT_VERB_TEMPORARY verbose flag.

  • WT-3720 flags macros cast flags to unsigned values, hiding warnings.

  • WT-3725 Add statistics to locks around timestamp structures

  • WT-3732 Handle adding WT indices while cursors on the table are open

  • WT-3734 Fix undefined behavior in verbose output

  • WT-3738 Review internal session allocation accounting

  • WT-3740 race in page dirty-byte decrement.

  • WT-3750 Fast-path fs_directory_list of a single file.

  • WT-3753 Building on Windows –enable-java

  • WT-3766 Lookaside sweep for obsolete updates

  • WT-3767 Avoid lookaside instantiation for faster reads

  • WT-3768 Lookaside optimization: birthmarks

  • WT-3769 Fix a bug in reverse cursor walks with particular delete patterns and prefix compression enabled

  • WT-3772 Hot backup causes uncontrolled growth of WiredTigerPreplog files

  • WT-3774 Enhance Python lookaside testing to cover cursor modify

  • WT-3775 Improve commit timestamp is older than oldest timestamp error message

  • WT-3779 Add support for string formats with WT_CURSOR::modify

  • WT-3780 Improve error messages on invalid WT_CURSOR::modify usage

  • WT-3783 Fix transaction isolation to use the correct enum

  • WT-3787 test_compact02 failed as compaction halted due to eviction pressure

  • WT-3790 Switch statistics to rdtsc from epoch calls

  • WT-3792 LSM version 1 metadata incompatibility

  • WT-3793 WiredTiger page debug dump functions should unpack integer keys

  • WT-3794 Coverity 1383547 and lint

  • WT-3795 lint cleanups for the op-tracking software, reduce record write size.

  • WT-3796 Report a better error message if transaction commit fails

  • WT-3799 Test/format with timestamps enabled pin cache full

  • WT-3806 Make sure rdtsc values move forward in time

  • WT-3807 clang static analysis updates

  • WT-3809 Fix a bug in lookaside related to birthmarks

  • WT-3810 wt_rdtsc calibration needs to be longer and verify validity

  • WT-3811 Add basic ability to visualise operation tracking

  • WT-3812 debugging page output should handle complex key/value items.

  • WT-3816 Enable prefix compression on the lookaside table

  • WT-3818 __rec_txn_read() code order cleanup

  • WT-3819 clang static analysis improvements

  • WT-3820 Add a WT_SESSION.breakpoint method for Python debugging.

  • WT-3822 Update WiredTiger copyrights to 2018

  • WT-3824 tsc_nsec_ratio can compute to zero and cause divide by zero bug

  • WT-3825 Fix calculation of CPU ticks per unit time

  • WT-3826 random-abort test failure

  • WT-3827 test_compact02 failure

  • WT-3828 Link error on OS/X for __wt_process data reference

  • WT-3831 uninitialized buffer value in statlog server path comparison

  • WT-3832 Fixup shell script warning messages

  • WT-3833 test/format cache_minimum value error

  • WT-3835 cursor remove tries to return a key that doesn’t exist

  • WT-3840 Dump more information when data corruption is encountered

  • WT-3841 Fix error message pattern in timestamp09

  • WT-3842 full-build Friday & lint

  • WT-3844 Checkpoints can hang on limbo pages

  • WT-3845 Compiler warning in examples using GCC 5.4.0

  • WT-3846 Refine operation tracking visualization tool

  • WT-3847 Add a stub API for prepared transaction

  • WT-3852 Update debugging when committing at an earlier timestamp

  • WT-3853 LSM version 1 metadata incompatibility

  • WT-3854 Remove write lock from commit path, leaving old entries in queue

  • WT-3860 lint

3.6.2 Changelog


SERVER-31625 The contents of {USER} needs to be escaped when querying for the groups using LDAP server


  • SERVER-28992 Cleanup mongos write commands execution

  • SERVER-31982 Shard does not call config commit chunk migration command with majority writeConcern nor checks for writeConcern errors.

  • SERVER-32202 Do not clear the cached sharding filtering information on replication state changes

  • SERVER-32255 UUIDs may be absent from shard secondary local collections

  • SERVER-32480 Remove CatalogCache retrieval methods, which take StringData

  • SERVER-32529 Requiring replSet for shards breaks Queryable Backup


  • SERVER-30626 Remove TopologyCoordinator interface

  • SERVER-31267 CollectionCloner fails if collection is dropped between getMore calls

  • SERVER-31684 QueryPlanKilled (operation exceeded time limit) in $changeStream with updateLookup

  • SERVER-31749 Clarify the reason temporary unique collection names are made

  • SERVER-32098 Disallow operations on drop-pending collections through applyOps

  • SERVER-32136 initial_sync_drop_collection.js should wait for system to stablize after restarting node

  • SERVER-32224 Disable chaining in initial_sync_drop_collection.js


  • SERVER-32282 Aggregation text search returns text score even if it wasn’t requested when targeting multiple shards in a sharded cluster

  • SERVER-32430 DocumentSourceSort sorts array documents incorrectly if there is a non-simple collation



SERVER-32396 mongo shell failed to connect with 3.6 connection string SRV

Build and Packaging

  • SERVER-31875 Fix long link times on OS X by passing -no_deduplicate to the linker

  • SERVER-32415 MongoDB msi installer for Compass contains a typo


  • SERVER-30538 check that oplogTruncateAfterPoint is correct in PeriodicKillSecondaries hook

  • SERVER-31972 Reduce the number of iterations for the toggle_feature_compatibility.js workload

  • SERVER-31997 Add additional unittesting for CompatibleFirst policy

  • SERVER-32091 Powercycle - remove mongod.lock file for MMAPV1 test

  • SERVER-32145 Avoid dropping lock before cleaning up DocumentSourceCursor’s PlanExecutor

  • SERVER-32246 PID file permission on v3.6 make it not not monitorable using pid file

  • SERVER-32497 implicitly_retry_on_database_drop_pending.js calls tojson() inside of a loop

  • SERVER-32500 Disable the sharding Evergreen task on the Enterprise OS X 10.10 MMAPv1 builder

3.6.1 Changelog


  • SERVER-29397 Invariant failure on config server when inserting tag into config.tags

  • SERVER-30226 Force the recipient shard to refresh its metadata after migration commit

  • SERVER-30768 Primary queries using maxTimeMS cause temporary shard write unavailability if ExceededTimeLimit

  • SERVER-31056 Remove all usages of the default constructor of ScopedCollectionMetadata outside of MetadataManager

  • SERVER-31627 ShardingTest.checkUUIDsConsistentAcrossCluster can fail to see collection in config.cache.collections

  • SERVER-31865 setFCV on config server should only generate UUIDs for non-dropped sharded collections

  • SERVER-31984 A migration will simply report “Data transfer error” when we have rich error details on the destination shard that are logged but not returned to the user

  • SERVER-32043 Disallow users from creating new indexes in config.transactions

  • SERVER-32055 Improve multi thread performance for retryable writes

  • SERVER-32123 Enable sign range optimization for clusterTime

  • SERVER-32149 ShardingCatalogManager::getDatabasesForShard should check if query was successful

  • SERVER-32372 Mongos crashes on bulk inserts which size are slightly bigger than maxBsonObjectSize

  • SERVER-32385 “CommandNotFound: no such command” in mongodb logs on 3.6


  • SERVER-30457 Cancel catchup takeover if primary caught up according to heartbeats

  • SERVER-31990 Rollback can abort on long collection names.

  • SERVER-32085 $changeStream reports incorrect documentKey for unsharded collections that become sharded

  • SERVER-32114 Delete unused rollback code

  • SERVER-32131 ChangeStreams lookup_post_image.js test makes assumptions that don’t hold up in secondary read passthrough

  • SERVER-32159 fix typo in sync_tail.cpp fillWriterVectorsAndLastestSessionRecords()

  • SERVER-32167 do a second majority write on oldPrimary before committed read in read_committed_after_rollback.js

  • SERVER-32178 Do not use IDL on oldest oplog entry


  • SERVER-31978 Add an invariant that DocumentSourceCloseCursor does not execute on a mongod for a sharded $changeStream

  • SERVER-32046 Arrays of certain NumberDecimals can trigger an invariant failure

  • SERVER-32109 $rename does not update value if existing “to” field has the same numeric value but different type.

  • SERVER-32173 Add deprecation warning to “snapshot” option on queries

Write Operations

  • SERVER-8538 Deprecate $atomic/isolated update option

  • SERVER-32048 Updates using a numeric path component may cause index entries not to be created


  • SERVER-31731 Test that mongos accepts a –timeZoneInfo parameter, and can correctly execute expressions using time zones

  • SERVER-31885 changeStream cursor is not returned on a mongos when the database does not exist.


  • SERVER-31304 remove SnapshotName class

  • SERVER-31906 Test that applyOps can clone admin.system.version preserving its UUID

  • SERVER-31952 return error if collMod provides a UUID that does not match the UUID of the collection specified

  • SERVER-32022 allow enableMajorityReadConcern=false to work

  • SERVER-32118 applyOps view creation should not assign UUID

  • SERVER-32226 oldest_timestamp should track the last applied time, during initial sync


SERVER-29453 Disallow removing the featureCompatibilityVersion document

Build and Packaging

  • SERVER-32211 install_compass experience on OSX needs improvement

  • SERVER-32286 Remove Type=forking from Debian SystemD service file


TOOLS-1895 qa-dump-restore-archiving oplog_rollover_test.js


  • SERVER-30770 system_perf.yml: Use new DSI interface and cleanup

  • SERVER-31194 Add a version of retryable_writes_jscore_passthrough.yml with stepdowns

  • SERVER-31225 The mongod process forks before listening for connections

  • SERVER-31660 Bring BSONObj parsers back for IDL generated commands

  • SERVER-31791 UUIDs should be added to local collections for replica sets only on clean startup

  • SERVER-31808 HostAndPort for replSetInitiate() no longer finds hostname for localhost

  • SERVER-31845 WT performance regression with write retryability enabled

  • SERVER-31864 applyOps command with UUID containing op must require granular privileges

  • SERVER-32053 explain3.js should assert that its writes succeed

  • SERVER-32073 Improve signal given by list_local_sessions.js

  • SERVER-32087 Run test stage of sys-perf and mongo-perf failures should lead to red evergreen boxes

  • SERVER-32105 Require shard servers and config servers to be started with –replSet or ‘replSetName’

  • SERVER-32106 Migration of txn oplog entries can trigger fassert in secondary replication

  • SERVER-32164 Shell SRV implementation does not allow authSource from TXT records to be used

  • SERVER-32238 Revert erroneous high error codes

  • TOOLS-1688 Evergreen tests broken in master

  • TOOLS-1827 Implement Initial DNS Seedlist discovery spec

  • TOOLS-1861 build.sh script doesn’t abort on error

  • TOOLS-1878 qa-tests-unstable force_table_scan.js

  • TOOLS-1880 qa-tests-unstable no_primary_error_code.js

  • TOOLS-1881 qa-tests-unstable no_sharded_secondary_reads.js

  • WT-3079 Make sure eviction visits all trees

  • WT-3776 Cursor remove operation unpins page too early

  • WT-3786 Transactions with timestamps should read their writes