Navigation
This version of the documentation is archived and no longer supported.

3.6 Changelog

3.6.23 Changelog

Query

SERVER-40361 Reduce memory footprint of plan cache entries

Internals

  • SERVER-43973 jsTestName() should return a unique name for each thread in the parallel suite
  • SERVER-46686 Explain does not respect maxTimeMS
  • SERVER-50267 Set output limit for ‘rawMongoProgramOutput()’
  • SERVER-52969 Disable Powercyle on non-master branches
  • SERVER-53992 Remove calls to detect-outliers from performance tasks
  • SERVER-54134 Ignore newer mongo versions on older branches of setup_multiversion_mongodb.py
  • TOOLS-2803 [v3.6] Add –config option for password values

3.6.22 Changelog

Sharding

SERVER-53182 [v3.6] Omit “versions” from {shardingState: 1} command when not running as a –shardsvr

Replication

  • SERVER-33747 Arbiter tries to start data replication if cannot find itself in config after restart
  • SERVER-52680 Removed node on startup stuck in STARTUP2 after being re-added into the replica set
  • SERVER-53026 Secondary cannot restart replication
  • SERVER-53345 Excuse arbiter_new_hostname.js from multiversion tests

Query

SERVER-32960 $mod has inconsistent rounding/truncation behavior

Storage

SERVER-52902 Remove assertion !haveJournalFiles() at dur_journal.cpp:265

Build and Packaging

Internals

  • SERVER-50445 Return the value as double when NumberLong subtraction overflows in ExpressionSubtract
  • SERVER-50891 mongod 3.6.20-rc2 core dumps if dbpath DNE or perms block
  • SERVER-52654 new signing keys not generated by the monitoring-keys-for-HMAC thread
  • SERVER-52806 deb install files assume systemd

3.6.21 Changelog

Sharding

  • SERVER-51808 invariant failure: readConcern level != Available
  • SERVER-51885 Blacklist balancing_sessions_collection.js from sharding_csrs_continuous_config_stepdown

Replication

  • SERVER-49986 Convert isMaster command to hello and add aliases
  • SERVER-49987 Rename response fields if “hello” is sent on mongod
  • SERVER-49988 Rename response fields if “hello” is sent on mongos
  • SERVER-49991 Alias printSlaveReplicationInfo() shell helper
  • SERVER-50116 Forbid oplog writes when replication is enabled
  • SERVER-50640 listCommands should return “isMaster” alias in addition to “hello” command name

Query

  • SERVER-51083 Problem with regex index bounds
  • SERVER-51120 Find queries with SORT_MERGE incorrectly sort the results when the collation is specified

Storage

SERVER-34243 listCollections should not require a MODE_S database lock

Operations

SERVER-26726 Check number of arguments for createIndex() and throw error if more than two arguments

Build and Packaging

SERVER-46342 DEB installs of MDB do not issue systemctl daemon-reload on install

Internals

  • SERVER-45624 Pre-split and distribute chunks of sessions collection
  • SERVER-50123 Record number of physical cores on all platforms
  • SERVER-50216 Adjust sys-perf frequencies
  • SERVER-50605 Add {logMessage: “msg”} test-only command
  • SERVER-50736 Make OpenSSL explicitly accept SNIs presented in ClientHello
  • SERVER-50818 Coverity analysis defect 114987: Wrapper object use after free
  • SERVER-51106 Make the isMaster command a derived class of hello
  • SERVER-51303 Lookup stage followed by $match on type uses wrong field in matching condition
  • TOOLS-2590 [v3.6] sslAllowInvalidHostnames bypass ssl/tls server certification validation entirely

3.6.20 Changelog

Replication

  • SERVER-48967 Prevent replicated writes on empty namespaces on secondaries
  • SERVER-49990 Alias setSlaveOk() and getSlaveOk() shell helpers
  • SERVER-50039 Timing error in dbadmin.js test

Query

  • SERVER-36910 Reduce severity or remove log message for PlanExecutor::DEAD error during find
  • SERVER-39392 Invariant in PlanStage::dispose always evaluates as true
  • SERVER-48993 explodeForSort can produce incorrect query plan

Aggregation

SERVER-40317 $facet execution has no limit on how much memory it can consume

Storage

SERVER-49449 index_restart_secondary.js is not compatible with storage engines without support for persistence

Operations

SERVER-48244 Shell should not hard-code the allowed explain levels and let the server reject it instead

