3.6 Changelog
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
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 and replSetInitiate with Split Horizon
- SERVER-40645 Add tests for SNI/TLS behavior of Split Horizon
- SERVER-40923 Remove npm test command from “run jstestfuzz” Evergreen function
- SERVER-40924 Add Evergreen task to sanity check fuzzer can parse JavaScript tests
- SERVER-41004 killSessions command can return CursorNotFound error for successful kill
- SERVER-41016 Calculate deltas for updates to large documents
- SERVER-41075 Remove ‘mongo/repl/replication_coordinator.h’ from op-context inclusion path
- SERVER-41148 FTDC is calling boost::filesystem without passing an error_code parameter
- SERVER-41184 Add metrics to indicate the amount of sharded updates done with only _id in query
- SERVER-41349 Add a log statement for slow dns resolution
- SERVER-41401 patch_files.txt doesn’t distinguish between enterprise and community files
- SERVER-41442 Fix second race in umask.js
- SERVER-41546 SysV init scripts should verify PIDfile exists instead of failing
- SERVER-41624 Fix Split Horizons on Legacy Transport in v3.6
- SERVER-41680 Propagate ${branch_name} Evergreen expansion to fuzzer invocation
- SERVER-41753 Fix indexc.js to not depend on the clock always moving forward
- SERVER-41789 sys-perf: Use bootstrap.overrides in bootstrap.yml config file
- SERVER-41833 Update README license text
- SERVER-41967 Symlink /data to Z instead of C
- SERVER-42178 Disable Split Horizon HOSTALIAS testing on SLES
- SERVER-42228 LoggerRuntimeConfigError exceptions can lead to background dbhash thread running until Evergreen task times out
- WT-4352 Resolve birthmarks during eviction in more cases
- WT-4421 Add a way to calculate modify operations
- WT-4693 WT_CONNECTION::reconfigure should not require quiescence when downgraded
- WT-4706 Add a statistic to track the lookaside table size
- WT-4750 Sweep can remove active lookaside records when files are closed and re-opened
- WT-4759 Save a copy when an old overflow value is discarded
- WT-4768 Inconsistent data with lookaside eviction followed by sweep
- WT-4769 Don’t discard active history for empty pages
- WT-4776 Modify operations should be equivalent to updates
- WT-4794 Mark lookaside history resolved in all paths
- WT-4803 Implement file_max configuration for Cache Overflow mechanism
- WT-4823 Add check for uninitialised lookaside resources
- WT-4848 Fix perf regression when calculating differences
3.6.13 Changelog
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 shards
- SERVER-31156 Admin command to update the chunk metadata for only one collection
- SERVER-36863 query_config.js assumes that config.mongos is always present
- SERVER-36901 sh.status() “Last reported error:” is actually 5th Latest error message
- SERVER-37339 Sharding state is set to initialized on Grid before sharding components are fully initialized
- SERVER-37624 Sessions never expire when you change value of localLogicalSessionTimeoutMinutes
- SERVER-38192 Ignore duplicate key error from refreshLogicalSessionCacheNow
- SERVER-38344 Early release of distributed database locks during initial collection sharding results in migration/split failures
- SERVER-38387 agg_out.js concurrency workload always fails to shard the output collection
- SERVER-38784 Blacklist verify_sessions_expiration_sharded.js from the sharding_last_stable_mongos_and_mixed_shards suite.
- SERVER-39030 Wrong info logged by splitVector
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 secondary
- SERVER-37051 ShardServerCatalogCacheLoader does not check the internal term after reading from the task queue
- SERVER-37080 Implement tuneable batch size for chunk migrations
- SERVER-37511 Logical session reaper and refresh threads should set up sessions collection immediately
- SERVER-37616 Implement tuneable batch size for the rangedeleter
- SERVER-37902 recovering_slaveok.js should assert all writes it makes succeed
- SERVER-37932 Remove erroneous part of coll_epoch_test1.js that attempts to test something that shouldn’t work, but due to a bug in the test, the test passes
- SERVER-38050 The range deleter doesn’t validate it is still operating on the same collection after the deletion loop
- SERVER-38062 Add assert.commandWorked() to commands in read_pref_cmd.js
- SERVER-38196 Coverity analysis defect 105128: Unchecked return value
- SERVER-38371 Session catalog migration will skip later sessions if a different earlier session encounters new transaction
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 concern
- SERVER-35222 Crash on the config server at expired session cleanup
- SERVER-35238 Drop the collection after removing the partially written chunks for mapReduce in mongos_manual_intervention_actions.js
- SERVER-35763 lastWriteDate field can get out of sync between repl set nodes during migration
- SERVER-36831 LogicalSessionCache on mongos does not correctly report active operations
- SERVER-36850 Add a replication passthrough suite to detect errors in LogicalSessionsCache
- SERVER-37330 Add sharded passthrough suites to detect errors in LogicalSessionCache
- SERVER-37430 Destroy sharding task executors and AsyncRequestSenders after the PeriodicRunner is destroyed in mongod shutdown
- SERVER-37496 The balancer shouldn’t register a shutdown task after the process is multithreaded
- SERVER-37631 Disable logical sessions if FCV is 3.4
- SERVER-37657 Report the offending oplog entries if a batch contains non-increasing transaction numbers
- SERVER-37735 [3.6] Ensure the full logical session id is included in commands sent by the ShardingTaskExecutor
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 commands
- SERVER-35377 Operations on new clients get latest in-memory clusterTime as operationTime
- SERVER-35658 session migration is too sensitive to replica set primary elections
- SERVER-36041 Increase the size of changelog and actionlog
- SERVER-36132 Invariant that chunk migration is actually reflected in the metadata after successful commit
- SERVER-36232 Refresh after chunk migration commit may not see the committed metadata
- SERVER-36248 Do not reject sessions in FCV 3.4
- SERVER-36463 Bypass validation of a dummy signatures for isMaster on the unauthenticated connections
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 properly
- SERVER-33327 Session::onMigrateCompletedOnPrimary should not update the lastWriteDate field
- SERVER-33538 mapReduce “replace” on a sharded output collection can lead to UUIDCatalog inconsistencies
- SERVER-33639 Concurrent writes against non-existent database can fail due to distlock acquisition timeout at createDatabase time
- SERVER-34363 addShard shard registry reload can cause mongos to terminate
- SERVER-34773 The TransactionReaper handler classes are not exception-safe
- SERVER-34833 Deadlock between the logical sessions’ transaction reaper and MMAP V1 durability thread
- SERVER-34857sharding_legacy_api_test is flaky due to reliance on the system clock
- SERVER-35006 Do not reset KeysCollectionManager
- SERVER-35345 Test that restarted mongoses are able to connect after FCV update
- SERVER-35609 Create initial chunk on primaryShard if only writing one chunk
- SERVER-35653 Revert initial chunk creation optimization
- SERVER-35745 _getNextSessionMods doesn’t include oplogReplay flag to query new oplog created during migration
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 time
- SERVER-35249 Invariant that we apply to top of oplog on 3.6 replication recovery
- SERVER-35256 Do not treat it as an error if the first batch returned by an oplog query comes back empty in master-slave
- SERVER-35340 Reduce number of iterations in update_and_bulk_insert.js FSM workload
- SERVER-35405 Change default setting for replBatchLimitOperations
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 compilers
- SERVER-35917 Blacklists tests which use resumeAfter from the sharded collections change streams passthrough
- WT-3698 Threads doing eviction can stall indefinitely when timestamps fail to advance
- WT-3892 Add timing_stress_for_test option for lookaside cleanup
- WT-3914 Add general documentation for prepared transactions
- WT-3937 Tune lookaside sweep to react to workload
- WT-4000 Avoid getting two snapshots when setting a read_timestamp
- WT-4004 test/format snapshot-isolation search mismatch failure
- WT-4016 Measure and improve lookaside performance with stable_timestamp set
- WT-4023 Add messages to a few places that return errors
- WT-4029 Bump the log file version
- WT-4033 Add ability to alter tables without taking exclusive access
- WT-4039 Move row-store missing-value support into the cell unpack code.
- WT-4044 Add an internal API to return if a generation is active
- WT-4049 Performance drop in long tests
- WT-4051 format configures too-small LSM caches.
- WT-4052 Free transaction resources on session reset
- WT-4055 format transaction prepare and logging configuration is incorrect
- WT-4056 New API to configure a minimum compatibility version on open
- WT-4057 round_to_oldest should establish txn snapshot after establishing rounded read timestamp
- WT-4058 Make slot switch quicker when io is slow
- WT-4059 Start lookaside sweep at full records
- WT-4060 Clean up __wt_getenv() error handling.
- WT-4061 Don’t rollback during recovery due to cache pressure
- WT-4063 Update docs to make clear when log archiving is disabled.
- WT-4064 Relax checking of lookaside entry count
- WT-4069 Commit of a truncate can leave a page permanently locked
- WT-4070 WiredTiger recovery can checkpoint data referencing pieces of a transaction
- WT-4071 Run unit tests with timestamps disabled
- WT-4074 Lint fix: don’t use error labels that do nothing other than return
- WT-4075 Allow timestamp_transaction after prepare
- WT-4076 test/format failure with cache stuck full of internal pages
- WT-4077 Transactional test on zSeries contains wrong LSN in checkpoint
- WT-4078 Splits can leak a page lock if memory allocation fails.
- WT-4079 confirm WiredTiger builds under gcc8
- WT-4080 gcc8 -Wparentheses complains about WiredTiger’s __F() macro.
- WT-4081 Improve errors and documentation for syscall.py
- WT-4086 Verify log file versions before opening logging subsystem
- WT-4087 Store current compatibility within WiredTiger
- WT-4091 Make timing_stress_test options for page split race conditions work.
- WT-4093 Temporarily disable test/format LSM and timestamp testing
- WT-4094 Understand variable throughput when running YCSB 50/50 workload
- WT-4098 Add new compatibility_max configuration option
- WT-4105 Optimize cache usage for update workload with history pinned
- WT-4110 test_timestamp_abort failed with missing records
- WT-4115 Valgrind error in est_wt4105_large_doc_small_upd
- WT-4116 Coverity #1393311 Copy-paste error
- WT-4117 Expose WiredTiger crc32c function
- WT-4120 Enhance test/format to dump the cache when timing out
- WT-4122 Ensure compatibility downgrade cleans up old log files
- WT-4127 Add common prefix for compatibility version errors
- WT-4128 Skip checkpoints while stable timestamp doesn’t change
3.6.5 Changelog
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/mergeChunks
- SERVER-34683 Downgrade replicaset from 3.6.4 to 3.4.14 fails due to the presence of config.system.sessions
- SERVER-34746 Segmentation fault when shard is started with –shardsvr before being added to a shard
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-32989repairDatabase can race with dropDatabase.
- SERVER-33743 Use all_committed to set lastApplied on primary nodes
- SERVER-34091 Oplog visibility rules can cause cappedTruncateAfter to erroneously skip record deletion in WiredTiger
- SERVER-34423 collMod interruption may cause invariant failure
- SERVER-34656 Add secondary reads sys-perf test to system_perf.yml
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-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 global db.
Build and Packaging
- SERVER-31535 Platform Support: remove Ubuntu 12.04 builds
- SERVER-32923 Platform Support: remove SLES11 builds
- SERVER-33406 Reduce concurrency for s390x compile and compile_all builds to avoid OOM failures
- SERVER-33779 Remove tvOS and iOS variants from the v3.6 branch
- SERVER-33936 3.6 nightly builds not available for download
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 entries
- SERVER-32235 Blacklist core/drop3.js test from causally consistent workloadss
- SERVER-32368 do not perform UUID check against a shard’s config cache in the sharding_csrs_continuous_config_stepdown_WT suite
- SERVER-32554 Source shard stepdown while entering critical section can trigger cloner invariant
- SERVER-32568 The migration_sets_fromMigrate_flag.js test is not compatible with sharding continuous stepdown suite
- SERVER-32569 Introduce uniform way to allow config servers and shard replica sets to start in non-cluster mode
- SERVER-32592 Stepdown during migration cleanup can crash the source shard primary
- SERVER-32593 CSRS stepdown during migration commit can trigger fassert on source shard primary
- SERVER-32886 Unnecessary sleeps during chunk migration
- SERVER-32901 Pull the CollectionShardingState map out of ShardingState
- SERVER-32924 tag skip_sharding_configuration_checks test with requires_persistence tag
- SERVER-32970 Put back random chunk size initialization in mongos auto split tracking
- SERVER-33234 dropIndexes on mongos should ignore IndexNotFound from individual shards if some shard returned success
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 stablize 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 used
- SERVER-32238 Revert erroneous high error codes
- TOOLS-1688 Evergreen tests broken in master
- TOOLS-1827 Implement Initial DNS Seedlist discovery spec
- TOOLS-1861 build.sh script doesn’t abort on error
- TOOLS-1878 qa-tests-unstable force_table_scan.js
- TOOLS-1880 qa-tests-unstable no_primary_error_code.js
- TOOLS-1881 qa-tests-unstable no_sharded_secondary_reads.js
- WT-3079 Make sure eviction visits all trees
- WT-3776 Cursor remove operation unpins page too early
- WT-3786 Transactions with timestamps should read their writes