3.4 Changelog

3.4.23 Changelog

Sharding

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

Replication

  • SERVER-42055 Only acquire a collection IX lock to write the lastVote document
  • SERVER-42653 Always waitUntilDurable when writing lastVote document

Query

  • SERVER-41829 findAndModify ignores filter expressions that are not objects
  • SERVER-43074 Do not use a global variable to encode ‘multikeyPath’ information when writing out catalog documents

Storage

SERVER-42652 Fix issue with rename collection

Operations

SERVER-42257 Add new shell startup banner

Build and Packaging

Internals

  • SERVER-39928 Stop testing PyMongo with Python 2.6 in drivers-nightly
  • SERVER-42343 WiredTigerLAS.wt grows when lagged node is in maintenance mode

3.4.22 Changelog

Security

Replication

  • SERVER-40336 ReplicationCoordinatorImpl::_random isn’t robust to replica set members being started at the same time
  • SERVER-41036 Make ReadWriteAbility::_canAcceptNonLocalWrites AtomicWord to prevent torn reads.

Query

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

Storage

SERVER-17010 Reduce file handle usage in File based Sorter

Build and Packaging

  • SERVER-36043 systemd unit for mongod starts before multi.user target
  • SERVER-40242 Update banner inclusions for vendored tools
  • 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-42089 Platform Support: Remove Enterprise RHEL 6.7 zSeries from 3.4 and 3.6
  • SERVER-42172 Add Ubuntu 14.04 to v3.4
  • SERVER-42233 Bump Windows package dependencies

Internals

  • SERVER-20983 Add requirements.txt for resmoke.py
  • SERVER-21538 Choose clock source for reading current time dynamically at startup
  • SERVER-28421 Implement ClockSource::waitForConditionUntil()
  • SERVER-37984 Upgrade yaml-cpp >= 0.6.0
  • SERVER-38098 MongoDB’s yaml-cpp is rejected by latest MSVC
  • SERVER-38303 Temporarily handle ipv6 failures due to s390x machine without ipv6 enabled
  • SERVER-38984 Attach IDs to users
  • SERVER-39642 Decrement egress counter when scoped connection not returned to the pool
  • 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-41148 FTDC is calling boost::filesystem without passing an error_code parameter
  • SERVER-41401 patch_files.txt doesn’t distinguish between enterprise and community files
  • SERVER-41546 SysV init scripts should verify PIDfile exists instead of failing
  • SERVER-41680 Propagate ${branch_name} Evergreen expansion to fuzzer invocation
  • SERVER-41789 sys-perf: Use bootstrap.overrides in bootstrap.yml config file
  • SERVER-41967 Symlink /data to Z instead of C

3.4.21 Changelog

Security

SERVER-40393 Disable SSL_MODE_RELEASE_BUFFERS in ASIO

Replication

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

Aggregation

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

Storage

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-40259 Include third party notices for ASIO and variant
  • SERVER-40866 Use JSON.stringify() to serialize string in tojson()

Build and Packaging

Internals

  • SERVER-20983 Add requirements.txt for resmoke.py
  • SERVER-36750 blacklist memory.js on ppc64le in memory variants
  • SERVER-39056 Further refine readWriteAnyDatabase
  • 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-41088 Propagate Evergreen order field to Cedar for system perf
  • WT-4615 Sync backup file before returning backup cursor

3.4.20 Changelog

Sharding

  • SERVER-36901 sh.status() “Last reported error:” is actually 5th Latest error message
  • SERVER-39030 Wrong info logged by splitVector

Replication

  • SERVER-28053 allow network errors when turning off rollbackHangBeforeStart failpoint
  • SERVER-39758 double_rollback.js should reliably wait for node 0 to complete rollback

Query

  • SERVER-26463 Increase ttl_capped.js timeout from 5 to 60 seconds
  • SERVER-38793 nonrepairable feature tracker for collation does not get set for createCollection

Aggregation

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

Storage

SERVER-39723 Change listIndexes command behavior to show in-progress index builds

Tools

Internals

  • SERVER-38954 Increase query execution time for the test case in max_time_ms.js that expects it to hit the time limit
  • SERVER-39058 Synchronize user set modification in AuthorizationSession with Client
  • SERVER-39331 Remove StressTest from network_interface_asio_integration_test
  • SERVER-39746 System-Performance: Write project in runtime.yml
  • 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

3.4.19 Changelog

Sharding

  • SERVER-28716 call fsync after setup before calling collStats/dbStats in jstests/sharding/stats.js
  • SERVER-30768 Primary queries using maxTimeMS cause temporary shard write unavailability if ExceededTimeLimit
  • SERVER-32568 The migration_sets_fromMigrate_flag.js test is not compatible with sharding continuous stepdown suite
  • SERVER-37496 The balancer shouldn’t register a shutdown task after the process is multithreaded
  • 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-38062 Add assert.commandWorked() to commands in read_pref_cmd.js

Replication

  • SERVER-22766 Dynamic oplog sizing for WiredTiger nodes
  • SERVER-35608 Invariant that term from lastAppliedOptime is never greater than our current term

Query

  • SERVER-13946 Consider putting skip stages below fetch stages
  • SERVER-35455 QueryPlannerAccess should hold owned pointers by unique_ptr rather than raw pointer
  • SERVER-37132 Negation of $in with regex can incorrectly plan from the cache, leading to missing query results
  • SERVER-38070 Infinite loop in aggregation expression
  • 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-37750 Optimized $sample stage does not yield

Storage

  • SERVER-30151 Size specification for oplog resizing
  • SERVER-36968 Rebuild interrupted indexes before checking AuthZN index presence
  • SERVER-37749 replSetResizeOplog command does not validate argument
  • SERVER-38434 queryableBackupMode and wiredTigerEngineConfigString flags are incompatible
  • SERVER-38501 swap out new ActionType for replSetResizeOplog command on 3.4

Operations

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

Build and Packaging

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-18985 setParameter should log at level 0
  • SERVER-23818 Include Evergreen task id in metadata sent to logkeeper
  • SERVER-36250 Add support for optionally logging specific negotiated TLS versions
  • SERVER-37120 Turn off linux-replSet-initialsync-logkeeper Build Variant for 3.4 and 3.6 branches
  • SERVER-37647 Validation hook sets FCV to 3.4 no matter what version it currently is
  • SERVER-37913 coll_epoch_test1.js does not wait for the config server to replicate after dropping collections.
  • 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-2155 Set version/git-commit via ldflags in Evergreen and Server Evergreen
  • TOOLS-2157 Update server vendoring

3.4.18 Changelog

Security

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

Sharding

SERVER-26915 jumbo1.js auto-balancing is too slow in the stepdown suite

Replication

  • SERVER-25175 listIndexes shouldn’t include in-progress background indexes
  • SERVER-35200 Speed up failure detection in the OplogFetcher during steady state replication
  • SERVER-36978 TaskRunner must ensure Client is initialized for thread before running tasks
  • SERVER-37010 Prevent unexpected elections in initial_sync4.js and initial_sync_rename_collection*.js
  • SERVER-37152 Increase write concern timeouts for writes expected to succeed in tags.js

Query

  • SERVER-28251 Fix race condition in index_killop.js
  • 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-37058 Update with numeric field names inside an array can cause validation to fail

Storage

SERVER-37333 [3.4] applyOps does not validate background index spec for system.indexes inserts

Operations

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

Tools

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

Internals

  • SERVER-28095 Clearing the dmesg buffer should not errexit in evergreen.yml
  • SERVER-36718 Validation hook should upgrade before validating index consistency
  • 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-36919 Add server setParameter tlsWithholdClientCertificate (bool)
  • SERVER-36987 ChunkVersion::minorVersion truncates to 16 bit
  • 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-37127 Update baseline comparison for sys-perf
  • SERVER-37130 Add TLS version counting to mongos
  • SERVER-37367 Notification::waitFor is not interruptible in 3.4
  • SERVER-37393 Fix destructor race in ReplicaSetMonitorManager
  • 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-37647 Validation hook sets FCV to 3.4 no matter what version it currently is

3.4.17 Changelog

Security

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

Sharding

  • SERVER-27599 Sharding tests should not rely on the order of entries returned when querying the config.shards collection
  • SERVER-27725 Use batch insert when migrating chunks
  • SERVER-29702 add assert.commandWorked() around addShard in shard_insert_getlasterror_w2.js
  • SERVER-33237 Optimize the Range Deleter speed
  • SERVER-34897 Introduce parameter to control whether MongoS should automatically retry failed find commands
  • 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

Replication

  • SERVER-32148 make NamespaceNotFound an acceptable error for emptyCapped and convertToCapped
  • SERVER-32647 Retry connecting to replica set when given a seed node in Jepsen tests
  • SERVER-34414 Creating a role with buildsIndexes:false node hits an fassert
  • SERVER-34682 Old primary should vote yes and store the last vote after stepdown on learning of a higher term
  • SERVER-35962 buildindexes_false_with_system_indexes.js restarts nodes and should be tagged [requires_persistence]

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

JavaScript

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

Storage

SERVER-34602 convertToCapped collection drop does not commit WUOW on 3.4

Operations

  • SERVER-34141 Inconsistent appName in Shard
  • SERVER-34160 Mongo client run buffered command when terminated.
  • SERVER-36010 Change log messages for Windows stacktraces to use error() or severe() rather than log()
  • 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-29008 Define TestData.numTestClients property so fuzzer knows there are concurrent clients
  • SERVER-31434 Give mongo::Value at least pointer alignment
  • SERVER-34558 Add SSL_version to client metadata logging
  • SERVER-34614 parallelTester should use a different connection for each new test
  • SERVER-34735 Extract structured names from X.509 certificates
  • SERVER-34793 Add call to BF suggestion server on failed task completion
  • SERVER-35100 Do not log a Python stack trace when a hook dynamic test fails
  • SERVER-35668 Avoid moving concurrency tests to small instances on arm64
  • SERVER-35858 Error in call BF Suggestion service
  • SERVER-35861 Remove call to dashboard_gen.py in perf.yml
  • SERVER-36001 Add requires_document_locking tag to noPassthrough/indexbg2.js
  • SERVER-36111 Bug in job.py related to functionality for archiving data files in 3.4
  • SERVER-36149 Fix privileges on setFCV virtual namespace
  • SERVER-36462 Add atlas user to runtime_secret.yml
  • TOOLS-1991 Build tools with Go 1.10.1
  • TOOLS-2066 MongoDB 3.4’s vendored github.com/10gen/openssl doesn’t define FIPS functions
  • WT-3637 Fix a heap use after free from evicting of a page that just split.

3.4.16 Changelog

Security

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

Sharding

  • SERVER-25746 Store advisoryHostFQDNs data in config.mongos collections
  • SERVER-30050 top_chunk_autosplit.js should use w: majority when updating balancer settings
  • SERVER-34644 Disable DollarPrefixedFieldName checks for moveChunk/mergeChunks