Build and Packaging

  • SERVER-33000 Platform Support: add Ubuntu 18.04
  • SERVER-42042 Warn or fail early on dynamic builds with toolchain compiler and tcmalloc
  • SERVER-49925 Dynamic builders should not combine the mongodbtoolchain with tcmalloc
  • SERVER-50124 Pin lazy-object-proxy python module

Internals

  • SERVER-33229 Overload startParallelShell in auto_retry_on_network_error.js to connect after loading the auto_retry_on_network_error.js override
  • SERVER-41600 IndexCatalog::refreshEntry should invalidate the index from the CollectionInfoCache
  • SERVER-43233 Add ability to request only specific attribute(s) for the LDAP groups
  • SERVER-45202 Improve Command alias infrastructure
  • SERVER-47930 Ubuntu 20.04 - ldap_authz_authn.js fails to load test certificate
  • SERVER-48709 signing key generator thread on config server not waken up as expected
  • SERVER-49054 Server MSI should install Compass instead of Compass Community
  • SERVER-49352 4.0 does not build with python 3.8
  • SERVER-49404 Enforce additional checks in $arrayToObject
  • SERVER-50180 Fix User lifetime management in AuthorizationManager::acquireUserForSessionRefresh

3.6.19 Changelog

Sharding

  • SERVER-46487 The mongos routing for scatter/gather ops can have unbounded latency
  • SERVER-47913 Redact sharding messages in split chunk and distributed lock acquisition

Replication

  • SERVER-45610 Some reads work while system is RECOVERING
  • SERVER-47695 Write commands run by threads that can survive rollback can fail operationTime invariant in ServiceEntryPoint

Query

Storage

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

Operations

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

Build and Packaging

  • SERVER-42042 Warn or fail early on dynamic builds with toolchain compiler and tcmalloc
  • SERVER-48640 Update RHEL 6.2 AMI for package tests
  • SERVER-48659 Update SLES 12 AMI for package tests
  • SERVER-48681 Update Debian 8.1 AMI for package tests

Internals

  • SERVER-45367 When the Range Deleter is waiting for the open cursors, list these cursors in the logs.
  • SERVER-45508 Invariant failure in getFieldsWithStringBounds with descending point ranges
  • SERVER-47256 Update listed maintainer for repo package files
  • SERVER-47686 Upgrade static OpenSSL to 1.1.1g
  • SERVER-47798 Audit isMaster response validation for mongod and mongos
  • SERVER-48032 Update references of community mailing-lists to MongoDB Developer Community Forums
  • SERVER-48657 Use evergreen module to control signal processing in perf projects
  • SERVER-49142 Validate correct field name in RoleName::parseFromBSON()
  • SERVER-49335 publish_packages should use barque API key
  • WT-5119 Birthmark records can be read as normal updates if reads race with checkpoints
  • WT-5150 LAS sweep is not removing the entries that are no longer required
  • WT-5196 Data mismatch failures with test/checkpoint after enabling LAS sweep
  • WT-5376 WT_UPDATE.type field can race with visibility checks when returning key/value pairs
  • WT-5587 Limit how many checkpoints are dropped by a subsequent checkpoint

3.6.18 Changelog

Security

SERVER-46834 Use monotonic time in UserCacheInvalidator

Sharding

  • SERVER-29153 Make sure replica set nodes agree on which node is primary before doing writes in ShardingTest initialization
  • SERVER-33597 Make allow_partial_results.js, return_partial_shards_down.js start shards as replica sets
  • SERVER-44130 Flip order of assert.lte arguments in logical_time_metadata.js
  • SERVER-45770 Add to information contained in logfile about “moveChunk.to”
  • SERVER-46466 Race with findAndModify retryable write and session migration

Replication

  • SERVER-35050 Don’t abort collection clone due to negative document count
  • SERVER-35437 Wait for secondary state after stepdown command in multi_rs.js
  • SERVER-45178 Rollback via refetch can cause rollback to happen successfully w/o updating the rollback id.

Query

  • SERVER-32903 Ambiguous field name error should be ignored during initial sync
  • SERVER-45363 Issue with mongodb text indexes and weights when using wildcard specifier

Aggregation

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

Storage

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

Operations

  • SERVER-34199 “timing” section of serverStatus can have large impact on ftdc retention
  • SERVER-46024 Collect /proc/vmstat swap statistics in FTDC

