Navigation

3.6 Changelog

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

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

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

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-34857 sharding_legacy_api_test is flaky due to reliance on the system clock
  • SERVER-35006 Do not reset KeysCollectionManager
  • SERVER-35345 Test that restarted mongoses are able to connect after FCV update
  • SERVER-35609 Create initial chunk on primaryShard if only writing one chunk
  • SERVER-35653 Revert initial chunk creation optimization
  • SERVER-35745 _getNextSessionMods doesn’t include oplogReplay flag to query new oplog created during migration

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-32989 repairDatabase can race with dropDatabase.
  • SERVER-33743 Use all_committed to set lastApplied on primary nodes
  • SERVER-34091 Oplog visibility rules can cause cappedTruncateAfter to erroneously skip record deletion in WiredTiger
  • SERVER-34423 collMod interruption may cause invariant failure
  • SERVER-34656 Add secondary reads sys-perf test to system_perf.yml

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

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

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