Replication

  • SERVER-5461 Add syncSourceHost field to replSetGetStatus output
  • SERVER-30947 checkOplogs function should dump more oplog entries on failure
  • SERVER-31165 Print mismatched oplog entries in checkReplOplogs
  • SERVER-31995 Logged initial sync statistics may exceed 16mb causing fassert
  • SERVER-32935 improve exception handling in SyncTail::oplogApplication()
  • SERVER-34549 Tests refer to ReplSetTest.kDefaultTimeoutMS, which is undefined
  • SERVER-34661 Return early when the vote request response has an error
  • SERVER-34758 replSetGetStatus can deadlock with initialSyncer
  • SERVER-35437 Wait for secondary state after stepdown command in multi_rs.js

Query

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

Storage

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

Operations

  • SERVER-27230 Poor compression of diagnostic data when replica set is unhealthy
  • SERVER-33546 Add numeric syncing field to replSetGetStatus members array
  • SERVER-34159 Fix migration_destination_manager logging

Build and Packaging

  • SERVER-32999 Platform Support: remove Debian 7
  • SERVER-33395 PPC64 little endian altivec optimizations are broken on newer gcc
  • SERVER-35210 curator release versions should be populated from the project expansions

Internals

  • SERVER-26884 Support archiving data files in Evergreen on test failure
  • SERVER-27410 Make the lint task required by compile on Enterprise RHEL 6.2
  • SERVER-29301 Upgrade MozJS to ESR 45.9.0
  • SERVER-29359 Enable SO_KEEPALIVE on egress server connections
  • SERVER-30290 Use unique paths in ftdc_setdirectory.js
  • SERVER-30557 Make max_time_ms.js more robust
  • SERVER-31400 Record Linux netstat metrics in ftdc
  • SERVER-31562 dump replica set oplogs at the end of every failed test
  • SERVER-32688 FSM replication suites should give secondaries zero votes
  • 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-32898 Create unit test for resmoke module archival.py
  • 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-33512 Add PeriodicKillSecondaries hook to archive list
  • 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-34540 Remove sleeptest from dbtests
  • SERVER-34624 Remove C++ 14 builder from 3.4
  • SERVER-34742 Stop running ssl_cert_password.js on OS X
  • SERVER-34823 Thread name and connection number are not synchronized in TransportLayerLegacy
  • SERVER-34835 Fix shard_does_not_hang_on_bad_config_server.js to accept either HostUnreachable or ExceededTimeLimit
  • 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-34950 Use new sys-perf baseline 3.4.14-Baseline
  • SERVER-35051 Resmoke should stop the balancer before shutting down sharded clusters
  • SERVER-35071 Split MMAPv1 tasks into separate variants in sys-perf
  • SERVER-35108 Enable signal processing in system_perf.yml
  • SERVER-35155 Fix jstests/ssl/x509_invalid.js using explicit X509 client names
  • SERVER-35207 Don’t use json.get_history in system_perf.yml
  • SERVER-35264 compile fails on sys-perf-3.4 // SERVER-34380
  • SERVER-35610 Refine LDAP options parsing
  • WT-3557 Make test/format ignore unknown keywords
  • WT-3710 Fix a race condition between concurrent page splits
  • WT-3994 Enhance WiredTiger Jenkins pull request tester for old branches
  • WT-4032 parent pages can be evicted while being split.
  • WT-4037 WT_REF structures freed while still in use
  • WT-4045 Don’t retry fsync calls after EIO failure

3.4.15 Changelog

Security

  • SERVER-31893 Explicitly define timeout for synchronous LDAP calls
  • SERVER-34193 Limit recursive definition ASN.1 types with OpenSSL update
  • SERVER-34477 Coverity analysis defect 103475: Invalid iterator comparison

Sharding

  • SERVER-16802 Order of balancer chunk moves depends on order of config.collections
  • SERVER-22553 mongos_shard_failure_tolerance.js should not rely on order of shard ids
  • SERVER-27941 Remove the shardVersion check when entering the critical section.
  • SERVER-28670 Add sharding metadata refresh metrics section to serverStatus
  • SERVER-28981 Sharding balancer prefers shards in a specific order when moving chunks
  • SERVER-32885 Overlap chunk clone application on the donor with fetching documents from the recipient
  • SERVER-34508 Prevent race condition in Migration Destination Manager from swallowing an exception
  • SERVER-34571 Invariant fails in destructor of MigrationChunkClonerSourceLegacy on shutdown

Replication

  • SERVER-29949 InitialSyncerResetsOptimesOnNewAttempt unit test should set optime before starting initial syncer
  • SERVER-33026 SyncSourceFeedback request doesn’t have a timeout

Storage

WiredTiger

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

Operations

  • SERVER-12644 Move note about noprealloc hurting performance to startup warnings
  • SERVER-28369 Give mongoldap a ‘debug’ mode

Build and Packaging

Tools

  • TOOLS-17 mongodump –oplog should record the end oplog entry before backing up the oplog
  • TOOLS-1706 mongoreplay cannot safely terminate on one core
  • TOOLS-1779 stop building tools on solaris on all branches
  • 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

Internals

  • SERVER-21630 Expand resmoke’s CheckReplDBHash support to config servers and sharded replica sets
  • SERVER-24480 The Validate hook should run after CheckReplDBHash
  • SERVER-24759 Run resmoke.py collection validation on the config servers
  • SERVER-25771 valgrind fails with boost::math::erfc_inv(long double, long double): Overflow Error
  • SERVER-27351 Deleted files cause lint failure on evergreen
  • SERVER-27529 scons msi target is failing do to missing dependencies
  • SERVER-27643 Stack locator can return invalid stack size when stack size ulimit is unlimited
  • SERVER-28989 Avoid dropping dummy database in ReplSetTest.prototype.checkReplicaSet()
  • SERVER-30857 when i try to launch ./mongo instance its crash right away even it show on other hand connection accepted from 127.0.0.1:54008 #1 (1 connection now open)
  • SERVER-30900 remove collMod writeConcern argument from ReplSetTest.checkReplicaSet()
  • SERVER-31128 run_validate_collections hook doesn’t check secondaries
  • SERVER-31441 Make run_validate_collections.js validate all nodes in replica set in parallel
  • SERVER-31468 replSets/startParallelShell.js should wait for its parallel shells to exit
  • SERVER-33068 run_check_repl_dbhash.js hook exits without actually running dbhash on a replica set
  • SERVER-33329 Server and Shell do not emit TLS “protocol_version” alert messages
  • SERVER-33398 Add the new finer grained sys-perf tasks
  • SERVER-33484 Code coverage can’t distinguish between files with identical names
  • SERVER-33670 Build mongo binaries with -ssl compile flag in system_perf.yml
  • SERVER-33734 Improve jsTestLog filterability
  • SERVER-33805 Change Jepsen tasks running in Evergreen to use mongobridge
  • 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-34116 resmoke.py is silently not running non-passthrough tests on the 3.4 branch
  • SERVER-34140 remove multiple distro specification for single tasks in evergreen configs
  • SERVER-34213 testshard1.js should use _ids of [0, nItems -1] instead of [1, nItems]
  • SERVER-34237 Expose means for shell to disable TLS 1.0
  • SERVER-34605 Change Jepsen tasks to run on the ubuntu1604-build distro in Evergreen
  • SERVER-34667 data_consistency_checks.js incorrectly assumes that the config.mongos collection always exists
  • TOOLS-1665 Mongotools may block forever on dead connections
  • TOOLS-1704 Update mongo-tools projects to use macos-1012 distro instead of osx-1010
  • TOOLS-1941 Tools qa-tests often timeout, particularly on server latests
  • TOOLS-1978 tools fail eslint testing
  • TOOLS-2003 Drop SUSE11 from Evergreen builds
  • TOOLS-2008 Tests fail on v3.4-master branch
  • WT-3972 Allow more than 64K cursors to be open on a data source simultaneously
  • WT-3975 arg format mismatch after rwlock changes
  • WT-3994 Enhance WiredTiger Jenkins pull request tester for old branches
  • WT-4032 parent pages can be evicted while being split.

3.4.14 Changelog

Security

SERVER-32933 Allow mongod to start when unable to reach LDAP server

Sharding

  • SERVER-29812 RangeDeleter unnecessarily waits for ‘majority’ write concern
  • SERVER-31979 Chunk migration statistics are not recorded in the moveChunk.commit changelog entries
  • SERVER-32886 Unnecessary sleeps during chunk migration
  • SERVER-33228 Remove the half-implemented and unused CollectionRangeDeleter from the 3.4 codebase

Replication

  • SERVER-28151 Authentication database should be synced first during an initial sync
  • SERVER-31399 repl.apply.batches.totalMillis does not record the time spent applying batches
  • SERVER-31671 Cancel running elections if the term changes after writing my last vote
  • SERVER-33448 Relax time diff requirements in apply_batches_totalMillis.js

Query

  • SERVER-31161 Index created through applyOps command should not inherit collection default collation
  • SERVER-33092 elemMatchProjection.js incorrectly assumes that shell generates monotonically increasing _id values

Storage

  • SERVER-28594 non-atomic applyOps should log each individual op
  • SERVER-32533 In oplog truncate with WT, don’t use a start key
  • 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

Operations

  • SERVER-30114 Monitor cumulative time spent in tcmalloc spin lock
  • SERVER-33227 Using the method connect in a script will as a side effect update global db.

Build and Packaging

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

Internals

  • SERVER-23420 Remove use of GNU extensions in parse_number_test.cpp
  • SERVER-28495 FTDC for MongoS
  • SERVER-29938 Refactor FTDC
  • SERVER-30158 FTDC starts too early in mongos
  • SERVER-30850 startParallelShell cannot be used in a shell started with a replica set connection string
  • SERVER-31222 JSFiles source member should not be a reference
  • SERVER-32241 applyOps reports success even when a nested applyOps fails.
  • SERVER-32522 set_read_and_write_concerns.js treats mapReduce “out” field like aggregation’s $out stage
  • SERVER-32583 Sys-perf update bootstrap variables to use proper ConfigDict Names
  • SERVER-32691 Create passthrough for w=”majority” with 2-node replica set to address lost test coverage
  • 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-33236 Update perf.yml to use ssh form of git clone
  • SERVER-33572 Provide a bounded, interruptible, thread safe, producer consumer queue
  • SERVER-33751 Auth when connecting to an existing cluster in ReplSetTest
  • SERVER-33760 Backport WithLock to 3.4
  • WT-3245 Avoid hangs on shutdown when a utility thread encounters an error
  • WT-3904 Reconsider error path in log server thread
  • WT-3938 Reduce memory usage with many tables and sessions
  • WT-3946 Truncate segfault with a NULL start cursor
  • WT-3962 WiredTiger turtle file “MoveFileExW: Access is denied.” error.

3.4.13 Changelog

Operations

SERVER-33238 Prevent WiredTiger read ticket count from going negative

Internals

SERVER-32664 Sys-perf enable running baselines at lower priority

3.4.12 Changelog

Sharding

SERVER-32924 tag skip_sharding_configuration_checks test with requires_persistence tag

Query

SERVER-33089 Unable to start queryable mongod because it failed to regenerate index for admin.system.users

Storage

SERVER-31462 convertToCapped + renameCollection may cause a segfault

Operations

Build and Packaging

SERVER-32932 When testing SLES 12 packages make sure required repos exist

