3.6 Changelog
On this page
- 3.6.23 Changelog
- 3.6.22 Changelog
- 3.6.21 Changelog
- 3.6.20 Changelog
- 3.6.19 Changelog
- 3.6.18 Changelog
- 3.6.17 Changelog
- 3.6.16 Changelog
- 3.6.15 Changelog
- 3.6.14 Changelog
- 3.6.13 Changelog
- 3.6.12 Changelog
- 3.6.11 Changelog
- 3.6.10 Changelog
- 3.6.9 Changelog
- 3.6.8 Changelog
- 3.6.7 Changelog
- 3.6.6 Changelog
- 3.6.5 Changelog
- 3.6.4 Changelog
- 3.6.3 Changelog
- 3.6.2 Changelog
- 3.6.1 Changelog
3.6.23 Changelog
Query
SERVER-40361 Reduce memory footprint of plan cache entries
Internals
SERVER-43973 jsTestName() should return a unique name for each thread in the parallel suite
SERVER-46686 Explain does not respect maxTimeMS
SERVER-50267 Set output limit for 'rawMongoProgramOutput()'
SERVER-52969 Disable Powercyle on non-master branches
SERVER-53992 Remove calls to detect-outliers from performance tasks
SERVER-54134 Ignore newer mongo versions on older branches of setup_multiversion_mongodb.py
TOOLS-2803 [v3.6] Add --config option for password values
3.6.22 Changelog
Sharding
SERVER-53182 [v3.6] Omit "versions" from {shardingState: 1} command when not running as a --shardsvr
Replication
SERVER-33747 Arbiter tries to start data replication if cannot find itself in config after restart
SERVER-52680 Removed node on startup stuck in STARTUP2 after being re-added into the replica set
SERVER-53026 Secondary cannot restart replication
SERVER-53345 Excuse arbiter_new_hostname.js from multiversion tests
Query
SERVER-32960 $mod has inconsistent rounding/truncation behavior
Storage
SERVER-52902 Remove assertion !haveJournalFiles() at dur_journal.cpp:265
Build and Packaging
SERVER-32437 Platform Support: add Amazon Linux 2
SERVER-52854 Fix package test on debian based system in 3.6
Internals
SERVER-50445 Return the value as double when NumberLong subtraction overflows in ExpressionSubtract
SERVER-50891 mongod 3.6.20-rc2 core dumps if dbpath DNE or perms block
SERVER-52654 new signing keys not generated by the monitoring-keys-for-HMAC thread
SERVER-52806 deb install files assume systemd
3.6.21 Changelog
Sharding
SERVER-51808 invariant failure: readConcern level != Available
SERVER-51885 Blacklist balancing_sessions_collection.js from sharding_csrs_continuous_config_stepdown
Replication
SERVER-49986 Convert isMaster command to hello and add aliases
SERVER-49987 Rename response fields if “hello” is sent on mongod
SERVER-49988 Rename response fields if "hello" is sent on mongos
SERVER-49991 Alias printSlaveReplicationInfo() shell helper
SERVER-50116 Forbid oplog writes when replication is enabled
SERVER-50640 listCommands should return "isMaster" alias in addition to "hello" command name
Query
SERVER-51083 Problem with regex index bounds
SERVER-51120 Find queries with SORT_MERGE incorrectly sort the results when the collation is specified
Storage
SERVER-34243 listCollections should not require a MODE_S database lock
Operations
SERVER-26726 Check number of arguments for createIndex() and throw error if more than two arguments
Build and Packaging
SERVER-46342 DEB installs of MDB do not issue systemctl daemon-reload on install
Internals
SERVER-45624 Pre-split and distribute chunks of sessions collection
SERVER-50123 Record number of physical cores on all platforms
SERVER-50216 Adjust sys-perf frequencies
SERVER-50605 Add {logMessage: "msg"} test-only command
SERVER-50736 Make OpenSSL explicitly accept SNIs presented in ClientHello
SERVER-50818 Coverity analysis defect 114987: Wrapper object use after free
SERVER-51106 Make the isMaster command a derived class of hello
SERVER-51303 Lookup stage followed by $match on type uses wrong field in matching condition
TOOLS-2590 [v3.6] sslAllowInvalidHostnames bypass ssl/tls server certification validation entirely
3.6.20 Changelog
Replication
SERVER-48967 Prevent replicated writes on empty namespaces on secondaries
SERVER-49990 Alias setSlaveOk() and getSlaveOk() shell helpers
SERVER-50039 Timing error in dbadmin.js test
Query
SERVER-36910 Reduce severity or remove log message for PlanExecutor::DEAD error during find
SERVER-39392 Invariant in PlanStage::dispose always evaluates as true
SERVER-48993 explodeForSort can produce incorrect query plan
Aggregation
SERVER-40317 $facet execution has no limit on how much memory it can consume
Storage
SERVER-49449 index_restart_secondary.js is not compatible with storage engines without support for persistence
Operations
SERVER-48244 Shell should not hard-code the allowed explain levels and let the server reject it instead
Build and Packaging
SERVER-33000 Platform Support: add Ubuntu 18.04
SERVER-42042 Warn or fail early on dynamic builds with toolchain compiler and tcmalloc
SERVER-49925 Dynamic builders should not combine the mongodbtoolchain with tcmalloc
SERVER-50124 Pin lazy-object-proxy python module
Internals
SERVER-33229 Overload startParallelShell in auto_retry_on_network_error.js to connect after loading the auto_retry_on_network_error.js override
SERVER-41600 IndexCatalog::refreshEntry should invalidate the index from the CollectionInfoCache
SERVER-43233 Add ability to request only specific attribute(s) for the LDAP groups
SERVER-45202 Improve Command alias infrastructure
SERVER-47930 Ubuntu 20.04 - ldap_authz_authn.js fails to load test certificate
SERVER-48709 signing key generator thread on config server not waken up as expected
SERVER-49054 Server MSI should install Compass instead of Compass Community
SERVER-49352 4.0 does not build with python 3.8
SERVER-49404 Enforce additional checks in $arrayToObject
SERVER-50180 Fix User lifetime management in AuthorizationManager::acquireUserForSessionRefresh
3.6.19 Changelog
Sharding
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
Replication
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
Query
SERVER-40805 Indicate the reason for replanning in the log file
SERVER-47994 Fix for numerical overflow in GeoHash
Storage
SERVER-46398 Suggest explicit dbpath when starting mongod on macOS and the default dbpath isn't found
Operations
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
Internals
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
Security
SERVER-46834 Use monotonic time in UserCacheInvalidator
Sharding
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
Replication
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.
Query
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
Aggregation
SERVER-45418 DocumentSourceCursor batching memory accounting does not account for empty documents, leads to unbounded memory use for count-like aggregates
Storage
SERVER-45289 Conditional jump or move depends on uninitialised value(s) in validate_adaptor.cpp
Operations
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
Internals
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
Replication
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
Query
SERVER-42565 Aggregations and find commands sort missing fields differently
Aggregation
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
Storage
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
Internals
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
Security
SERVER-44320 Allow zoned sharding commands to be authorized via actiontypes
Sharding
SERVER-42914 Implement random chunk selection policy for balancer for use in concurrency_*_with_balancer workloads
Replication
SERVER-43193 Always disable document validation on secondaries
SERVER-44675 server_status_metrics.js fails due to racy repl.buffer.count metric in serverStatus
Query
SERVER-44571 Documents involved in SERVER-44050 corruption scenario cannot be updated or deleted after upgrade
Storage
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
Internals
SERVER-35463 Mark listCommands as pre-auth
SERVER-38002 Upgrade Pcre to at least 8.42
SERVER-40669 install_compass should not explicitly use python3
SERVER-42961 Fix Split Horizon testing on SLES
SERVER-43085 Regenerate all testing certificates with SHA-256 instead of SHA-1
SERVER-44140 Use signal processing without DSI
SERVER-44319 Skip keyfile check in replica_sets/auth1.js on windows
SERVER-44322 Fail gracefully when the storage engine has failed to initialize on v3.6
SERVER-44651 Update signal processing version
SERVER-44727 detect-changes should not be called via run-dsi
3.6.15 Changelog
Security
SERVER-43653 Upgrade static OpenSSL to 1.1.1d
SERVER-43751 Recompute compressor manager message parameters
Sharding
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
Replication
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
Query
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
Aggregation
SERVER-43034 Special values handling is inconsistent in DoubleDoubleSummation
Storage
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
WiredTiger
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
Operations
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
Internals
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
Security
SERVER-38945 SSL performance regression
SERVER-41069 Ability to disable authorization via x509 extensions
SERVER-41441 Upgrade static OpenSSL to 1.1.1c
Sharding
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
Replication
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
Query
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
Storage
WiredTiger
SERVER-41913 Avoid in-place modify operations for logged collections
Operations
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
Internals
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
andreplSetInitiate
with Split HorizonSERVER-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
Security
SERVER-40226 Upgrade static OpenSSL to 1.1.1b
SERVER-40393 Disable SSL_MODE_RELEASE_BUFFERS in ASIO
Sharding
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
Replication
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
Storage
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
Operations
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-37765 Platform Support: Remove Ubuntu 14.04
SERVER-37774 Platform Support: Remove Enterprise Ubuntu 16.04 PPCLE
SERVER-40242 Update banner inclusions for vendored tools
SERVER-40491 Update Debian 8 image for package test
Internals
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
Sharding
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
Replication
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
Query
SERVER-38764 External sorter should use 64-bit integers for file offsets
Aggregation
SERVER-39394 Views collation check should traverse through nested $lookup pipelines
SERVER-39487 Aggregation operator $sqrt output for NumberDecimal is the same as $exp
Storage
SERVER-17010 Reduce file handle usage in File based Sorter
SERVER-39773 decrease number of updates in rollback_wt_cache_full.js
Operations
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
TOOLS-2229 Mongofiles deletes chunks of existing file when failing to put_id with existing _id
Internals
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
Security
SERVER-36606 Remove size limits on BSON audit events
Sharding
SERVER-9043 Link
flushRouterConfig
on the config server and shardsSERVER-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
Replication
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
Query
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.
Aggregation
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
Storage
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.
Operations
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
Tools
TOOLS-2030 mongodump does not dump system.js collections
TOOLS-2109 Build Tools with Go 1.11
Internals
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
Security
SERVER-35212 URI connection does not default to admin database when no authSource is specified
SERVER-37687 Capture libldap ErrorString in bind failure
Sharding
SERVER-36965 Ensure setUp writes in
safe_secondary_reads_single_migration_suspend_range_deletion.js
get propagated to the shard secondarySERVER-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
Replication
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
Query
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
Aggregation
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
JavaScript
SERVER-31508 native_sleep used by JavaScript should be interruptable
SERVER-35061 Javascript sleep should always emit an error when interrupted
Storage
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
Operations
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
TOOLS-1709 Set build version and git revision using -ldflags
TOOLS-2149 Configure build outside Evergreen
Internals
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
Security
SERVER-35418 Allow specifying CAs for incoming and outgoing connections separately
SERVER-37135 TLSVersionCounts needs to track and report TLS 1.3
Sharding
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 concernSERVER-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
Replication
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
Query
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
Aggregation
SERVER-36993 mongod crash: Invariant failure indexedOr src/mongo/db/query/index_tag.cpp 237
JavaScript
SERVER-37126 Invoke runSafely for all external implscope methods
Storage
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
Operations
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-35737 install_compass fails on MacOS
SERVER-37067 Upgrade static OpenSSL to 1.1.0i
SERVER-37651 Update license files for MongoDB Community Edition
SERVER-37754 Duplicate license headers in IDL files
Tools
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
Internals
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
Sharding
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
Replication
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
Query
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
Aggregation
SERVER-35084 change_stream_enforce_max_time_ms_on_mongos.js expects getMore to schedule follow-up getMores
Storage
SERVER-34384 Passthrough test for secondary reads during oplog application
SERVER-37002 dropping a collection with long index names via rename fails under MMAPv1
Operations
SERVER-36479 Log redaction does not show planSummary when slow queries are logged
Build and Packaging
SERVER-36884 Update curator version on stable branches
Internals
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
Security
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
Sharding
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
commandsSERVER-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
Replication
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.
Query
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
Aggregation
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
JavaScript
SERVER-35986 Stop running eval command in parallel suite on older branches
Storage
SERVER-33191 Cache-full hangs on 3.6
SERVER-34129 Don't hold database or collection locks during oplog truncation
Operations
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
SERVER-35978 Fix lint on 3.6
SERVER-36039 Support LibreSSL 2.7 on FreeBSD
Tools
TOOLS-2075 mongoreplay always replays to secondary
Internals
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
Security
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
Sharding
SERVER-25746 Store advisoryHostFQDNs data in config.mongos collections
SERVER-33081 Reset
KeysCollectionManager
during rollback properlySERVER-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
timeSERVER-34363 addShard shard registry reload can cause mongos to terminate
SERVER-34773 The
TransactionReaper
handler classes are not exception-safeSERVER-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 clockSERVER-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
Replication
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 timeSERVER-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
Query
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
Aggregation
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()
JavaScript
SERVER-34515 Invariant failure _scope->exec( "$arr = [];", "group clean up", false, true, false , 2 * 1000)
Storage
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
WiredTiger
SERVER-33706 Remove warning message about Windows FS cache configuration
Operations
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
TOOLS-2058 mongoreplay does not show OP_MSG commands
TOOLS-2062 Support zlib compression in mongoreplay
Internals
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 compilersSERVER-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
Security
SERVER-34418 Disable GCM encryption with ESE on OS X with OpenSSL
SERVER-34477 Coverity analysis defect 103475: Invalid iterator comparison
Sharding
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/mergeChunksSERVER-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
Replication
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
Query
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
Aggregation
SERVER-34399 $changeStream with invalid resume token crashes the server
Storage
SERVER-32989
repairDatabase
can race withdropDatabase
.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
WiredTiger
SERVER-20056 Log a startup warning if wiredTigerCacheSizeGB is > 80% of RAM
Operations
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
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
Internals
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
Sharding
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()
Replication
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
Query
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
Storage
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.
Operations
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 globaldb
.
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
Internals
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
Security
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
Sharding
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 entriesSERVER-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 suiteSERVER-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
Replication
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
Query
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
Aggregation
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
Storage
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
Operations
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
Internals
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
Security
SERVER-31625 The contents of {USER} needs to be escaped when querying for the groups using LDAP server
Sharding
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
Replication
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 stabilize after restarting node
SERVER-32224 Disable chaining in initial_sync_drop_collection.js
Aggregation
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
Storage
SERVER-29909 Libraries db/db_raii and db/s/sharding are directly cyclic
SERVER-31750 Always log renameCollections in our tests
SERVER-32242 Fix race in CompatibleFirstStress lock manager test
SERVER-32315 Remove IndexObserver
Operations
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
Internals
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
Sharding
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
Replication
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
Query
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
Aggregation
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.
Storage
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
Operations
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
TOOLS-1895 qa-dump-restore-archiving oplog_rollover_test.js
Internals
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 usedSERVER-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