Build and Packaging

  • SERVER-45713 Run rhel7 push and publish tasks on large rhel70 distro
  • SERVER-45732 Filter flags from net-snmp-config invocation more aggressively
  • SERVER-46983 Upload repobuilding packages to correct URL
  • SERVER-46996 all push/publish_packages tasks should run on small hosts

Internals

  • SERVER-30739 config_server_checks.js should assert if initial replSetConfig fails
  • SERVER-37148 Remove mr_shard_version.js and mr_during_migrate.js in favor of MR FSM test
  • SERVER-38119 Windows dump file naming does not account for dots in directory names
  • SERVER-40047 Test for blocking queue should not test for non-guaranteed condition
  • SERVER-40305 Add diagnostic logging to max_time_ms.js
  • SERVER-42278 Log SockAddrs produced during LDAP connection establishment with manually derived sizes
  • SERVER-42525 Single-node replica sets shouldn’t wait for electable caught up secondaries during shutdown
  • SERVER-43349 Incorrect serialization for $elemMatch $not $ne
  • SERVER-44325 Add polyfill for certificate chain verification
  • SERVER-44435 Allow x509 authorization to be selectively enabled based on the CA
  • SERVER-44868 Initialsync logkeeper and logkeeper-short tests should pass snapshot ID and dataset link respectively to dsi(sys-perf)
  • SERVER-45156 SockAddr constructor should take sockaddr, not sockaddr_storage
  • SERVER-45472 Ensure RoleGraph can serialize authentication restrictions to BSON
  • SERVER-45766 Remove “requires” from the server yaml
  • SERVER-45867 Use latest version of signal processing
  • SERVER-45935 [3.6] WT error handler incorrectly prints “An unsupported journal format detected”
  • SERVER-46082 Use bin/analysis.py for performance projects
  • SERVER-46174 Free peer certificate in SSL_get0_verified_chain polyfill
  • SERVER-46754 Use new repobuilder service
  • SERVER-46766 Teardown clusters after every perf run
  • SERVER-46899 Fix tcmallocReleaseRate parameter in 4.0 and 3.6
  • SERVER-47063 Upgrade static OpenSSL to 1.1.1e
  • SERVER-47232 Ensure availability of Python ldap libraries

3.6.17 Changelog

Replication

  • SERVER-34876 initial_sync_with_write_load.js needs to await initial sync completion before reading oplog
  • SERVER-45396 fix the “me” field in isMaster responses when using splithorizon

Query

SERVER-42565 Aggregations and find commands sort missing fields differently

Aggregation

  • SERVER-42756 $multiply operator may return with or w/o an error depending on whether pipeline optimisation is enabled
  • SERVER-43764 Add more testing for special values in DoubleDoubleSummation
  • SERVER-44174 $push and $addToSet should restrict memory usage
  • SERVER-44733 Change stream should throw ChangeStreamFatalError if a single shard cannot be targeted for updateLookup
  • SERVER-44869 Add query knob to control memory limit for $push and $addToSet

Storage

SERVER-44796 Adjust nojournal startup warning to be more compelling

Build and Packaging

  • SERVER-37772 Platform Support: Add Community & Enterprise RHEL 8 x64
  • SERVER-44641 Platform Support: Remove Enterprise RHEL 7 zSeries and SLES 12 zSeries from 3.6

Internals

  • SERVER-34844 Relax expectations in apply_batches_totalMillis
  • SERVER-35099 Increase wtimeout in get_last_error.js even more
  • SERVER-35382 _isSelf command needs to be marked requiresAuth false
  • SERVER-38002 Upgrade Pcre to at least 8.42
  • SERVER-39131 Refactor storage engine lock file support
  • SERVER-42697 Expose tcmalloc_release_rate via setParameter
  • SERVER-43210 jstests/sharding/kill_sessions.js doesn’t wait for operation to be killed.
  • SERVER-43246 Add a log line for when a cursor is reaped due to logical session cleanup
  • SERVER-44568 Update the embedded version of the server’s timezone data file to tzdb-2019c
  • SERVER-44828 Correct logic to re-compute dependencies after absorbing a $sort into query layer
  • SERVER-45104 [v3.6] Fix spill_to_disk.js
  • SERVER-45372 Blacklist versions without majority read concern for change_streams_update_lookup_shard_metadata_missing.js
  • WT-4636 Fix strace in syscall test
  • WT-5042 Reduce configuration parsing overhead from checkpoints
  • WT-5120 Checkpoint hangs when reconciliation doesn’t release the eviction generation
  • WT-5135 Change lookaside file inserts to use cursor.insert
  • WT-5218 Improve eviction to differentiate between clean and dirty pages with WT_CACHE_EVICT_NOKEEP readgen
  • WT-5239 Fix syscall failure about metadata file open
  • WT-5247 Ensure that only idempotent modify operations are logged
  • WT-5277 Cursor key out-of-order detected in the lookaside file
  • WT-5297 syscall.py fail on mongodb-4.0