Internals

  • SERVER-28396 resmoke.py’s logkeeper client should respect size limit for POST requests by splitting them up
  • SERVER-32243 Add an option to have the validate hook skip some collections.
  • SERVER-32527 Update package tests to use new BUILD2 VPC
  • SERVER-32740 Set bootstrap.ycsb_dir and bootstrap.workloads_dir in system_perf.yml
  • SERVER-32772 dbtest task in Evergreen should write to task directory
  • SERVER-32891 Sys-perf change order of mongodb_setup and workload_setup calls
  • SERVER-32896 Upload dsi-artifacts.yml in system_perf.yml
  • SERVER-32931 System failure of burn_in_tests on v3.4 when no tests have been changed

3.4.11 Changelog

Security

  • SERVER-28662 Do not pass NULL baseDN to ldap_search
  • SERVER-31625 The contents of {USER} needs to be escaped when querying for the groups using LDAP server
  • SERVER-32086 Suppress LDAP user cache invalidation log message by default

Sharding

  • SERVER-19919 Chunks that exceed 250000 docs but are under half chunk size get marked as jumbo
  • SERVER-29293 Recipient shard fails to abort migration on stepdown
  • SERVER-29397 Invariant failure on config server when inserting tag into config.tags
  • SERVER-29423 Sharding balancer may schedule multiple migrations with the same source or destination
  • SERVER-31982 Shard does not call config commit chunk migration command with majority writeConcern nor checks for writeConcern errors.
  • SERVER-32569 Introduce uniform way to allow config servers and shard replica sets to start in non-cluster mode

Replication

  • SERVER-19605 Oplog timeout should be configurable
  • SERVER-27067 Some Commands do not wait for write concern for no-op writes
  • SERVER-28486 backup_restore.js should wait for FSM and CRUD operations to complete on all secondaries before getting current primary
  • SERVER-29090 Nodes should provide more information on why they reject a vote
  • SERVER-29649 Add startupWarning when a replset node is running with –nojournal but hasn’t set writeConcernMajorityJournalDefault to false
  • SERVER-29937 Make sure liveness timeouts cannot be missed
  • SERVER-30143 Raise oplog size in clean_shutdown_oplog_state.js
  • SERVER-30648 Set GlobalLockAcquisitionTracker after we waitForLock
  • SERVER-30715 Print replica set config on logRotate
  • SERVER-31262 Storage of _rbidCommandHandle can race with destruction of SyncSourceResolver
  • SERVER-31587 ReplBatcher has a long-running OperationContext
  • SERVER-31589 A primary’s SyncSourceFeedback only renews an OperationContext on role changes.
  • SERVER-32030 SyncTail::oplogApplication uses a long-running OperationContext (3.2/3.4)

Query

  • SERVER-21011 Certain queries against compound 2d/text indexes are incorrectly covered, return incorrect results
  • SERVER-29270 oplog query for first entry should not use a blocking sort
  • SERVER-32046 Arrays of certain NumberDecimals can trigger an invariant failure

Write Operations

  • SERVER-31531 feature compatibility version writes must check for writeErrors
  • SERVER-32048 Updates using a numeric path component may cause index entries not to be created

Aggregation

  • SERVER-30009 MapReduce failure: missing ) in parenthetical
  • SERVER-30449 ProjectionSpecValidator is O(N**2) in number of fields in the projection
  • SERVER-31624 Upgraded 3.2 to 3.4, $geoNear aggregate fails with featureCompatibilityVersion 3.4 collation error

Storage

  • SERVER-30406 renaming system.views does not correctly invalidate the view catalog
  • SERVER-31101 WT table not dropped after collection is dropped due to long-running OperationContext
  • SERVER-31149 Enable recovery progress messages
  • SERVER-31215 Enable pthread cond monotonic on Linux for WiredTiger
  • SERVER-31469 WiredTiger queryable restore engine does not export init function symbol on windows
  • SERVER-31590 WT yieldAndAwaitOplogDeletionRequest holds onto an OperationContext while blocking for an infrequent trigger
  • SERVER-31930 EphemeralForTest does not unindex records in capped collections on rollback.
  • SERVER-32001 unindexing a key in a partial unique index may cause server crash
  • SERVER-32242 Fix race in CompatibleFirstStress lock manager test

Operations

  • SERVER-28072 Running a script using ‘mongo’ on replication set fails
  • SERVER-29921 Mongo connection uri doesn’t support @ character in database name
  • SERVER-30702 Stop printing stack traces in masserts
  • SERVER-31046 Remove sensitive information from logging of parsed options during mongod startup

Build and Packaging

  • SERVER-30853 Update Mongod init scripts to set unlimited locked memory
  • SERVER-31016 return type ‘std::1::cv_status’ must match previous return type ‘std::1::cv_status::__lx’ when lambda expression has unspecified explicit return type
  • SERVER-32271 Bump minimum MacOS version to 10.8 on stable branches
  • SERVER-32286 Remove Type=forking from Debian SystemD service file

Internals

  • SERVER-27801 external_auth tests should define KRB5CCNAME per test
  • SERVER-29259 Authentication/Authorization indexes not created on initial document insertion
  • SERVER-29623 Fix system_authorization_indexes.js on inMemory storage engine
  • SERVER-30482 Mongos should not close sessions to below the configured ShardingTaskExecutorPoolMinSize
  • SERVER-30565 burn_in_tests.py shouldn’t cause compile task to fail
  • SERVER-30634 Git detects all files as having changed on Windows causing burn_in_tests task to time out in Evergreen
  • SERVER-30649 Check whether each expression inside of $elemMatch is compatible with a given index
  • SERVER-30720 Integer overflow in SharedBuffer::grow_reallocate
  • SERVER-30770 system_perf.yml: Use new DSI interface and cleanup
  • SERVER-31119 Compilation fails with boost 1.62
  • SERVER-31225 The mongod process forks before listening for connections
  • SERVER-31379 Make ldap_authz_authn.js expect recently added LDAP groups
  • SERVER-31380 Add metrics related to tcmalloc acquiring and decommitting memory from system
  • SERVER-31440 Connpool HostTimeout races with callback lock acquire/release
  • SERVER-31505 Simplify Snappy compressor
  • SERVER-31516 NamespaceString’s no-arguments constructor results in an improperly initialized object, can later cause segfault
  • SERVER-31621 Sync buildscripts/scons.py across branches
  • SERVER-31670 Change replica set fixture used by replica_sets_jscore_passthrough to make its secondary have zero votes
  • SERVER-31717 Force C locale on Ubuntu 16.04 builders
  • SERVER-31818 Add server parameter to disable MarkThread{temporary}Idle
  • SERVER-31827 Make multi_rs.js wait for secondary status after stepdown in upgradePrimary
  • SERVER-31957 Remove the timeseries support from etc/system_perf.yml
  • SERVER-31997 Add additional unittesting for CompatibleFirst policy
  • SERVER-32044 Use parameterized branch_name in performance projects
  • SERVER-32061 Update ldap_authz_authn.js to reflect LDAP test server changes
  • SERVER-32087 Run test stage of sys-perf and mongo-perf failures should lead to red evergreen boxes
  • SERVER-32260 Call workload_setup.py from mongo repo
  • SERVER-32410 Validate User::CredentialData before attempting to perform authentication
  • SERVER-32704 sys-perf: Skip validating oplog as enabled by SERVER-32243
  • SERVER-32788 Update “secondary performance” sysperf test to use nonvoting secondaries
  • WT-3079 Make sure eviction visits all trees
  • WT-3248 Performance degradation in workload with large overflow items
  • WT-3296 LAS table fixes/improvements
  • WT-3303 Deadlock during first access to lookaside table
  • WT-3370 Heap use after free in txn recover code
  • WT-3379 Avoid a performance regression on secondaries
  • WT-3618 WT remove solaris from evergreen builds
  • WT-3643 Recovery does not run after database opened with recover=error
  • WT-3681 Don’t truncate the last log file in recovery
  • WT-3776 Cursor remove operation unpins page too early

3.4.10 Changelog

Security

  • SERVER-25855 Increase more timeouts in mongos_cache_invalidation.js
  • SERVER-28727 mongoldap should not print each acquired role’s database inline

Sharding

  • SERVER-29932 add asserts to mapReduce_inSharded_outSharded.js
  • SERVER-30825 blacklist shard_existing_coll_chunk_count.js from the continuous config stepdown suite
  • SERVER-31049 View with collation doesn’t work as expected in sharded cluster
  • SERVER-31091 The config server balancer stop command does not obey maxTimeMS
  • SERVER-31111 Add assert.commandWorked to migrateBig_balancer.js
  • SERVER-31204 Calling shardCollection after enableSharding may fail if executed against different mongos

Replication

  • SERVER-29772 Provide option to 3.2 and 3.4 to allow initial sync to complete even when it encounters renameCollection entries
  • SERVER-30830 applyOps should return NamespaceNotFound when applying a CRUD operation on a non-existent collection/database
  • SERVER-30840 extend timeout in replsets/index_delete.js (3.4 only)
  • SERVER-30842 Don’t try to set last optime for client backwards after rollback
  • SERVER-31467 Blacklist initial_sync_rename_collection_unsafe.js from 3.2 initial sync variant

Query

  • SERVER-31139 mongod fatal error after issuing $text index find containing nested non-text fields as the index prefix
  • SERVER-31366 profile_getmore.js does not tolerate killCursors command

JavaScript

  • SERVER-29651 Interrupt signal is ignored when received inside certain functions.
  • SERVER-30362 JavaScript DBCollection.toString() stops working
  • SERVER-30502 –disableJavaScriptJIT does not disable JIT

Storage

  • SERVER-15723 Avoid G_X lock for rename_collection within database
  • SERVER-28637 wiredtiger journal files accumulate with each server start/stop
  • SERVER-30927 Use readConcern afterClusterTime for initsync oplog queries
  • SERVER-31403 Disable mongo-rocks variant on v3.2 and v3.4

Operations

  • SERVER-19076 printShardingStatus/sh.status should pass a decent indent to tojson() for shard keys
  • SERVER-28821 MozJS ASAN integration should not invariant that all memory was freed
  • SERVER-30361 mongod.conf bindIp option accept bogus parameters
  • SERVER-30769 Mongo shell throws ‘exception during autocomplete’
  • SERVER-31176 mongo shell should use stderr for password prompt

Build and Packaging

  • SERVER-23516 Using apt-get update chowns user to mongodb
  • SERVER-30166 Use of string instead of std::string in some source files prevents compilation
  • SERVER-30558 Remove Solaris builds from master
  • SERVER-31197 building.md GCC version requirement out-of-date
  • SERVER-31338 RHEL compile task failing in drivers nightly 3.4 branch

Internals

  • SERVER-21933 Update README
  • SERVER-29087 system-perf.yml needs to be changed to use the new name for the timeseries html file
  • SERVER-29287 Upgrade pcre to 8.41
  • SERVER-29524 sys-perf: Call infrastructure_provisioning.py instead of infrastructure_provisioning.sh
  • SERVER-29565 Remove sys-perf compare tasks
  • SERVER-30045 Debug symbols for unittest binaries are not uploaded on non-GDB platforms
  • SERVER-30117 FeatureCompatibilityVersion::onInsertOrUpdate should only write to the server parameter on commit
  • SERVER-30241 Attach workloads html to evergreen task
  • SERVER-30891 perf.yml: make the -repl variants run frequently
  • SERVER-30938 Enable ycsb-wmajority tests in system_perf.yml
  • SERVER-31006 Use the latest release of curator on all branches
  • SERVER-31108 Update baseline tag for microbenchmarks
  • SERVER-31271 don’t use nspr allocator for js threads for better ASAN
  • SERVER-31273 Use Source/Sink version of snappy functions
  • SERVER-31427 Disable stepback for Enterprise SLES 11/12 and Ubuntu1604 s390x
  • SERVER-31527 Rebaseline sys-perf after adjusting tests (3.4.9 and 3.2.17)
  • WT-3263 Allow archive on restart/recovery if clean shutdown
  • WT-3264 Permanent change to disable logging should eventually remove all logs
  • WT-3284 tree-walk restart bug
  • WT-3308 Add statistics tracking around yield loops
  • WT-3351 Recovery assertion failure: old_lognum < lognum
  • WT-3406 Reconciliation is choosing reserved records for writing.
  • WT-3461 Avoid long sleeps when the system clock is adjusted
  • WT-3470 Avoid a metadata cursor open for table open/drop
  • WT-3533 eviction handle walk can race with handle re-open
  • WT-3590 Keep data consistent if writes fail during a clean shutdown

3.4.9 Changelog

Sharding

  • SERVER-20392 Sharding an existing small collection results in large number of chunks
  • SERVER-30183 a moveChunk that joins the active moveChunk on a shard may not respect its waitForDelete
  • SERVER-30487 RangeDeleter holds WT transaction open while waiting for majority
  • SERVER-30636 RangeDeleter assert failed because of replication lag

Replication

  • SERVER-28277 Need to increase timeout in read_committed_with_catalog_changes.js
  • SERVER-29802 Non-atomic applyOps command should not take out a global exclusive lock
  • SERVER-30554 relax locking mode in applyOps when applying CRUD-only ops non-atomically

Query

SERVER-30189 Reduce calls to allocator for large $in expressions

Write Operations

SERVER-27317 Inserting a document with a Decimal128 value when featureCompatibilityVersion is 3.2 results in a closed socket

JavaScript

  • SERVER-30875 Add support for a “no-owned bson” mode for JS Scopes
  • SERVER-30971 Use of “scope” field in mapReduce triggers BSONObj ownership error

Storage

  • SERVER-26239 Improve handling of WT_CACHE_FULL for inMemory storage engine
  • SERVER-30490 Compile RocksDB with USE_RTTI=1
  • SERVER-30790 ServerStatus on WiredTiger accesses the storage engine without any locks

Build and Packaging

  • SERVER-29686 Remove /var/lib/mongodb from mongodb-org[-unstable] deb metapackage
  • SERVER-30562 avoid running many duplicate ARM64 tests for the community build

Internals

  • SERVER-26377 Skip running FSM workloads that use the compact command on the LSM build variant
  • SERVER-26824 Skip FSM workloads which rely on nUpserted or nRemoved when Balancer is enabled
  • SERVER-28824 Unhandled hang analyzer exception escapes loop to get threads from each process
  • SERVER-29431 initialsync.js does not verify that initial sync succeeds
  • SERVER-29714 Add Exception Message to Validate_Locale.cpp
  • SERVER-30509 Update Evergreen API URL in burn_in_tests.py
  • SERVER-30643 Performance regression with SSL
  • WT-3329 With a uniform workload and a number of small collections, eviction does a poor job of selecting candidates for eviction.
  • WT-3438 Don’t tune eviction thread count when the count is fixed
  • WT-3499 Checkpoint can miss not yet committed item

3.4.7 Changelog

Sharding

  • SERVER-29817 Optimize incremental update performance of ChunkManager and CollectionMetadata
  • SERVER-30058 Balancer policy should not move chunks off shards on ‘size exceeded’ conditions
  • SERVER-30060 Optimize the sharding balancer’s cluster statistics gathering

Replication

  • SERVER-27581 shouldRetry() logic in multiInitialSyncApply_noAbort() is over-aggressive
  • SERVER-28192 priority_takeover_one_node_higher_priority jstest needs longer stepDownGuard
  • SERVER-28677 InitialSyncer::_setup_inlock() should reset last applied and durable optimes.
  • SERVER-29015 TopologyCoordinator should not transition to candidate role in a single node replica set if we are in maintenance mode
  • SERVER-29240 Add test to ensure valid index creation for capped collections that roll over during initial sync
  • SERVER-29282 BSON Document Size can be exceeded when grouping inserts on SECONDARY nodes
  • SERVER-29297 stepUp should wait for durability in awaitReplication
  • SERVER-29383 When catchUpTimeoutMillis is 0, we should skip doing catchup entirely
  • SERVER-29540 awaitNodesAgreeOnPrimary should log why it retries
  • SERVER-30049 applyOperation_inlock() allows exceptions from Collection::insertDocument() to percolate to caller
  • SERVER-30054 update tags.js to make nodes at indexes 3 and 4 unelectable
  • SERVER-30138 make node 1 unelectable in initial_sync_invalid_views.js (3.4)
  • SERVER-30139 Increase waitForState timeout in replsetprio1.js
  • SERVER-30411 (3.4) last_vote.js should make assertCurrentTerm exception safe

Query

SERVER-29299 remove evalc.js and add currentOp to basicPlus.js’s background operations.

Storage

  • SERVER-27831 Deadlock when listing collections on “local” database with replication enabled for KVCatalog-based storage engines without document locking
  • SERVER-28737 Have ephemeralForTest use std::mutex for protecting its internal data structures

Build and Packaging

  • SERVER-28171 Use Python 2.7 for all python invocations in evergreen.yml
  • SERVER-30199 ‘SConfBase’ object has no attribute ‘CheckBoostMinVersion’

Tools

  • TOOLS-1109 failes to build on arm64 (syscall.Dup2 not supported)
  • TOOLS-1741 mongoimport –uri throws errors when passed Atlas Connection String URI

Internals

  • SERVER-26452renameCollection should handle write conflicts
  • SERVER-28046 Increase timeouts in replsets/read_committed_on_secondary.js to 10 minutes
  • SERVER-28596 Upload hanging or failing tests in compile_all to S3
  • SERVER-28991 Eliminate having individual threads in resmoke.py for flushing log output to logkeeper
  • SERVER-29035 Update system-perf.yml baseline references
  • SERVER-29327 Prevent DBDirectClient queries from storing MaxTimeMS on cursors
  • SERVER-29568 Enable configuration of OpenSSL cipher suite via setParameter
  • SERVER-29886 Hang analyzer shouldn’t produce core dumps on ASan builders
  • SERVER-29947 Implement Storage Node Watchdog
  • SERVER-30132 Storage Node Watchdog needs to check journal directory
  • SERVER-30169 Increase Watchdog Test timeouts
  • SERVER-30415 Exclude new “evergreen” agent binary name from automatic process killing in Evergren
  • SERVER-30433 Increase Watchdog Test timeouts
  • TOOLS-1542 dump and export shouldn’t count views before running
  • TOOLS-1563 windows tests are failing after use mongodb 3.4 “current” tests
  • TOOLS-1577 update the readme with information about mongoreplay
  • TOOLS-1713 Move mongoreplay evergreen config .evergreen.yml into common.yml
  • TOOLS-1743 legacy24 and legacy26 dumprestore tests failing on master

3.4.6 Changelog

Sharding

  • SERVER-27789 Increase timeouts in commandsthat_write_accept_wc*
  • SERVER-28351 blacklist move_stale_mongos.js and split_stale_mongos.js from the continuous stepdown suite
  • SERVER-28418 make the split command on mongod return a stale version error if the requested chunk bounds are not found
  • SERVER-29489 Balancer stats generation calls ‘listDatabases’ on shards without maxTimeMS or timeout

Replication

  • SERVER-25765 Commands should wait for write concern even if they throw an exception
  • SERVER-26848 Exit catchup mode when not syncing more data
  • SERVER-28100 extend ReplSetTest.awaitNodesAgreeOnPrimary() to accept an optional expectedPrimaryIndex
  • SERVER-28186 Increase slaveDelay in repl10.js test
  • SERVER-28326 Wait for primary to stabilize in initial_sync4.js test after node is added to 1 node replica set
  • SERVER-28378 Extend secondary catch up period in priority_takeover_two_nodes_equal_priority.js
  • SERVER-28676 [v3.4] minor_version_tags_old_new_old.js should not use replSetStepUp command
  • SERVER-28677 InitialSyncer::_setup_inlock() should reset last applied and durable optimes.
  • SERVER-28751 Allow stepDown command to work against primary in catchup mode
  • SERVER-28803 Increase timeout for clean_shutdown_oplog_state.js
  • SERVER-28813 drop collection before doing dummy write in syncFrom helper
  • SERVER-28877 Cancel race in replication executor can cause elections to assert.
  • SERVER-28969 Wait until the voter has the latest optime in case 3 of catchup.js
  • SERVER-29056 InitialSyncer::_startupComponent should reset ‘component’ before returning CallbackCanceled due to shutdown
  • SERVER-29100 Wait for the same journaling requirement in get_last_error.js
  • SERVER-29240 Add test to ensure valid index creation for capped collections that roll over during initial sync
  • SERVER-29382 Fix cancel race related to the timeout in ReplicationCoordinatorImpl::CatchupState
  • SERVER-29536 apply_batch_only_goes_forward.js should be configured to use 2 electable nodes instead of 3

Query

SERVER-29197 Dangling index records when initial syncing node clones a capped collection that deletes records during collection scan

Aggregation

  • SERVER-28717 $lookup does not expand ‘localField’ as expected when it is a dotted path representing fields within an array
  • SERVER-29001 Stack overflow in views_test (–dbg=on –opt=off) due to long aggregation pipeline
  • SERVER-29618 $geoWithin in aggregation pipeline after $lookup and $unwind returns incorrect results
  • SERVER-29647 Avoid moving $match to be before $sort + $limit
  • SERVER-29676 arrayToObject should not error out on explicit value of null for value

Storage

  • SERVER-22322 Better error message for “no database” from listIndexes
  • SERVER-27347 Only close idle cached cursors on the WiredTiger ident that is busy
  • SERVER-29011 Compact Calls to WiredTiger take multiple overlapping WT_SESSION objects

Operations

  • SERVER-29075 Add remaining client metadata to the currentOp output
  • SERVER-29509 shell_history.js should tolerate extended file ACLs

Build and Packaging

  • SERVER-27260 systemd service files should not start mongod with –quiet
  • SERVER-29409 Reduce Amazon Linux Enterprise build to weekly
  • SERVER-29503 Migrate server build from 10.10 instances to new 10.12 instances