3.6.16 Changelog

Security

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

Sharding

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

Replication

  • SERVER-43193 Always disable document validation on secondaries
  • SERVER-44675 server_status_metrics.js fails due to racy repl.buffer.count metric in serverStatus

Query

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

Storage

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

Build and Packaging

  • SERVER-37769 Platform Support: Add Community & Enterprise SLES 15 x64
  • SERVER-44392 Platform Support: Remove zSeries ubuntu 16.04

Internals

3.6.15 Changelog

Security

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

Sharding

  • SERVER-26531 jumbo flag in chunk can be cleared when the shard that owns it donates a chunk
  • SERVER-36394 mongos should reset chunk size tracking information when autosplit = false or splitvector returns too few split points
  • SERVER-36443 Long-running queries should not cause a build-up of unused ChunkManager objects
  • SERVER-36469 shard_kill_and_pooling isn’t querying the shard it’s supposed to
  • SERVER-41859 logical_time_metadata.js shouldn’t assume lastApplied opTime equals $clusterTime
  • SERVER-41867 CatalogCache::_scheduleDatabaseRefresh/_scheduleCollectionRefresh can try to grab _mutex it already owns
  • SERVER-41869 Reverse mutex acquisition order in CatalogCache::_scheduleCollectionRefresh
  • SERVER-42793 Autosplit size tracker random initial value is too low

Replication

  • SERVER-38659 Race condition in IsMasterIsFalseDuringStepdown unittest
  • SERVER-40336 ReplicationCoordinatorImpl::_random isn’t robust to replica set members being started at the same time
  • SERVER-41036 Make ReadWriteAbility::_canAcceptNonLocalWrites AtomicWord<bool> to prevent torn reads.
  • SERVER-42055 Only acquire a collection IX lock to write the lastVote document

Query

  • SERVER-40134 Distinct command against a view can return incorrect results when the distinct path is multikey
  • SERVER-41065 Make agg evaluate() thread safe by passing ‘Variables’ as a parameter
  • SERVER-41829 findAndModify ignores filter expressions that are not objects

Storage

WiredTiger

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

Operations

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

Build and Packaging

  • SERVER-36043 systemd unit for mongod starts before multi.user target
  • SERVER-40563 Our init scripts check /proc/[pid]/stat should validate that (${procname}) is the process’ command name.
  • SERVER-41424 scons should fail early if invoked with wrong Python interpreter
  • SERVER-41443 Update Enterprise License
  • SERVER-41743 Update MSI inclusions for 3.6
  • SERVER-42089 Platform Support: Remove Enterprise RHEL 6.7 zSeries from 3.4 and 3.6
  • SERVER-42109 Add Ubuntu 14.04 to v3.6
  • SERVER-42233 Bump Windows package dependencies
  • SERVER-42603 Recent service file change may cause cyclic dependencies

Internals

  • SERVER-26626 In external_auth_WT JSTests, ensure that Saslauthd has fully started before continuing test
  • SERVER-35067 Blacklist explain2.js from retryable writes jscore stepdown suite
  • SERVER-37984 Upgrade yaml-cpp >= 0.6.0
  • SERVER-38141 Incorrect usage of MONGO_CONFIG_HAS_SSL_SET_ECDH_AUTO prevents enabling of elliptic curve auto negotiation
  • SERVER-39642 Decrement egress counter when scoped connection not returned to the pool
  • SERVER-40156 Initial implementation of Split Horizon
  • SERVER-40643 Add tests for replSetConfig 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

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

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

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

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

  • SERVER-29463 Platform Support: add Debian 9 “Stretch”
  • SERVER-44392 Platform Support: remove Ubuntu 16.04 “Xenial” on s390x architecture
  • SERVER-32785 Integrate Google Benchmark into SCons
  • SERVER-34149 Upgrade zlib to latest
  • SERVER-34250 Update Tools builders in Evergreen to match upstream
  • SERVER-34461 Source OpenSSL source tarball from boxes.10gen.com