Internals

  • SERVER-28052 Make SHA1Hash a full fledged class
  • SERVER-28162 Tests that call getLatestProfilerEntry() should be blacklisted from dynamic initial sync passthrough suites
  • SERVER-28323 Don’t pass JavaScript scopes a function ID number
  • SERVER-28864 Intra-cluster compression on by default
  • SERVER-28960 Unittest “death tests” should not dump core
  • SERVER-28997 Limit SCRAM-SHA-1 Cache’s use of Secure Memory
  • SERVER-29040 Remove deprecated “run” argument in rpm systemd service file
  • SERVER-29148 Increase run time for mongos tests in sys-perf
  • SERVER-29237 Add maxConnecting in asio connpool
  • SERVER-29433 Improve logging during ReplicaSetFixture initialization
  • SERVER-29485 Use vendorized YCSB in sys-perf.yml
  • SERVER-29516 Tools build on OS X needs to set -mmacosx-version-min in CGO_{C,LD}FLAGS
  • SERVER-29527 Use infrastructure_provisioning.sh and infrastructure_teardown.sh
  • SERVER-29646 hang_analyzer.py should send a SIGUSR1 to resmoke.py before attaching to any processes
  • SERVER-29680 Update perf.yml microbenchmarks replset config
  • WT-3219 Make the clang-analyzer job fail when lint is introduced
  • WT-3297 support the gcc/clang -fvisibility=hidden flag
  • WT-3327 Checkpoints can hang if time runs backward
  • WT-3331 Test format aborted due to time rollback
  • WT-3362 Cursor opens should never block for the duration of a checkpoint
  • WT-3369 WT_CURSOR->uri should always match the URI used to open the cursor
  • WT-3373 Access violation due to a bug in internal page splitting

3.4.5 Changelog

Sharding

  • SERVER-28513 stale_mongos_updates_and_removes.js should only call ensurePrimaryShard once
  • SERVER-28850 Coverity analysis defect 100646: PW.PARAMETER_HIDDEN
  • SERVER-28854 Replace msgBase with msg in assertion detail
  • SERVER-28925 Use listDatabases({‘nameOnly’: true}) in the addShard implementation
  • SERVER-29016 Config primary may hang in shutdown waiting for Balancer
  • SERVER-29066 Sharded findAndModify will not implicitly create the database if it does not exist

Replication

  • SERVER-26360 After node goes into RECOVERING due to being too stale to sync from its source, it will never recover even if there is a valid sync source it could use
  • SERVER-26741 “Fatal Assertion 16360” triggered by temporary collections dropped when restarted in standalone mode
  • SERVER-27966 last_vote.js should wait for replication before stepping down node 0 pre-reconfig
  • SERVER-28387 Extend secondary catchup period during stepdown in server-23299-1.js
  • SERVER-28480 last_vote.js should use ReplSetTest::stepUp() on node 1 before reconfig
  • SERVER-28490 Check the state after acquiring the lock in bgsync
  • SERVER-28688 Deadlock between shutdown and stepdown
  • SERVER-28815 multi_rs.js - step down primary during upgrade/downgrade without {force:true}

Query

  • SERVER-26765 Move views tests into jsCore
  • SERVER-28952 Multikey indexes should not be eligible for DISTINCT_SCAN if distinct key is an array component

Storage

  • SERVER-28038 Improve WiredTigerRecordStore invariants for capped visiblity
  • SERVER-28357 MMAPv1 compact operation may trigger “quota exceeded” error (12501)
  • SERVER-28427 GlobalLock with timeout can still block indefinitely
  • SERVER-29088 Cache uuid in Collection class to fix perf regression

Operations

  • SERVER-15407 Set thread name on Mac OS X and Linux
  • SERVER-26634 Integrate GDB pretty printers for server vocabulary types

Build and Packaging

  • SERVER-29352 Disable SNMP integration for OS X enterprise builds
  • SERVER-26781 Add support for building with openssl 1.1.0
  • SERVER-27682 Add SCons variable files for the MongoDB GCC and clang toolchains

Internals

  • SERVER-19677 Intel library self-check in unit tests
  • SERVER-21842 Generate report.json file and dump stacks on Windows when Event object created by resmoke.py is set
  • SERVER-27279 pthread_setname_np is not supported on SUSE 11.4
  • SERVER-27281 pkill/pgrep cannot find mongod on Linux
  • SERVER-27285 Add a jsCore passthrough with a replset that periodically SIGKILLs a secondary
  • SERVER-27408 burn_in_tests.py doesn’t always exclude tagged tests when generating outfile
  • SERVER-27570 Enforce stricter checks on top level command BSON objects
  • SERVER-27727 Hide idle threads in hang_analyzer
  • SERVER-27869 Create a build artifact of hang_analyzer.py output and upload it to S3
  • SERVER-27870 Add option to invoke hang_analyzer.py with an explicit list of PIDs
  • SERVER-27871 Add hang_analyzer.py option to produce core dump, default to off
  • SERVER-27873 Dump a JavaScript backtrace of any code running in SpiderMonkey in hang_analyzer.py
  • SERVER-27874 Display locks and generate digraph for threads using LockManager locks and/or pthread_mutexes
  • SERVER-27877 hang_analyzer.py should deduplicate stacks from different threads in GDB
  • SERVER-28007 Re-enable support for CRC32 hardware acceleration on s390x
  • SERVER-28132 Remove sudo from hang_analyzer invocation in evergreen.yml
  • SERVER-28291 mongodb-uniqstack should dedupe based on frame.pc() rather than frame.name()
  • SERVER-28348 Detect single-process deadlocks involving LockManager locks and/or pthread_mutexes
  • SERVER-28349 Process output logs generated by hang_analyzer are missing stderr
  • SERVER-28354 Add new option to supply base process name in hang_analyzer
  • SERVER-28400 Update to Firefox ESR 45.8.0
  • SERVER-28415 Run thread backtrace before loading Python modules in hang_analyzer.py on ARM platform
  • SERVER-28416 Handle GDB error in hang_analyzer.py mongodb-uniqstack module
  • SERVER-28463 Add set scheduler-locking to Hang Analyzer to prevent threads from running in GDB
  • SERVER-28466 The hang analyzer should not attach to resmoke.py in Evergreen
  • SERVER-28479 hang_analyzer.py on OS X fails to find Python processes
  • SERVER-28584 Remove initialsync_{WT|MMAPv1}_dr tasks from sys-perf
  • SERVER-28588 Handle GDB error in hang_analyzer.py find_frame function
  • SERVER-28710 vectorized send() should handle EWOULDBLOCK
  • SERVER-28760 Add egress logging to legacy write path
  • SERVER-28868 Set noCursorTimeout option on oplog cursor in ReplSetTest.prototype.checkOplogs()
  • SERVER-28971 Error in depth_first_search algorithm incorrectly recurses on visited nodes
  • SERVER-28995 Format string in JstackDumper class of hang_analyzer.py has too few placeholders
  • SERVER-29018 3.4: mongos segfault in getMore on view with find batchSize of 0
  • SERVER-29068 Retry operations in set_feature_compatibility_version.js after network interruption

3.4.4 Changelog

Security

  • SERVER-27821 Make large_role_chain.js not run on DEBUG systems
  • SERVER-28014 When SSL mode is preferSSL, log connections that do not use SSL

Sharding

  • SERVER-20854 Don’t refresh database and collection information from config server while holding a mutex
  • SERVER-22611 ChunkManager refresh can occasionally cause a full reload
  • SERVER-27681 Better concurrency control on shard metadata refresh
  • SERVER-27701 mongos crashed with “Invariant failure remote.status.isOK()”
  • SERVER-28519 Bump verbosity for mongos and config servers in authCommands.js (v3.4)
  • SERVER-28697 Ignore some NoProgressMade errors in sharding_balance4.js
  • SERVER-28698 Use the ‘chunkDataCommitted’ failpoint for migration_critical_section_concurrency.js
  • SERVER-28807 parseShardKeyPattern can leak for bad inputs

Replication

  • SERVER-24498 Write tests for linearizable reads in a sharded system
  • SERVER-26360 After node goes into RECOVERING due to being too stale to sync from its source, it will never recover even if there is a valid sync source it could use
  • SERVER-26830 Randomize priority takeover timeout
  • SERVER-27098 review and fix log levels in DataReplicator
  • SERVER-27120 Increase synchronization between producer/applier threads and stepdown/stepup
  • SERVER-27329 Move BackgroundSync::_rollback into rs_rollback.cpp and unit test it
  • SERVER-27403 Consider term and rbid when validating the proposed sync source
  • SERVER-27543 Create new metadata for oplog queries
  • SERVER-27834 Index builds during initial sync should not implicitly create collections
  • SERVER-27966 last_vote.js should wait for replication before stepping down node 0 pre-reconfig
  • SERVER-27995 Make replication naming conventions consistent
  • SERVER-28135 stepdown.js should always fsyncUnlock() all secondary nodes
  • SERVER-28181 Deadlock involving the mutexes of oplog fetcher and replication coordinator
  • SERVER-28184 remove election_timing.js (and lib/election_timing_test.js)
  • SERVER-28185 remove reconfig_without_increased_queues.js
  • SERVER-28272 extend timeout in step_down_during_draining.js when waiting for new primary
  • SERVER-28275 fix misleading log message in ReplicationCoordinatorImpl::_startElectSelfIfEligibleV1()
  • SERVER-28278 Wait for desired sync source to replicate dummy write before running replSetSyncFrom in syncFrom shell helper
  • SERVER-28376 ReplSetTest.initiate() should call awaitReplication before requesting node 0 to step up as primary
  • SERVER-28377 Do not check that remote last applied is ahead of local last fetched in OplogFetcher first batch during initial sync
  • SERVER-28446 Blacklist top.js from dynamic initial sync suites
  • SERVER-28695 step_down_during_draining.js should wait for writes to be durable before disable replication on secondaries using fail point
  • SERVER-28699 ReplSetTest should always awaitSecondaryNodes() at the end of initiate

Query

  • SERVER-27711 createIndexes command no longer supports maxTimeMS option
  • SERVER-27761 view can be created on top of a view with different collation than underlying view
  • SERVER-27972 Add a featureCompatibilityVersion op observer for database/collection drop
  • SERVER-28121 DurableViewCatalog shouldn’t throw on null byte in view ns
  • SERVER-28498 Stop running the rlp* tasks on the “Enterprise RHEL 6.2 DEBUG Code Coverage” builder
  • SERVER-28546 documents can erroneously be unindexed from a partial index

Write Operations

  • SERVER-26703 Inserting deeply-nested documents should fail with error
  • SERVER-28347 Prohibit updates that cause documents to exceed the depth limit

Aggregation

  • SERVER-8433 Aggregating deeply-nested documents can cause stack overflow
  • SERVER-18794 Add an aggregation expression to convert an object to an array of key, value pairs
  • SERVER-23310 Add an expression to convert an array of pairs to an object
  • SERVER-27644 distinct on a view doesn’t “flatten” array members
  • SERVER-28409 Decrease verbosity during testshard1.js

JavaScript

SERVER-22520 Educate ASAN leak checker about js allocations

Storage

  • SERVER-22954 MigrationDestinationManager should not directly use MMAPv1 durable interface
  • SERVER-28548 mmap b-tree removals may cause index readers or writers to return invalid data
  • SERVER-28572 Update test case to use valid custom WiredTiger configuration values
  • SERVER-28645 Fail commands that require too many locks instead of crashing
  • SERVER-28646 Don’t report ops as passed if logOps causes txn to fail