Tools

  • TOOLS-1765 mongoreplay crashes with out of memory recording from 8GB pcap file
  • TOOLS-1776 mongoreplay hangs on open connection when finishing playback
  • TOOLS-1780 Build tools with Go 1.8.x
  • TOOLS-1948 Use Go-native TLS dialer on platforms with openssl 0.9.x
  • TOOLS-1968 Backport - Need to update spacemonkeygo/openssl fork to support newer OpenSSL libraries
  • TOOLS-1999 Use of –uri overrides use of –ssl
  • TOOLS-2005 –quiet flag not honored on mongofiles

Internals

  • SERVER-25640 Have ReplSetTest run checkDBHashes() in stopSet()
  • SERVER-29301 Upgrade MozJS to ESR 45.9.0
  • SERVER-33199 Add Resmoke Benchmark suite
  • SERVER-33200 Write a new test runner for Benchmark
  • SERVER-33201 Add Benchmark resmoke testcase
  • SERVER-33202 Add hook to enable resmoke.py to generate perf.json
  • SERVER-33203 Write benchmark canary tests
  • SERVER-33204 Modify Evergreen.yml to support Benchmark
  • SERVER-33329 Server and Shell do not emit TLS “protocol_version” alert messages
  • SERVER-33398 Add the new finer grained sys-perf tasks
  • SERVER-33438 burn_in_tests.py fails if there are new or modified files and build/benchmarks.txt doesn’t exist
  • SERVER-33491 Fix benchmark.h compile with -fdirectives-only
  • SERVER-33497 Remove the –options option to resmoke.py
  • SERVER-33560 Remove deprecated Fixture function declarations from Google Benchmark
  • SERVER-33636 wrap transaction_reaper.js writes in an assert.writeOK
  • SERVER-33643 Add convenience function to get num cpu cores in benchmarks
  • SERVER-33734 Improve jsTestLog filterability
  • SERVER-33746 Pipe in additional Evergreen options to resmoke.py
  • SERVER-33805 Change Jepsen tasks running in Evergreen to use mongobridge
  • SERVER-33938 Increase replication timeout in CheckReplDBHash hook
  • SERVER-34210 Fix display of benchmarks with multiple arguments
  • SERVER-34218 FieldRef::parse does not completely initialize the FieldRef
  • SERVER-34237 Expose means for shell to disable TLS 1.0
  • SERVER-34390 Make OS X binaries speak TLS 1.2
  • SERVER-34412 powercycle* tasks set timeout_secs in wrong location of task definition
  • SERVER-34444 Reestablish a new connection to LocalToRemoteOperations after crash in powercycle.py
  • SERVER-34476 Fix OpenSSL linking on FreeBSD
  • SERVER-34582 AsyncRequestsSender can block network threads during construction
  • SERVER-34605 Change Jepsen tasks to run on the ubuntu1604-build distro in Evergreen
  • SERVER-34651 Performance regression on secondary application with retryable batched writes
  • SERVER-34657 Add secondary reads YCSB test to system_perf.yml
  • SERVER-34667 data_consistency_checks.js incorrectly assumes that the config.mongos collection always exists
  • SERVER-34742 Stop running ssl_cert_password.js on OS X
  • SERVER-34823 Thread name and connection number are not synchronized in TransportLayerLegacy
  • SERVER-34827 retryable writes not in sys-perf-3.6 project
  • SERVER-34834 Wait for replication of FCV document before downgrading binaries in clear_and_reinstate_keys_rs.js
  • SERVER-34929 Fix malformed preprocessor macro check
  • TOOLS-1941 Tools qa-tests often timeout, particularly on server latests
  • TOOLS-1978 tools fail eslint testing
  • TOOLS-2003 Drop SUSE11 from Evergreen builds
  • WT-3851 Optimize wt_compare* routines with NEON instructions for ARM platform
  • WT-3886 Identify statistics relevant for prepared transactions
  • WT-3910 libwiredtiger-3.0.1.dylib loading failure on OS X
  • WT-3959 Recovery timestamp set on restart scenarios need addressing
  • WT-3998 Fix a bug where stable timestamp was ignored on shutdown
  • WT-4006 Add support for stress timing configurations to test/format
  • WT-4009 Create fast path for cursor caching with “overwrite=false”
  • WT-4012 Fix lookaside entry counters
  • WT-4014 If eviction walk is interrupted, clean up the queue.
  • WT-4015 Enhance schema06 unit test to test drops
  • WT-4017 When evicting during a checkpoint, avoid splits
  • WT-4019 Change test/format to test transaction prepare less often
  • WT-4027 Yield cursor operations between restarted search/traverse
  • WT-4028 Don’t check for a modified page without holding the ref locked
  • WT-4031 on-page zero-length row-store values can be discarded from checkpoints
  • WT-4032 parent pages can be evicted while being split.
  • WT-4034 Re-entering eviction can result in checkpoint corruption
  • WT-4035 Truncate information discarded while active
  • WT-4036 Fix Coverity false positive: out-of-bounds access.
  • WT-4037 WT_REF structures freed while still in use
  • WT-4042 Access data handles safely during cursor reopen
  • WT-4045 Don’t retry fsync calls after EIO failure