Operations

  • SERVER-16821 Do not abort server when receiving multiple SIGUSR1 in the same second
  • SERVER-28380 Add a test-only clearLog command for clearing out RamLog, use it in tests when checking for a specific log message

Build and Packaging

  • SERVER-20540 Support compiling with split DWARF debug info
  • SERVER-28390 Mark link targets as Precious when incremental linking flags are enabled

Internals

  • SERVER-21539 Generate report.json file when resmoke.py receives a SIGUSR1
  • SERVER-26952 Cache SCRAM-SHA-1 ClientKey
  • SERVER-27191 hang analyzer should dump lock manager state
  • SERVER-27684 Remove the self-imposed 2 minute limit from hang_analyzer.py
  • SERVER-27687 ppc64le build incorrectly indicates pointer size of 32
  • SERVER-27691 ServiceContext::setKillAllOperations should be replaced with an operation that interrupts running operations
  • SERVER-27853 Fetch debug symbols before invoking hang_analyzer.py
  • SERVER-27854 initiate replicasets faster in replicaset.py
  • SERVER-27866 The globalLockManager dump should print thread ID in decimal & hex
  • SERVER-27868 Upload debug symbols on all build variants that create separate symbol files
  • SERVER-27875 Dump critical sections on Windows in hang_analyzer.py
  • SERVER-27876 hang_analyzer.py should deduplicate stacks from different threads in Windows debugger CDB
  • SERVER-28091 Disk stats collection on OS X only captures I/O utilization averaged over the uptime of the machine
  • SERVER-28169 Set eviction=(threads_min=1) in Microbenchmarks testing
  • SERVER-28259 Log time to establish egress connections through NetworkInterfaceASIO
  • SERVER-28329 Remove comparison tasks from Microbenchmarks
  • SERVER-28426 Update etc/longevity.yml to use run_test.py instead of run-${test}.sh
  • SERVER-28430 Expose dropConnections() method on ConnectionPool through the NetworkInterface
  • SERVER-28462 Update perf.yml to compare against latest stable release
  • SERVER-28489 MockStream should handle cancellation while it is paused
  • SERVER-28526 Update Evergreen API URL in burn_in_tests.py
  • SERVER-28530 SSLThreadInfo invokes constructor in destructor
  • SERVER-28547 sharding_continuous_config_stepdown suite doesn’t actually step any nodes down
  • SERVER-28586 “do jepsen setup” function should check out branch before trying to change to subdirectory
  • SERVER-28652 Add logging to track egress connection pool size
  • SERVER-28692 Move shell tarball generation to compile task
  • SERVER-28748 Set virtual memory ulimit in package smoke testing for mongo shell tests
  • SERVER-28823 burnin_tests.py does not use api server default due to missing _None check
  • WT-98 Update the current cursor value without a search
  • WT-2439 Enhance reconciliation page layout
  • WT-2990 checkpoint load live_open assertion failure
  • WT-3136 bug fix: WiredTiger doesn’t check sprintf calls for error return
  • WT-3155 Remove WT_CONN_SERVER_RUN flag
  • WT-3182 Switch make-check to run the short test suite by default
  • WT-3190 Enhance eviction thread auto-tuning algorithm
  • WT-3191 lint
  • WT-3193 Close a race between verify opening a handle and eviction visiting it
  • WT-3196 Race with LSM and eviction when switching chunks
  • WT-3199 bug: eviction assertion failure
  • WT-3202 wtperf report an error on in_memory=true mode : No such file or directory
  • WT-3203 bulk-load state changes can race
  • WT-3204 eviction changes cost LSM performance
  • WT-3207 Drops with checkpoint_wait=false should not wait for checkpoints
  • WT-3208 test format hung with 9mb cache
  • WT-3211 WT_CURSOR.remove cannot always retain its position.
  • WT-3212 ‘wt dump’ crashes when given table with unknown collator
  • WT-3213 generated test/format CONFIG invalid on next run
  • WT-3216 add support for clang-tidy
  • WT-3224 LSM assertion failure pindex->entries == 1
  • WT-3225 WiredTiger won’t build with clang on CentOS 7.3.1611
  • WT-3227 Python test suite inserts unnecessary whitespace in error output.
  • WT-3228 Remove with overwrite shouldn’t return WT_NOTFOUND
  • WT-3234 Update WiredTiger build for clang 4.0.
  • WT-3238 Java: Cursor.compare and Cursor.equals throw Exceptions for valid return values
  • WT-3240 Coverity reports
  • WT-3243 Reorder log slot release so joins don’t wait on IO
  • WT-3244 metadata operations failing in in-memory configurations
  • WT-3249 Unit test test_readonly fails as it is unable to open WiredTiger.lock
  • WT-3250 Incorrect statistics incremented on Windows
  • WT-3254 test_reconfig02 uses incorrect configuration string
  • WT-3262 Schema operations shouldn’t wait for cache
  • WT-3265 Verify hits assertion in eviction when transiting handle to exclusive mode
  • WT-3271 Eviction tuning stuck in a loop

3.4.3 Changelog

Sharding

Replication

  • SERVER-20844 Start ReplSetTests faster wrt initial election
  • SERVER-26914 improve log messages for freshness checking
  • SERVER-26918 backup_restore.js - nodes should agree on primary before starting FSM clients
  • SERVER-26930 backup_restore.js should await replication after fsm clients have stopped and hidden node has become secondary
  • SERVER-27035 rs.compareOpTimes() throws exception when comparing with empty OpTime
  • SERVER-27189 _getLastOpTime / _getDurableOpTime do not handle missing nodes gracefully
  • SERVER-27405 fix race in read_after_optime.js
  • SERVER-27488 Unblacklist bypass_doc_validation.js in static resync passthrough
  • SERVER-27551 QuorumChecker should retry requests that fail
  • SERVER-27783 Remove unnecessary lock in SyncSourceFeedback
  • SERVER-27791 increase write concern timeout in gle/block2.js and gle/get_last_error.js from 30 seconds to 5 minutes
  • SERVER-27794 Provide write concern to bulk insert in indexbg_drop.js
  • SERVER-27799 apply setParameter for maxSyncSourceLagSecs to slave 2 only in maxSyncSourceLagSecs.js
  • SERVER-27808 backup_restore.js should await replication and re-evaluate primary before adding new hidden secondary to replica set
  • SERVER-27810 Guarantee that replicaset is stable with node 0 as primary after ReplSetTest.initiate()
  • SERVER-27816 increase wtimeout in sync2.js
  • SERVER-27837 exclude rename collection FSM workload in backup_restore.js
  • SERVER-27839 Allow for step downs during reconfig in ReplSetTest initiate
  • SERVER-27840 add wtimeout to write concerns in protocol_version_upgrade_downgrade.js
  • SERVER-27844 increase timeout in repl/block2.js
  • SERVER-27847 increase timeout in apply_batch_only_goes_forward.js
  • SERVER-27861 Make the failover in drain.js more reliable
  • SERVER-27889 Change catchup.js to be resilient to replSetStepUp failing because the node is already a candidate
  • SERVER-27905 fix race in DataReplicatorTest::DataReplicatorReturnsCallbackCanceledIfShutdownImmediatelyAfterStartup
  • SERVER-28005 Oplog query network timeout is less than the maxTimeMs
  • SERVER-28013 Ensure ReplClientInfo’s last opTime can’t be moved backwards
  • SERVER-28037 Raise default writeConcern wtimeout in db.js to 10 minutes
  • SERVER-28041 remove awaitNodesAgreeOnPrimary() call in sync2.js
  • SERVER-28047 ReplSetTest._callIsMaster() should set slaveOk on primary
  • SERVER-28050 Reconnect connection after stepdown in read_committed_stale_history.js
  • SERVER-28075 Wait for DB works in simulateSuccessfulV1ElectionAt()
  • SERVER-28110 Set secondaryCatchUpPeriodSecs smaller when requesting remote primary stepdown

Query

SERVER-28017 $ne perform a case sensitive find when it should do a case insensitive find based on collation settings

Aggregation

  • SERVER-27253 $lookup and $graphLookup do not increment index stats counters
  • SERVER-27362 MapReduce can attempt to deregister a cursor without holding a collection lock

Storage

  • SERVER-3181 Add option to listDatabases to only get db names, not size info
  • SERVER-27807 creating a snapshot and registering it in the replcoord is not synchronous
  • SERVER-27857 Rewrite the remove_during_mr.js test as an FSM workload
  • SERVER-27936 fix improper release of locks in master/slave handleDuplicateDbName
  • SERVER-28049 List Databases command should apply filter on name only before database locks
  • SERVER-28249 Use TCMalloc MarkThreadTemporarilyIdle instead of MarkThreadIdle

WiredTiger

  • SERVER-28026 Disable auto-tuning of WiredTiger eviction threads

MMAP

  • SERVER-24963 Concurrent collection.drop() and system.indexes.count() can trigger an fassert
  • SERVER-27930 Accessing cursor with pending data after renaming collection may trigger fassert
  • SERVER-27996 Accessing system.namespaces cursor with pending data after removing namespaces may cause crash
  • SERVER-28022 Accessing cursor with pending data after forcing system.namespaces record move may cause crash

TTL

SERVER-28154 Race condition in ttl_sharded.js

Operations

  • SERVER-6065 db.shutdownServer() does not work as expected when mongod is a Windows Service
  • SERVER-16796 Increase logging activity for journal recovery operations
  • SERVER-27863 Reschedule early alarms in NetworkInterfaceASIO to avoid mongos crash

Build and Packaging

  • SERVER-25309 Add RHEL 6 zSeries build variant
  • SERVER-27623 SLES11 s390x build should target z9-109, not z196
  • SERVER-27836 Package smoke testing should retry verify step and not call converge
  • SERVER-27856 Stop running the concurrency suite on the ubuntu1604-arm64-large distro