3.6.4 Changelog

Sharding

  • SERVER-16802 Order of balancer chunk moves depends on order of config.collections
  • SERVER-28670 Add sharding metadata refresh metrics section to serverStatus
  • SERVER-28981 Sharding balancer prefers shards in a specific order when moving chunks
  • SERVER-29807 RangeDeleter should log when its about to wait for majority replication
  • SERVER-32210 Stepping down recipient shard’s primary while migrating session information can fassert
  • SERVER-32604 prevent adding a binary last-stable shard if the cluster is upgrading or downgrading
  • SERVER-32885 Overlap chunk clone application on the donor with fetching documents from the recipient
  • SERVER-32886 Unnecessary sleeps during chunk migration
  • SERVER-33189 Unblacklist sharding tests marked as requiring already released last-stable versions
  • SERVER-33763 3.6 drivers fail to communicate with 3.6 sharded clusters running at FCV 3.4
  • SERVER-33869 make $changeStream on shards check shardVersion
  • SERVER-33971 Nodes in MongoDB sharded cluster crashes with Invariant failure oplogEntry.getWallClockTime()

Replication

  • SERVER-29946 Increase heartbeat rate when a secondary has no sync source
  • SERVER-30283 PingStats::hit() should not set _numFailuresSinceLastStart to integer max
  • SERVER-31399 repl.apply.batches.totalMillis does not record the time spent applying batches
  • SERVER-31666 catchup_takeover_one_high_priority should use initiateWithAnyNodeAsPrimary
  • SERVER-31669 Increase the election timeout in case 3 of catchup.js
  • SERVER-32776 Refresh rollback ID cache on increment
  • SERVER-33448 Relax time diff requirements in apply_batches_totalMillis.js
  • SERVER-33618 Initial sync should consider applyOps a CrudOpType

Query

  • SERVER-31293 Don’t consider readPreference “primary” as equivalent to ‘slaveOk’ in OP_QUERY find path
  • SERVER-33302 Missing log redaction for a few failure paths
  • SERVER-33542 Using maxTime() on MongoDB 3.4 and 3.6 does not yield the same error code

Storage

  • SERVER-32058 Abort of catalog meta-data updates may lead to cache inconsistency
  • SERVER-32453 WTKVEngine::getAllIdents mishandles cursor->next return code.
  • SERVER-32574 Repairing the local database can cause the WT oplog manager thread to permanently exit.
  • SERVER-32641 Some artificial find may crash debug builds of the server
  • SERVER-32831 Blacklist change_stream_chunk_migration.js and close_cursor_on_chunk_migration_to_new_shards.js for LSM buildvariant
  • SERVER-33086 renameCollection target should never have identical UUID with a different database
  • SERVER-33087 Fix the use of dropTarget in renameCollection
  • SERVER-33122 add option to disable cursor caching to speed up dropDatabase and collection drop
  • SERVER-33233 Don’t stall ftdc due to running out of tickets
  • SERVER-33854 Fix applyOps field handling
  • SERVER-34024 Disable WiredTiger cursor cache by default.

Operations

  • SERVER-12644 Move note about noprealloc hurting performance to startup warnings
  • SERVER-30114 Monitor cumulative time spent in tcmalloc spin lock
  • SERVER-30567 Break out serviceExecutorTaskStats by task type
  • SERVER-32498 “desc” field in currentOp output no longer contains the thread name used in log messages
  • SERVER-33227 Using the method connect in a script will as a side effect update 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