Internals

  • SERVER-21675 Remove ‘legacy’ from Evergreen task names
  • SERVER-23959 option to allow disabling job object creation in smoke.py for win32
  • SERVER-26522 CleanEveryN output should be written to logkeeper
  • SERVER-26523 Replace raise errors.TestFailure with raise errors.ServerFailure in passthrough hooks where appropriate
  • SERVER-26642 JS compiled code string length limit on Windows
  • SERVER-27091 Add large dataset initialsync test into system performance test
  • SERVER-27234 Evergreen task disk statistics improvement
  • SERVER-27700 WT secondary performance drops to near-zero with cache full
  • SERVER-27784 Remove httpget() from packager.py
  • SERVER-27858 Increase the task timeout when running to the concurrency suite to 6 hours
  • SERVER-27920 Fix incorrect locking of Client context
  • SERVER-27935 Fix serialization of concurrent fsyncLock execution
  • SERVER-27963 Disable CRC32 hardware support on s390x builders
  • SERVER-27983 Move sys-perf state to /data from $HOME
  • SERVER-28000 sys-perf: Organize all dsi yaml config files under configurations/
  • SERVER-28067 Update sys-perf.yml to copy over cluster.json
  • SERVER-28086 Update system-perf.yml tagged commit
  • SERVER-28147 Increase time out on sys-perf shard tests
  • SERVER-28239 Fix double ticket holder release in transport layer legacy during primary step down
  • TOOLS-1605 Conditionally create a Windows job object in smoke.py
  • WT-2771 Add a statistic to track per-btree dirty cache usage
  • WT-2790 Fix a text case false positive in test_sweep01
  • WT-2833 improvement: add projections to wt dump utility
  • WT-2898 Improve performance of eviction-heavy workloads by dynamically controlling the number of eviction threads
  • WT-2909 Create automatable test verifying checkpoint integrity after errors
  • WT-2994 Create documentation describing page sizes and relationships
  • WT-3080 Python test suite: add timestamp or elapsed time for tests
  • WT-3082 Python test suite: shorten default run to avoid pull request timeouts.
  • WT-3083 Fix a bug in wtperf config dump
  • WT-3086 Add transaction state information to cache stuck diagnostic information
  • WT-3088 bug: Don’t evict a page with refs visible to readers after a split
  • WT-3091 Add stats to test_perf0001
  • WT-3092 Quiet a warning from autogen.sh
  • WT-3093 Padding the WT_RWLOCK structure grew the WT_PAGE structure.
  • WT-3097 Race on reconfigure or shutdown can lead to waiting for statistics log server
  • WT-3099 lint: static function declarations, non-text characters in documentation
  • WT-3100 test bug: format is weighted to delete, insert, then write operations.
  • WT-3104 Fix wtperf configs for eviction tests
  • WT-3105 Fix a deadlock caused by allocating eviction thread sessions dynamically
  • WT-3106 Add truncate support to command line wt utility
  • WT-3108 Also dump disk page size as part of metadata information
  • WT-3109 wording fix in transaction doc
  • WT-3110 Add more test cases for the WT command line utility
  • WT-3111 util_create() doesnt free memory assigned to “uri”
  • WT-3112 Handle list lock statistic not incremented in eviction server
  • WT-3113 Add a verbose mode to dump the cache when eviction is stuck
  • WT-3114 Avoid archiving log files immediately after recovery
  • WT-3115 Change the dhandle lock to a read/write lock
  • WT-3116 Python style testing in s_all may not execute correctly
  • WT-3118 Protect random-abort test against unexpectedly slow child start
  • WT-3120 Fix ordering problem in connection_close for filesystem loaded in an extension
  • WT-3121 In test suite create standard way to load extensions
  • WT-3126 bug: dist/s_all script has misplaced quote causing bad error reporting
  • WT-3127 bug: CPU yield calls don’t necessarily imply memory barriers
  • WT-3128 wt printlog returns operation-not-supported if it doesn’t find any log files
  • WT-3130 Ensure extensions have access to database home directory
  • WT-3134 Coverity scan reports 1368529 and 1368528
  • WT-3135 search_near() for index with custom collator
  • WT-3137 Hang in log_slot_join/log_slot_switch_internal
  • WT-3139 Enhance wtperf to support periodic table scans
  • WT-3143 Coverity scan report 1369053
  • WT-3144 bug fix: random cursor returns not-found when descending to an empty page
  • WT-3148 Improve eviction efficiency with many small trees
  • WT-3149 Change eviction to start new walks from a random place in the tree
  • WT-3150 Reduce impact of checkpoints on eviction server
  • WT-3152 Convert table lock from a spinlock to a read write lock
  • WT-3156 Assertion in log_write fires after write failure
  • WT-3157 checkpoint/transaction integrity issue when writes fail.
  • WT-3159 Incorrect key for index containing multiple variable sized entries
  • WT-3161 checkpoint hang after write failure injection.
  • WT-3164 Ensure all relevant btree fields are reset on checkpoint error
  • WT-3170 Clear the eviction walk point while populating from a tree
  • WT-3173 Add runtime detection for s390x CRC32 hardware support
  • WT-3174 Coverity/lint cleanup
  • WT-3175 New hang in internal page split
  • WT-3179 test bug: clang sanitizer failure in fail_fs
  • WT-3180 fault injection tests should only run as “long” tests and should not create core files
  • WT-3184 Problem duplicating index cursor with custom collator
  • WT-3186 Fix error path and panic detection in logging loops
  • WT-3187 Hang on shutdown with a busy cache pool
  • WT-3188 Fix error handling in logging where fatal errors could lead to a hang
  • WT-3189 Fix a segfault in the eviction server random positioning

3.4.2 Changelog

Sharding

  • SERVER-26562 Move CommitChunkMigration command implementation into a Catalog function and unit test it
  • SERVER-26785 rewrite addshard2.js to be able to unblacklist it from the last_stable suite
  • SERVER-26791 move/split/mergeChunk commands do a full metadata refresh on the shard
  • SERVER-26903 ShardingTest is failing non-retriable writes when the primary steps down because the stepdown suite turns the electionTimeoutMillis down from 10,000 ms to 5,000 ms
  • SERVER-27146 Enforce maxStalenessSeconds >= 90
  • SERVER-27258 A v3.4 config server can crash with a core dump if it gets an unsupported shard key from mongo S.
  • SERVER-27321 Rename ScopedChunkManager::getExisting to refreshAndGet
  • SERVER-27364 Remove DBConfig::setPrimary
  • SERVER-27366 Remove DBConfig::enableSharding
  • SERVER-27381 Remove DBConfig::dropDatabase
  • SERVER-27393 Balancer taking 100% CPU due to large number of dropped sharded collections
  • SERVER-27419 Move cluster ‘drop’ command to a separate file
  • SERVER-27428 MigrationChunkClonerSourceLegacy’s unit-tests do not wait for the onCommand handler thread to complete
  • SERVER-27460 RouterStageMerge::kill() can crash during mongos shutdown
  • SERVER-27466 move transitionToPrimaryHangBeforeInitializingConfigDatabase to before taking the global exclusive lock
  • SERVER-27473 Remove writes from DBConfig
  • SERVER-27480 Get rid of ConfigServer class
  • SERVER-27510 Compare only epochs instead of full chunk versions in CollectionMetadata::checkChunkIsValid()
  • SERVER-27526 Get rid of all non-metadata usages of DBConfig::isShardingEnabled
  • SERVER-27556 Cleanup sharding request processing code
  • SERVER-27613 Remove unused ‘chunkVersion’ field sent in splitChunk command
  • SERVER-27667 Get rid of the sharding Request class
  • SERVER-27726 Split ShardingCatalogManagerImpl into multiple .cpp files by category of operation
  • SERVER-27736 DBConfig should not store unsharded collections

Replication

  • SERVER-23759 shutting down a node while replication is initializing can crash
  • SERVER-25860 Flatten / optimize fixup_info
  • SERVER-26528 Add additional logging when sync source is changed or cleared
  • SERVER-26773 two_initsync.js should check that inserts succeed
  • SERVER-26945 master-slave ReplSource::resyncDrop should not assume database name obtained from listDatabases result exists locally
  • SERVER-26951 remove or improve replset9.js
  • SERVER-27046 race between CollectionCloner::_findCallback and CollectionCloner::_insertDocuments
  • SERVER-27050 Ensure upstream node doesn’t roll back after checking minvald
  • SERVER-27052 Add asynchronous operation support to DataReplicator
  • SERVER-27056 Don’t enforce data freshness for step-up command
  • SERVER-27079 DataReplicator should wait for last oplog fetcher to finish before starting next initial sync attempt
  • SERVER-27118 Default shutdown command’s ‘timeoutSecs’ argument to 10 seconds
  • SERVER-27123 Only update commit point via spanning tree
  • SERVER-27125 Arbiters in pv1 should vote no in elections if they can see a healthy primary of equal or greater priority to the candidate
  • SERVER-27154 replSetRequestVotes command should wait for durability
  • SERVER-27155 replSetRequestVotes records dryRun votes as real
  • SERVER-27157 replSetRequestVotes doesn’t synchronize between processing and recording request
  • SERVER-27216 Increase catchup timeout to 300 seconds in catchup.js
  • SERVER-27231 add failpoint to turn off re-evaluating sync sources, for jstests that manipulate chaining
  • SERVER-27282 Clean up and fix bugs in RS rollback error handling
  • SERVER-27295 always set slaveOk to true on remote commands in the old initial sync
  • SERVER-27301 converted OpObserver into an interface. ServiceContext should always return a valid OpObserver implementation.
  • SERVER-27323 Use stopOplogFetcher failpoint instead of rsSyncApplyStop failpoint in write_concern_after_stepdown_and_stepup.js
  • SERVER-27352 Fix stepdown command in double_rollback.js
  • SERVER-27365 reconfig_without_increased_queues.js should initiate node 2 of its replicaset with priority 0
  • SERVER-27397 Disable OplogFetcher sync source re-evaluation during initial sync
  • SERVER-27409 zbigMapReduce.js should use a write concern for inserts so it does not roll over its oplog
  • SERVER-27446 operation_latency_histogram.js fails in initial sync passthrough due to reads performed by the repl system
  • SERVER-27461 Retry connecting to shut down primary until failure in shutdown_primary.js
  • SERVER-27468 Do not run dynamic initial sync passthroughs on 3dot2 initial sync variant
  • SERVER-27523 geo_s2cursorlimitskip.js fails in initial sync passthrough due to reads performed by the repl system
  • SERVER-27544 shutdown_primary.js shouldn’t try to disable rsSyncStopApply failpoint on primary
  • SERVER-27582 lastVote is not properly initialized
  • SERVER-27583 SyncSourceFeedback should be shut down outside ReplicationCoordinatorExternalStateImpl lock
  • SERVER-27611 DatabaseCloner::shutdown() does not shut down CollectionCloner
  • SERVER-27624 SyncSourceFeedback should check for shutdown before setting _reporter
  • SERVER-27656 Ensure node 0 is not primary during reconfig in last_vote.js
  • SERVER-27657 last_vote.js should wait for reconfig to reach all nodes before continuing
  • SERVER-27677 CollectionBulkLoader::_releaseResources() should ensure there is a Client available
  • SERVER-27678 CollectionCloner should call _finishCallback at most once
  • SERVER-27680 Make bgsync check stopOplogFetcher failpoint before scheduling new OplogFetcher
  • SERVER-27712 Do not specify _id field in user_defined_roles_on_secondaries.js
  • SERVER-27741 fix race in DataReplicatorTest::DataReplicatorResetsOnCompletionCallbackFunctionPointerUponCompletion
  • SERVER-27775 fix race in collection_cloner_test CollectionClonerTest::CollectionClonerCannotBeRestartedAfterPreviousFailure

Query

  • SERVER-24027 The planner does not consider reversing index scan direction in order to obtain a SORT_MERGE plan
  • SERVER-26734 indexStats action is not sufficient privileges for $indexStats operator
  • SERVER-27042 Fix and modernize currentop.js
  • SERVER-27438 Legacy query via mongos drops $comment
  • SERVER-27449 set_feature_compatibility_version.js should not give votes to replica set members expected to crash
  • SERVER-27465 rewrite killop.js using setYieldAllLocksHang failpoint
  • SERVER-27525 collation.js should use test-specific database
  • SERVER-27584 Add support for filter to listDatabases
  • SERVER-27649 Don’t error on serialization of $elemMatch with $regex

Write Operations

SERVER-24563 Secondary crash when inserting document into db with different case

Aggregation

  • SERVER-25535 Remove injectExpressionContext() methods from pipeline directory
  • SERVER-27288 DocumentSourceSkip and DocumentSourceMatch getNext() should release GetNextResult reference prior to subsequent underlying source getNext() call
  • SERVER-27304 Create setParameter to make all aggregations which require merging select the primary shard as the merger
  • SERVER-27307 DocumentSourceCursor should store namespace as NamespaceString
  • SERVER-27406 Reduce DocumentSourceCursor batch size from 16MB to 4MB
  • SERVER-27420 Aggregation should explicitly parse apart BSON Arrays
  • SERVER-27527 Remove explicit shardingEnabled check for databases in M/R and aggregation

Storage

  • SERVER-25286 Remove drop2.js dependency on count scan yield behavior
  • SERVER-27243 Upgrade to 3.4 ‘create collection’ fails in Backup
  • SERVER-27256 Run getMore test in sharded configuration in views_authz.js
  • SERVER-27418 [trivial] Enable noPassthrough/index_version_v2.js test for MongoRocks
  • SERVER-27512 queryable_mmapv1 can encounter larger blocks than the default page size
  • SERVER-27591 Need to abandonSnapshot after unlocking in TTLMonitor

WiredTiger

  • SERVER-26545 Remove fixed-size limitation on WiredTiger hazard pointers

Operations

  • SERVER-26960 Consider improving error message when attempting $natural sort on a view
  • SERVER-27289 Shell: mongo –host replSet/Host:Port no longer works
  • SERVER-27576 MongoDB 3.4 ‘mongo’ shell quit() not working

Build and Packaging

SERVER-27450 Add i386 architecture to repo config yaml for debian and ubuntu.

Tools

  • TOOLS-1553 PreProcessing is failling with “got invalid document size”
  • TOOLS-1569 mongo-replay crashes during playback
  • TOOLS-1576 nil pointer derereference when error occurs

Internals

  • SERVER-24695 burn_in_tests.py should have a mechanism for blacklisting tests and suites similar to resmoke.py
  • SERVER-26308 Decrease number of jobs for sharding-related suites on Windows DEBUG and PPC variants
  • SERVER-26525 Factor out identical jstest checkLog functions and increase timeout
  • SERVER-26806 Randomly restart initial sync in the dynamic initial sync passthrough
  • SERVER-26860 add more unittests for compatible-first locking policy
  • SERVER-27126 Remove reference to mongodb-mongo-master Evergreen project in burn_in_tests.py script
  • SERVER-27175 Address slowness in Explain::getPlanSummary
  • SERVER-27208 Update microbenchmarks to use next mongo-perf release
  • SERVER-27232 Refresh and Setup timeouts in the ASIO connpool can prematurely time out an operation
  • SERVER-27306 Remove AutoGetCollection* methods that take std::string namespace
  • SERVER-27339 ReplSetTest shouldn’t inspect TestData directly
  • SERVER-27343 Reduce Frequency of sys-perf runs
  • SERVER-27350 Enable access control for microbenchmarks in Evergreen
  • SERVER-27370 MongoDB 3.4.0 with –rest segfaults if the route /isMaster is called
  • SERVER-27456 Microbenchmarks: Increase inMemorySizeGB and oplogSize
  • SERVER-27459 dbtest should set featureCompatibilityVersion to the most recent value during global initialization
  • SERVER-27568 mongo-perf: Release 2017-01
  • SERVER-27605 Reduce concurrency for jsCore_small_oplog_rs_resync_static, jsCore_small_oplog_rs_initsync and jsCore_small_oplog_rs_initsync_static
  • SERVER-27618 Make NetworkInterfaceASIO stress test less stressful
  • SERVER-27653 Blacklist Concurrency suite in burn_in_tests
  • SERVER-27754 Use requests instead of httplib2 in packager.py
  • TOOLS-1541 support exporting views
  • TOOLS-1549 –gssapiServiceName should not require –gssapiHostName in the tools
  • TOOLS-1559 TestCommandOpGetMoreLiveDB is failing after upgrade to 3.4 in evergreen
  • TOOLS-1579 Progress bar exceeding 100%
  • WT-283 Add a way to change persistent object settings
  • WT-2336 Add a test validating schema operations via file system call monitoring
  • WT-2402 Misaligned structure accesses lead to undefined behavior
  • WT-2670 Inefficient I/O when read full DB (poor readahead)
  • WT-2960 Inserting multi-megabyte values can cause pathological lookaside usage
  • WT-2969 Possible snapshot corruption during compaction
  • WT-3014 Add GCC/clang support for ELF symbol visibility.
  • WT-3021 Fixes needed for Java log cursor example, Java raw mode cursors, log cursors in raw mode
  • WT-3025 fix error path in log_force_sync
  • WT-3028 Workloads with all dirty pages could trigger diagnostic stuck check
  • WT-3030 Test failure indicating invalid key order during traversal
  • WT-3034 Add support for single-writer named snapshots.
  • WT-3037 Fix some outdated comments in logging
  • WT-3048 WiredTiger maximum size warning uses the wrong format.
  • WT-3051 Remove external __wt_hex symbol.
  • WT-3052 Improve search if an index hint is wrong
  • WT-3053 Review Python and Java calls to internal WiredTiger functions
  • WT-3054 Java PackTest, PackTest03 do not compile
  • WT-3055 Java AsyncTest faults
  • WT-3056 For cursors with projections, keys should be allowed
  • WT-3057 WiredTiger hazard pointers should use the WT_REF, not the WT_PAGE.
  • WT-3061 syscall test runs with checkpoint_sync=false and doesn’t acknowledge pwrite64
  • WT-3064 minor tree cleanups: .gitignore, NEWS misspelling
  • WT-3066 lint
  • WT-3068 Copy wtperf artifacts when running Jenkins tests
  • WT-3069 Fix build failures in LevelDB APIs
  • WT-3070 Fix search_near() for index cursor
  • WT-3071 Java: fix build with -Werror=sign-conversion
  • WT-3075 Document and enforce that WiredTiger now depends on Python 2.7
  • WT-3078 Fix a hang in the reconfiguration test.
  • WT-3084 Fix Coverity resource leak complaint.

3.4.1 Changelog

Security

SERVER-27194 Views should require both “viewOn” and “pipeline” to be specified if modifying view when auth is enabled

Sharding

  • SERVER-22657 Add invariants and write unit-tests for the legacy migration chunk cloner
  • SERVER-26832 Add tests for shell commands
  • SERVER-26849 Should join balancer thread on shutdown
  • SERVER-27071 ensure config.version doc cannot replicate to secondaries in config_version_rollback.js
  • SERVER-27078 Race in ShardRegistry initialization causes it to not update the config server connection string
  • SERVER-27102 force a ShardRegistry reload in the beginning of addShard to ensure a removed shard’s ReplicaSetMonitor has been detached
  • SERVER-27215 Some invariants in MigrationChunkClonerSourceLegacy are not applicable to broadcast multi-update and multi-delete

Replication

  • SERVER-27024 Write additional test for new replSetStepDown behavior
  • SERVER-27092 blacklist apply_ops1.js from dynamic initial sync passthroughs
  • SERVER-27110 clear OplogBuffer at the end of initial sync
  • SERVER-27117 set writeConcernMajorityJournalDefault to false in nojournal, inmem, and ephemeralForTest variants
  • SERVER-27124 Disallow readConcern:majority reads on pv0
  • SERVER-27164 Deadlock during oplog application when implicitly creating multiple collections on the same DB
  • SERVER-27176 Improve performance of command writeConcern parsing
  • SERVER-27196 add timeouts to stepdown_needs_electable_secondary.js
  • SERVER-27206 blacklist tests involving MapReduce from initial sync dynamic passthroughs
  • SERVER-27214 Disallow chaining in stepdown_needs_electable_secondary.js and stepdown_needs_majority.js

Query

  • SERVER-27197 Code BSON type should not be compared using a collation-aware string comparator
  • SERVER-27200 Comparison of the scope object in a BSON element of type CodeWScope should not respect the collation
  • SERVER-27207 Find on view with sort through mongos may incorrectly return empty result set
  • SERVER-27300 Disallow indexing of BSONType::Symbol with a non-simple collation

Aggregation

  • SERVER-27201 $graphLookup triggers null pointer dereference
  • SERVER-27213 Two $match stages combine incorrectly, yielding incorrect results.

Storage

  • SERVER-27203 Queryable WT incorrectly read config string
  • SERVER-27217 Allow nopreallocj to be specified in YAML config file
  • SERVER-27246 Running applyOps with an op on a nonexistent database using mmapv1 will crash mongod

WiredTiger

  • SERVER-26870 Sometimes collection data file is not removed even though collection is dropped
  • SERVER-27218 Startup warning recommending the use of XFS isn’t displayed properly in Mongo Shell

Operations

  • SERVER-27210 3.4.0 mongo shell unable to connect using MongoURI with “ssl=true”
  • SERVER-27271 rolesInfo command raises System.InvalidOperationException : Duplicate element name ‘roles’.

Build and Packaging

  • SERVER-17368 Create windows SSL zip file with OpenSSL files
  • SERVER-27130 Switch mongo-rocks to v3.4 branch for 3.4
  • SERVER-27241 Cannot write pid file to /var/run/mongodb/mongod.pid: No such file or directory
  • SERVER-27377 Dynamic builds should use –no-as-needed for executables, not just libraries

Tools

  • TOOLS-1498 Stats collection has large playback performance impact
  • TOOLS-1501 Add option to set capture buffer size to avoid packet loss
  • TOOLS-1502 Playback file contains full reply payload
  • TOOLS-1516 mongoreplay: out of bounds error in “shortenreply” during record
  • TOOLS-1535 Add test for restoring a collection with a default collation
  • TOOLS-1561 nil pointer dereference in mongoreplay when error on new playback file creation

Internals

  • SERVER-20447 Add concurrency workload that tests distributed lock code
  • SERVER-26445 resmoke.py’s LoggerPipe threads can stop consuming output from their pipes for long periods
  • SERVER-26940 Network Interface ASIO Integration Test stress test opens too many connections on windows
  • SERVER-26981 Update mongo-perf
  • SERVER-27141 Update perf.yml, system-perf.yml, and longevity.yml on 3.4 branch
  • SERVER-27145 Shard name from a single node mongod not used as shard index in getSerializedCluster concurrency suite file cluster.js
  • SERVER-27171 Add operator<<(bool) to StringBuilderImpl
  • SERVER-27202 Mark sys-perf cluster idle after regression runs
  • SERVER-27223 Make Command::parseNs() more efficient
  • SERVER-27240 ConnectBG must not close() while the background thread is active
  • SERVER-27275 Longevity uploads compiled mongod archive to different url than sys-perf
  • SERVER-27358 Socket::connect expects _timeout field to be in milliseconds
  • SERVER-27363 Typo in packaging script
  • SERVER-27388 Handle exceeded time limit in NI connection hook
  • TOOLS-1541 support exporting views
  • TOOLS-1558 use mongodb 3.4 “current” tests in master