4.0 Changelog
On this page本页内容
- 4.0.28 Changelog
- 4.0.27 Changelog
- 4.0.26 Changelog
- 4.0.25 Changelog
- 4.0.24 Changelog
- 4.0.23 Changelog
- 4.0.22 Changelog
- 4.0.21 Changelog
- 4.0.20 Changelog
- 4.0.19 Changelog
- 4.0.18 Changelog
- 4.0.17 Changelog
- 4.0.16 Changelog
- 4.0.15 Changelog
- 4.0.14 Changelog
- 4.0.13 Changelog
- 4.0.12 Changelog
- 4.0.11 Changelog
- 4.0.10 Changelog
- 4.0.9 Changelog
- 4.0.8 Changelog
- 4.0.7 Changelog
- 4.0.6 Changelog
- 4.0.5 Changelog
- 4.0.4 Changelog
- 4.0.3 Changelog
- 4.0.2 Changelog
- 4.0.1 Changelog
4.0.28 Changelog
Security
SERVER-57727 Race conditions in x509_invalid.js
Sharding
- SERVER-53335
Queries, updates, and deletes with non-"simple" collations may miss documents when using hashed sharding
- SERVER-54064
Sessions on arbiters accumulate and cannot be cleared out
- SERVER-55648
Mongos doesn't return top-level batch-write error in case of shutdown
- SERVER-59929
Unexpected slower update/insert operation base of splitchunk and moveChunk
- SERVER-60654
Backport the autoSplitVector logic to v4.0
- SERVER-62065
Upgrade path from 3.6 to 4.0 can leave chunk entries without history on the shards
Replication
SERVER-56096 Invariant failure in ReplicationRecoveryImpl::recoverFromOplog
Aggregation
- SERVER-44484
Changestream with updateLookup uasserts on updates from before collection was sharded
- SERVER-59613
$range expression should return an error if it exceeds memory limit
Storage
SERVER-45953 Exempt oplog readers from acquiring read tickets
Internals
- SERVER-40486
Remove Test Lifecycle code
- SERVER-53726
Platform Support: Remove RHEL6 zSeries
- SERVER-53728
Platform Support: Remove SLES12 zSeries
- SERVER-56326
Add a round() method to the Decimal128 class
- SERVER-58104
config.system.sessions collection can end up with invalid chunks if it is dropped and re-sharded with a shard key other than _id
- SERVER-58192
Use more unique_ptrs in QueryPlannerAnalysis::analyzeSort()
- SERVER-59120
Create unit tests for commitChunksMerge
- SERVER-59191
SPIKE: git.get_project fails to clone
- SERVER-59725
Remove push task from extra RHEL 6.2 variants
- SERVER-59804
Using a separate branch for YCSB in system_perf.yml
- SERVER-59874
Delete stats.js on the 4.0 branch.
- SERVER-59887
Reduce the change_stream_shard_failover.js test flakiness
- SERVER-60290
Update Windows external auth test distribution
- SERVER-60344
Action plan on lagging setFCV replicas breaking tests
- SERVER-60588
$multiply incorrectly throws an error in some cases in the classic engine
- SERVER-60670
Use a separate branch instead of a specific commit for TPCC
- SERVER-60671
Remove dagger
- SERVER-60934
Increase RSM verbosity in the test change_stream_shard_failover.js
- SERVER-60961
Add exclude tags to old branches not generating multiversion_exclude_tags.yml
- SERVER-60971
Remove calls to BF suggestion service
- SERVER-61152
Fix lint on 4.0 branch
- SERVER-61530
Provide large distro option for split tasks on SSL Amazon Linux on 4.0
- SERVER-61559
Remove jepsen_register_linearizableRead from 4.0 branch.
- SERVER-61791
Pin pymongo
- SERVER-62164
Remove several obsoleted build variants across all stable branches
- WT-6568
Fix split generation use
- WT-6926
Update WiredTiger source code to include 2021 copyright notices
- WT-7065
Add check for WT_DHANDLE_DEAD to assertion
- WT-7135
Additional checks to detect when writing corrupted metadata
- WT-7437
Upgrade documentation to doxygen 1.8.17
- WT-7871
Remove comment that is no longer true
- WT-7874
Remove two other stale comments
4.0.27 Changelog
Sharding
SERVER-40170 Increase the default timeout for unit-tests which schedule work through NetworkTestEnv::launchAsync
Replication
- SERVER-34938
Secondary slowdown or hang due to content pinned in cache by single oplog batch
- SERVER-36263
Bypassing operation validation in applyOps should require special privilege
Query
SERVER-58127 Fix benchRun() memory leak for parsing benchRun() args under exception
Storage
SERVER-40712 Clarify the behaviour of db.dropDatabase and the dropDatabase command
Build and Packaging
SERVER-54729 MongoDB Enterprise Debian/Ubuntu packages should depend on libsasl2-modules and libsasl2-modules-gssapi-mit
Internals
- SERVER-53726
Platform Support: Remove RHEL6 zSeries
- SERVER-53728
Platform Support: Remove SLES12 zSeries
- SERVER-55649
Sharding messages being logged for non-sharded clusters
- SERVER-56516
Fix undefined behaviour in parsing code for $slice projectional operator
- SERVER-57642
Invariant Failure on src/mongo/db/query/plan_yield_policy.cpp 75 | Aborting
- SERVER-57798
Direct user to MongoDB Compass download page when failing to install MongoDB Compass due to a connection issue using ./install_compass
- SERVER-57983
Integer overflow for $range in Classic Engine
- SERVER-58283
Add a new versioning file to set MONGO_VERSION and MONGO_GIT_HASH
- SERVER-58402
Increase timeout of shutdown command in shutdown_primary.js
- SERVER-59055
Pin oauthlib == 3.1.0 in 4.0 branch
- SERVER-59074
Do not acquire storage tickets just to set/wait on oplog visibility
- SERVER-59197
Delete fam image entries when the corresponding session documents are deleted
- SERVER-59242
update to snmp 5.9.1
- SERVER-59262
Remove burn_in_tests tasks from storeFindAndModifyImagesInSideCollection build variants
- SERVER-59414
Retry curator setup in powercycle on older branches
- SERVER-59504
Fix formatting in network_test_env.h on v4.0
4.0.26 Changelog
Security
SERVER-56240 Turn on checkpointing for the keystore Data Store
Sharding
- SERVER-48648
Return updated ShardVersion in _configsvrCommitChunkMerge to avoid blind metadata refresh
- SERVER-48653
Return updated ShardVersion in _configsvrCommitChunkSplit to avoid blind metadata refresh
- SERVER-56654
Do not use the collection distributed lock for chunk splits
- SERVER-56779
Do not use the collection distributed lock for chunk merges
- SERVER-56786
There are three routing info refreshes and two chunk scans on the mergeChunks path
- SERVER-58109
The new '_configsvrMergeChunks' path is more expensive than the old one
Replication
- SERVER-44316
Log message in InitialSyncer for setting begin applying timestamp is incorrect
- SERVER-55465
Fix Invariant upon failed request for a vote from the current primary in the election dry-run of catchup takeover
- SERVER-56054
Change minThreads value for replication writer thread pool to 0
Query
SERVER-58127 Fix benchRun() memory leak for parsing benchRun() args under exception
Aggregation
SERVER-41741 Improve robustness of change_streams_shell_helper_resume_token.js
Build and Packaging
- SERVER-50568
Platform Support: Remove Ubuntu18.04 zSeries from 5.0
- SERVER-54729
MongoDB Enterprise Debian/Ubuntu packages should depend on libsasl2-modules and libsasl2-modules-gssapi-mit
Internals
- SERVER-40590
Delete KeyedExecutor
- SERVER-53643
Startup can see old version of featureCompatibilityVersion document
- SERVER-53726
Platform Support: Remove RHEL6 zSeries
- SERVER-53728
Platform Support: Remove SLES12 zSeries
- SERVER-55119
Create startup warning indicating that X.509 certificates without SANs are deprecated
- SERVER-55649
Sharding messages being logged for non-sharded clusters
- SERVER-56307
The chunk migration "convergence algorithm" is very primitive
- SERVER-56452
Self anchor in PooledLDAPConnection::setup's callback
- SERVER-56501
Add op counters for legacy op codes (OP_QUERY, OP_INSERT, etc.)
- SERVER-56516
Fix undefined behaviour in parsing code for $slice projectional operator
- SERVER-57053
Rewriting $nor with a $text predicate to $not is invalid
- SERVER-57057
Reduce routing info refreshes on the mergeChunks path
- SERVER-57064
Log create index and dropIndex(es) on mongos
- SERVER-57145
Invariant failure at OCSPManager::requestStatus
- SERVER-57157
assert serverStatus command works in getBinVersion() jstest helper
- SERVER-57275
Update kmip_server.py to be more verbose
- SERVER-57328
Make ReplsetTest.upgradeSet() tolerant of reelections
- SERVER-57330
Update perf yaml configs for perf and sys-perf to use perf.send
- SERVER-57454
Chunk donor propagates NotMaster error from recipient back to MigrationManager making it to believe donor is not primary
- SERVER-57497
store_retryable_find_and_modify_images_in_side_collection.js should account for a later clustertime in retried findAndModify responses
- SERVER-57564
Increase system timeout duration to >2 hours to allow fio to copy over all files
- SERVER-57691
[4.0 only] Return early in TxnResources if not in WUOW
- SERVER-57798
Direct user to MongoDB Compass download page when failing to install MongoDB Compass due to a connection issue using ./install_compass
- SERVER-57897
Add readPrefMode option to benchRun find/findOne ops
- SERVER-57954
Update TPC-C version in sys-perf.yml
- SERVER-58118
Spammy logging when RSM is refreshing all hosts
- SERVER-58191
[Migrate Protocol] Allow delete_during_migrate.js to tolerate chunk migration failures due to timeout in catchup phase in slow variants.
- SERVER-58248
Fix error code when checking if FeatureCompatibilityVersion is majority-committed
- SERVER-58283
Add a new versioning file to set MONGO_VERSION and MONGO_GIT_HASH
- SERVER-58313
Fix package test failure caused by SERVER-55460 backport to v4.2 and v4.0
4.0.25 Changelog
Sharding
- SERVER-40293
change_stream.js removal test should do an unordered check on the change stream
- SERVER-47699
Change yield type used by range deleter from YIELD_MANUAL to YIELD_AUTO
- SERVER-56515
Chunk merge doesn't consider the
incrementChunkMajorVersionOnChunkSplits
parameter - SERVER-57009
Additional debugging information in case of crash during fCV change
- SERVER-57055
delete_during_migrate.js is consistently failing in test suites with Code Coverage enabled
- SERVER-57102
Fixing invariants on ShardServerCatalogCacheLoader to consider different terms
Write Operations
SERVER-38909 Permit empty update modifiers, treating as a no-op rather than an error
Build and Packaging
- SERVER-54057
Mongodb-org-server el8 package has dependency on python2
- SERVER-54386
mongodb 3.6.22 install fails if systemctl daemon is not running
- SERVER-55460
Fix RPM packaging and testing for SLES 12
Internals
- SERVER-37125
Powercycle should ignore a process reference if it no longer exists
- SERVER-38811
TCP_KEEPINTVL should be 1 second
- SERVER-43617
Add metrics on the mongos to indicate the number of shards targeted for the commands (find, aggregate, etc)
- SERVER-45153
Ignore metrics temp files in FTDCFileManager
- SERVER-47509
resmoke accepts multiple "mongodSetParameters" options but only uses the last one
- SERVER-48636
Increase assertEventDoesNotWakeCursor getMore timeout in only_wake_getmore_for_relevant_changes.js
- SERVER-48890
allow $addFields with empty document and have it be a no-op
- SERVER-51465
Update package tests after compass installer update
- SERVER-52610
Verify installation prefix is added to correct location in the RPM
- SERVER-52833
Capped collections can contain too many documents after replication recovery
- SERVER-53726
Platform Support: Remove RHEL6 zSeries
- SERVER-53728
Platform Support: Remove SLES12 zSeries
- SERVER-55019
install_compass does not run on all supported platforms
- SERVER-56164
All performance projects use the master DSI branch
- SERVER-56217
PoolForHost::_maxInUse is init to <int>::max and cannot be changed, and when connections are maxed DBConnectionPool::get() always throws
- SERVER-56361
Better FTDC diagnostics of RSM, including server-side isMaster handling
- SERVER-56371
Upgrade timelib to 2021.06
- SERVER-56373
[RRFaM] When writing FaM images to txn table, write oplog entries with
needsRetryImage
- SERVER-56374
[RRFaM] Have update path write to config.image_collection
- SERVER-56375
[RRFaM] Have delete path write to config.transactions
- SERVER-56376
[RRFaM] Add jstest that exercises both retryable FaM behaviors
- SERVER-56489
New pass-through test with random hello server-side delays
- SERVER-56563
[RRFaM] Forge noop image oplog entries for chunk migration
- SERVER-56668
Create config.image_collection when setting fCV to 4.0 on primary
- SERVER-56713
[RRFaM] Avoid creating images while in initial sync
- SERVER-56795
Changes from SERVER-53274 were unintentionally reverted
- SERVER-56819
$indexOfCP returns incorrect result when searching for empty string inside empty string with non-zero start index (classic execution engine only)
- SERVER-56854
Provide the ability for RSM requests to timeout and mark the server as failed
- SERVER-57015
[RRFaM] Writing to the image collection must be in an UnreplicatedWriteBlock
- SERVER-57044
[v4.0] Add jstest that changing the fCV will disable new retryable findAndModify format even if storeFindAndModifyImagesInSideCollection=true
- SERVER-57172
Do json.send before DSI post_run
- SERVER-57173
Write invalidated image for retryable findAndModify when secondaries apply operations earlier than minValid
- SERVER-57356
Better logging around failed chunk migration
4.0.24 Changelog
Replication
- SERVER-49187
Make ReplSetTest .stepUp() robust to election failures.
- SERVER-50049
assert.soonNoExcept() should not access TestData.traceExceptions for non-resmoke tests.
- SERVER-51163
Mark nodes returning InvalidReplicaSetConfig in heartbeats as down
- SERVER-53666
curSecondary in rollback test fixture not guaranteed to be in SECONDARY state after restart
- SERVER-54708
Rollback test fixture only ensures sync source's lastApplied > rollback node's lastApplied if both emrc=false and inMemory
Query
- SERVER-36926
Undefined behavior from signed overflow in cursor manager, can result in mongos invariant failure
- SERVER-50073
Error message when creating a mixed hashed/not hashed index does not state the problem
- SERVER-54710
Large number of $or clauses can create profiling entry exceeding max BSON size, causing the query to fail when it should not
Operations
SERVER-54770 Add /proc/meminfo MemAvailable to FTDC
Build and Packaging
- SERVER-54031
errorcodes.py doesn't check embedded C++ code in Python scripts
- SERVER-54255
Update RHEL 7 AMI for package testing
Internals
- SERVER-5722
Support a 'sort' field in ops array for JS Benchmarking Harness
- SERVER-35649
Nodes removed due to isSelf failure should re-attempt to find themselves
- SERVER-43847
Make ReplSetTest's stepUp function resilient to slow machines
- SERVER-44132
DataBuilder move assignment computes size incorrectly
- SERVER-45836
Provide more LDAP details (like server IP) at default log level
- SERVER-47030
Fix date_time_support code to not produce exceptions
- SERVER-48910
Do not consider keystore.metadata as a keystore on <= 4.0
- SERVER-52953
$geoNear does not always match coordinate given to 'near' when maxDistance is set to 0
- SERVER-53566
Investigate and reproduce "opCtx != nullptr && _opCtx == nullptr" invariant
- SERVER-53612
StepDown hangs until timeout if all nodes are caught up but none is immediately electable
- SERVER-53831
Force SpiderMonkey to garbage collect in ReplSetTest.checkOplogs
- SERVER-53992
Remove calls to detect-outliers from performance tasks
- SERVER-54136
Make the authenticate command respect enforceUserClusterSeparation
- SERVER-54139
Remove CURL share support from HTTP curl client
- SERVER-55189
Call awaitReplication() before returning from syncFrom() in rslib.js
- SERVER-55395
4.0.23 does not build with gcc 10
- WT-4296
Add aggressive mode to sweep server
- WT-4614
Trigger sweep immediately to reclaim space after a table drop
- WT-6309
Add support for start/stop arguments to wt printlog command
- WT-6430
Move WT_CONN_SERVER flags into their own field
- WT-7026
Atomically read and set ref->addr in case of race
- WT-7028
Sweep thread shouldn't lock during checkpoint gathering handles
- WT-7104
Redact user data from printlog output
4.0.23 Changelog
Sharding
- SERVER-50305
ARS::next() does not respect OperationContext deadline
- SERVER-53274
The force-write of the
history
field to all chunks on fCV upgrade from 3.6 to 4.0 is unnecessary
Replication
- SERVER-52744
rollback node's lastApplied > sync source's lastApplied in rollback_after_enabling_majority_reads.js
- SERVER-53345
Excuse arbiter_new_hostname.js from multiversion tests
- SERVER-53459
rollback_all_op_types.js should ensure sync source's lastApplied > rollback node's lastApplied
- SERVER-53609
lastCommittedTransaction section causes frequent schema changes that limit FTDC retention
Query
- SERVER-40361
Reduce memory footprint of plan cache entries
- SERVER-47869
Add diagnostic logging to ClusterCursorManager
Storage
- SERVER-46876
During the eviction pressure, we should quit the compact operation instead of crashing the process
- SERVER-52950
recoverOplogAsStandalone mode must not start oplog truncater thread
Operations
SERVER-54074 [v4.0] Log start and end of changes to table log settings
Internals
- SERVER-43904
When stepping down, step up doesn't filter out frozen nodes
- SERVER-46686
Explain does not respect maxTimeMS
- SERVER-46740
establishCursors() must always drain the AsyncRequestsSender::_baton
- SERVER-52879
Periodic operation latency spikes every 5 minutes due to closing idle cached WT sessions
- SERVER-53234
jstests/core/profile2.js fails when background operations are run against test database
- SERVER-54091
Update assertion messages for dbhash check run by resmoke.py
- SERVER-54134
Ignore newer mongo versions on older branches of setup_multiversion_mongodb.py
4.0.22 Changelog
Sharding
- SERVER-36739
Use the mongos_manual_intervention_action hook in concurrency stepdown suites
- SERVER-41192
Add a metric for the size of the SessionCatalog under
logicalSessionRecordCache
- SERVER-42632
Disable pinger threads that reach out to config server to make integration tests pass
- SERVER-46393
Always check client last operation time when computing operationTime to append to the response
- SERVER-48679
flushRoutingTableCacheUpdates should block on critical section with kWrite, not kRead
- SERVER-51808
invariant failure: readConcern level != Available
- SERVER-51885
Blacklist balancing_sessions_collection.js from sharding_csrs_continuous_config_stepdown
- SERVER-52955
KeysCollectionClientDirect should check if majority read concern is supported by storage engine
Replication
- SERVER-33747
Arbiter tries to start data replication if cannot find itself in config after restart
- SERVER-50116
Forbid oplog writes when replication is enabled
- SERVER-51262
Rename skipCheckingForNotMasterInCommandDispatch to skipCheckingForHelloInCommandDispatch
- SERVER-51598
Add new test suites that test transaction expiration logic
- SERVER-51887
"InvalidNamespace" in oplog tests on 4.0 branch
- SERVER-52560
oplog_writes_only_permitted_on_standalone.js must wait for insert to be in stable checkpoint
- SERVER-52680
Removed node on startup stuck in STARTUP2 after being re-added into the replica set
- SERVER-53026
Secondary cannot restart replication
Query
SERVER-32960 $mod has inconsistent rounding/truncation behavior
Aggregation
SERVER-48523 Unconditionally check the first entry in the oplog when attempting to resume a change stream
Storage
- SERVER-51858
Investigate queryable issue on 4.0.20
- SERVER-52902
Remove assertion !haveJournalFiles() at dur_journal.cpp:265
Operations
- SERVER-46729
Make Windows shell soft-fail for unavailable OCSP responder
- SERVER-51757
Collect /proc/vmstat numa_pages_migrated statistics in FTDC
Build and Packaging
SERVER-52891 Run PPC builds less frequently
Internals
- SERVER-45624
Pre-split and distribute chunks of sessions collection
- SERVER-45992
InMemory engine startupwarnings confusing
- SERVER-48742
Log whenever profiler settings are changed via setProfilingLevel
- SERVER-49165
endSessions command in Client.Disconnect causes an authorization failure for an unauthed connection on a host that requires authentication
- SERVER-50123
Record number of physical cores on all platforms
- SERVER-50267
Set output limit for 'rawMongoProgramOutput()'
- SERVER-50365
Stuck with long-running transactions that can't be timed out
- SERVER-50445
Return the value as double when NumberLong subtraction overflows in ExpressionSubtract
- SERVER-50605
Add {logMessage: "msg"} test-only command
- SERVER-51303
Lookup stage followed by $match on type uses wrong field in matching condition
- SERVER-51607
Upgrade Twisted dependency to at least twisted-19.7.0
- SERVER-51902
Check if storage engine supports Recover to Stable Timestamp rather than if eMRC=false in sync_tail.cpp
- SERVER-52646
Validate and possibly fix edge cases in regex rewrite rules for userToDNMapping
- SERVER-52654
new signing keys not generated by the monitoring-keys-for-HMAC thread
- SERVER-52806
deb install files assume systemd
- SERVER-52969
Disable Powercyle on non-master branches
- SERVER-53233
Fix change_streams_update_lookup_shard_metadata_missing.js [4.2, 4.0]
- SERVER-53348
Pin PyOpenSSL
- WT-6507
Exit cache eviction worker after our operation has timed out
- WT-6602
Allow operation timeout ms to be passed to commit and rollback
- WT-6666
Start op timer when we configure it in rollback and commit
4.0.21 Changelog
Security
- SERVER-45803
mongodecrypt needs a ServiceContext
- SERVER-45938
Allow matching O/OU/DC in client x509 cert if clusterMode:keyFile
- SERVER-47733
SymmetricEncryptorWindows shouldn't pad when update is called
- SERVER-50463
Make PooledLDAPConnection::refresh take self-ownership
Sharding
SERVER-47616 Improve error when logical sessions cannot have more than one user authenticated on a single connection
Replication
- SERVER-48518
Rollback via refetch (EMRC = false) can make readers to see the rolled back data even after the rollback node catches up to primary.
- SERVER-48928
Allow primary-elect to complete drain mode even if it is stepping down unconditionally
- SERVER-49986
Convert isMaster command to hello and add aliases
- SERVER-49987
Rename response fields if “hello” is sent on mongod
- SERVER-49988
Rename response fields if "hello" is sent on mongos
- SERVER-49989
Add db.hello() shell helper
- SERVER-49990
Alias setSlaveOk() and getSlaveOk() shell helpers
- SERVER-49991
Alias printSlaveReplicationInfo() shell helper
- SERVER-50607
Must hold mutex when calling _checkForShutdownAndConvertStatus_inlock
- SERVER-50626
Race in read_concern_majority_getmore_secondaries.js
- SERVER-50631
[v4.0] Ban rollback_after_disabling_majority_reads.js with --nojournal and MMAPv1
- SERVER-50640
listCommands should return "isMaster" alias in addition to "hello" command name
- SERVER-50747
Increase no-op interval in change_streams_update_lookup_shard_metadata_missing.js
- SERVER-50963
rollback_via_refetch_anomaly.js fails on inMemory storage engine
Query
- SERVER-18341
Matcher returns false positives in comparison predicates with MinKey/MaxKey
- SERVER-35921
Index scan uses incorrect bounds for MinKey and MaxKey
- SERVER-39392
Invariant in PlanStage::dispose always evaluates as true
- SERVER-45233
Indexed inequalities to arrays return incorrect results
- SERVER-50291
Add query knob to enumerate $or children in a different order
- SERVER-51083
Problem with regex index bounds
- SERVER-51120
Find queries with SORT_MERGE incorrectly sort the results when the collation is specified
Aggregation
SERVER-40317 $facet execution has no limit on how much memory it can consume
Storage
SERVER-50915 [v4.0] fsyncLock must not take a stable checkpoint when majority read concern is off
Operations
SERVER-26726 Check number of arguments for createIndex() and throw error if more than two arguments
Build and Packaging
- SERVER-46342
DEB installs of MDB do not issue systemctl daemon-reload on install
- SERVER-47138
MSI installer produces incorrect config file
- SERVER-50078
Compile bypass applied when it should not have
Internals
- SERVER-15902
use signal handling stack via sigaltstack to improve behavior on stack overflow
- SERVER-41872
PlanEnumerator AndAssignment::choices ordering not stable and is relevant to set of plans generated
- SERVER-43233
Add ability to request only specific attribute(s) for the LDAP groups
- SERVER-43973
jsTestName() should return a unique name for each thread in the parallel suite
- SERVER-45202
Improve Command alias infrastructure
- SERVER-47883
Newly-elected primaries do not wait for single-phase background index builds to complete before accepting writes
- SERVER-48410
Signed integer overflow fix for datetime library
- SERVER-48709
signing key generator thread on config server not waken up as expected
- SERVER-49054
Server MSI should install Compass instead of Compass Community
- SERVER-49352
4.0 does not build with python 3.8
- SERVER-49786
Freeze DSI and Genny for non-master perf projects
- SERVER-50180
Fix User lifetime management in AuthorizationManager::acquireUserForSessionRefresh
- SERVER-50183
Copy _awaitPrimaryAppliedSurpassesRollbackApplied function from RollbackTest to RollbackTestDeluxe
- SERVER-50216
Adjust sys-perf frequencies
- SERVER-50736
Make OpenSSL explicitly accept SNIs presented in ClientHello
- SERVER-50818
Coverity analysis defect 114987: Wrapper object use after free
- SERVER-51106
Make the isMaster command a derived class of hello
- SERVER-51608
[4.0] backport implicitly_retry_on_background_op_in_progress.js
- SERVER-51802
Add requires_majority_read_concern tag to decrypt_tool.js on v4.0
- TOOLS-2589
[v4.0] sslAllowInvalidHostnames bypass ssl/tls server certification validation entirely
- WT-6421
Avoid parsing metadata checkpoint for clean files
- WT-6559
Use the session ID from the new session to determine statistics bucket
- WT-6598
Add new API allowing changing dhandle hash bucket size
4.0.20 Changelog
Sharding
- SERVER-40441
Arbiter nodes log error messages when try to create session collection or check if it exists
- SERVER-44115
Exclude jstests/core/autocomplete.js from sharded jscore tests
- SERVER-47799
AsyncRequestsSender should update replica set monitor in between retries for InterruptedAtShutdown
- SERVER-48491
Add requires_document_locking tag to sessions_collection_reaping.js
- SERVER-48674
Check if replication is enabled before checking if the node is an arbiter in LogicalSessionCacheImpl
- SERVER-48926
Fix remaining sharding tests that incorrectly set votes to 0 on shard secondaries
- SERVER-49233
Introduce a flag to toggle the logic for bumping collection's major version during split
Replication
- SERVER-37390
RollbackTestFixture doesn't need to wait for a new primary if it didn't shut down the current primary
- SERVER-42004
localhost{1,2,3}.js tests should wait for a primary to be elected before shutting down the test
- SERVER-45610
Some reads work while system is RECOVERING
- SERVER-46897
REMOVED node may never send heartbeat to fetch newest config
- SERVER-47849
Add more logging to shutdownTask
- SERVER-48276
ReplSet Free Monitoring URLs inconsistent
- SERVER-48967
Prevent replicated writes on empty namespaces on secondaries
- SERVER-50039
Timing error in dbadmin.js test
Query
- SERVER-47223
geoNear/$geoNear does not apply index hints
- SERVER-48993
explodeForSort can produce incorrect query plan
- SERVER-49527
recoverFromOplogAsStandalone does not relax index constraints
Storage
- SERVER-43097
Improve log messaging when index builds get foregrounded because of startup recovery
- SERVER-47694
fix multikey. again
- SERVER-48453
Lazily initialize a record store's auto incrementing counter on deletes
- SERVER-48695
setAppliedThrough must set orderedCommit=false on the recovery unit
- SERVER-49449
index_restart_secondary.js is not compatible with storage engines without support for persistence
Operations
- SERVER-44051
getShardDistribution() does not report "Collection XYZ is not sharded" on dropped but previously sharded collections
- SERVER-48244
Shell should not hard-code the allowed explain levels and let the server reject it instead
Build and Packaging
- SERVER-42042
Warn or fail early on dynamic builds with toolchain compiler and tcmalloc
- SERVER-46927
Clarify dependencies for release-related tasks
- SERVER-48329
Adjust naming of action_type.h on either master or all stable branches
- SERVER-48640
Update RHEL 6.2 AMI for package tests
- SERVER-48659
Update SLES 12 AMI for package tests
- SERVER-48681
Update Debian 8.1 AMI for package tests
- SERVER-49925
Dynamic builders should not combine the mongodbtoolchain with tcmalloc
- SERVER-50124
Pin lazy-object-proxy python module
Internals
- SERVER-33229
Overload startParallelShell in auto_retry_on_network_error.js to connect after loading the auto_retry_on_network_error.js override
- SERVER-36454
Upgrade ASIO
- SERVER-37993
Upgrade asio to eed287d46c14310f0daf4ff19b0297917143723
- SERVER-41600
IndexCatalog::refreshEntry should invalidate the index from the CollectionInfoCache
- SERVER-42908
Add ErrorCodes to retryable errors to match drivers
- SERVER-46758
setFCV can be interrupted before an fCV change is majority committed and rollback the fCV without running the setFCV server logic
- SERVER-47930
Ubuntu 20.04 - ldap_authz_authn.js fails to load test certificate
- SERVER-48032
Update references of community mailing-lists to MongoDB Developer Community Forums
- SERVER-48107
Retry replSetStepDown in rollback_test.js
- SERVER-48514
Separate testing 'called' and 'successful' fields for serverStatus election metrics
- SERVER-48569
Add ConflictingOperationInProgress as acceptable error code to stepDown in validateCollectionsCallback
- SERVER-48657
Use evergreen module to control signal processing in perf projects
- SERVER-49007
Roundtrip registration ID in metrics response in mock_http_server.py
- SERVER-49071
Make ldap_fastest_host_selection.js tolerate missing LDAP servers in statistics
- SERVER-49142
Validate correct field name in RoleName::parseFromBSON()
- SERVER-49335
publish_packages should use barque API key
- SERVER-49404
Enforce additional checks in $arrayToObject
- WT-5242
Minimize checkpoints pinned during backup
- WT-6118
Fix missing checkpoint in backup
- WT-6141
Disable checkpoint deletion during backup
4.0.19 Changelog
Sharding
- SERVER-37929
ShardRegistry in config servers can keep invalid entries after it rolls back until next reload
- SERVER-39498
ShardRegistry reload inside onReplicationRollback can get stuck
- SERVER-42862
Prevent shard refreshes in mergeChunks command from joining earlier refreshes
- SERVER-45910
Router might target wrong shard on write operation for unsharded collection
- SERVER-46487
The mongos routing for scatter/gather ops can have unbounded latency
- SERVER-46942
State information can be leaked if server closes too quickly on network_interface_tl
- SERVER-47436
Make shards validate shardKey in dataSize command
- SERVER-47745
Make chunk query in ShardingCatalogManager compatible with chunks created in 3.4
- SERVER-47913
Redact sharding messages in split chunk and distributed lock acquisition
- SERVER-47999
balance_repl.js should ensure writes have replicated before attempting to read them from a secondary
Replication
- SERVER-46195
Secondary in rollback_after_enabling_majority_reads.js goes into rollback before validate command
- SERVER-47558
Revert SERVER-38356 on 4.0
- SERVER-47613
Invariant in processReplSetRequestVotes
- SERVER-47695
Write commands run by threads that can survive rollback can fail operationTime invariant in ServiceEntryPoint
- SERVER-48276
ReplSet Free Monitoring URLs inconsistent
- SERVER-48374
Pass in array for awaitReplication() in rollback_after_enabling_majority_reads.js
Query
- SERVER-40805
Indicate the reason for replanning in the log file
- SERVER-47209
change_streams_update_lookup_shard_metadata_missing.js should handle the node the change stream cursor was established on going through rollback
- SERVER-47773
geoNear invariant on mongos
- SERVER-47994
Fix for numerical overflow in GeoHash
Write Operations
SERVER-47233 WriteOp can be left in pending state, leading to erroneous NoProgressMade write error from mongos
Aggregation
SERVER-44689 Add serverStatus counter for each use of an aggregation stage in a user's request
Storage
- SERVER-46398
Suggest explicit dbpath when starting mongod on macOS and the default dbpath isn't found
- SERVER-46699
Report the oplog visibility timestamp in FTDC
Operations
SERVER-45295 Make sure that LDAP logs always contain context on AuthZN operation
Internals
- SERVER-39241
Plan scoring incorrectly applies noFetchBonus bonus to all plans when no projection is provided
- SERVER-42525
Single-node replica sets shouldn't wait for electable caught up secondaries during shutdown
- SERVER-43889
Distinguish between a retryable write and a transaction when failing a command
- SERVER-45334
Service Name not respected in MSI Installer
- SERVER-45367
When the Range Deleter is waiting for the open cursors, list these cursors in the logs.
- SERVER-45508
Invariant failure in getFieldsWithStringBounds with descending point ranges
- SERVER-46633
Windows TLS implementation may declare hostname mismatch on unrelated error
- SERVER-46758
setFCV can be interrupted before an fCV change is majority committed and rollback the fCV without running the setFCV server logic
- SERVER-47063
Upgrade static OpenSSL to 1.1.1e
- SERVER-47071
CheckReplOplogs can fail to detect a mismatch
- SERVER-47187
Add startup warning when SeIncreaseWorkingSetPrivilege not present
- SERVER-47256
Update listed maintainer for repo package files
- SERVER-47373
Improve handling of empty TLS packets
- SERVER-47634
Make metric tests in stepup.js more robust
- SERVER-47686
Upgrade static OpenSSL to 1.1.1g
- SERVER-47765
4.0 Only: Make variables declared above DocumentSourceGraphLookup available within
- SERVER-47798
Audit isMaster response validation for mongod and mongos
- SERVER-48269
Fix rlp tests in 4.0
4.0.18 Changelog
Security
- SERVER-46834
Use monotonic time in UserCacheInvalidator
- SERVER-47113
LDAP connection pool acquisition state should own host list
Sharding
- SERVER-29153
Make sure replica set nodes agree on which node is primary before doing writes in ShardingTest initialization
- SERVER-44463
insertConfigDocumentsAsRetryableWrite() incorrectly calculates BSON array overhead
- SERVER-45119
CollectionShardingState::getCurrentShardVersionIfKnown returns collection version instead of shard version
- SERVER-46307
database_versioning_safe_secondary_reads.js should not set "votes: 0" on the shard secondaries
Replication
SERVER-33627 Initial syncer needs to handle exception
Query
SERVER-32903 Ambiguous field name error should be ignored during initial sync
Operations
- SERVER-34199
"timing" section of serverStatus can have large impact on ftdc retention
- SERVER-41117
Blacklist autocomplete.js from parallel testing
- SERVER-44892
getShardDistribution should use $collStats agg stage instead of collStats command
- SERVER-46024
Collect /proc/vmstat swap statistics in FTDC
Build and Packaging
- SERVER-46983
Upload repobuilding packages to correct URL
- SERVER-46996
all push/publish_packages tasks should run on small hosts
Internals
- SERVER-30739
config_server_checks.js should assert if initial replSetConfig fails
- SERVER-36467
continuous stepdown overrides should maintain parameters
- SERVER-37148
Remove mr_shard_version.js and mr_during_migrate.js in favor of MR FSM test
- SERVER-38119
Windows dump file naming does not account for dots in directory names
- SERVER-42278
Log SockAddrs produced during LDAP connection establishment with manually derived sizes
- SERVER-43763
Figure out if global LDAP synchronization can be disabled when libldap is built with OpenSSL.
- SERVER-45050
Change Windows Kerberos client to use default credentials when no password is specified
- SERVER-45156
SockAddr constructor should take sockaddr, not sockaddr_storage
- SERVER-45867
Use latest version of signal processing
- SERVER-46754
Use new repobuilder service
- SERVER-46766
Teardown clusters after every perf run
- SERVER-46851
Decrease the number of jobs in logical session cache tests
- SERVER-46899
Fix tcmallocReleaseRate parameter in 4.0 and 3.6
- SERVER-47080
Enable verbose logging for LDAP tests
- SERVER-47114
Make ldapproxy.py use IOCP on Windows
- WT-5119
Birthmark records can be read as normal updates if reads race with checkpoints
- WT-5376
WT_UPDATE.type field can race with visibility checks when returning key/value pairs
4.0.17 Changelog
Sharding
- SERVER-44598
Shards do not treat the IGNORED version as "intended sharded"
- SERVER-45273
Remove the mongos version check in allow_partial_results.js and return_partial_shards_down.js
- SERVER-45599
Backport the changes to CollectionShardingState done as part of SERVER-32198 to 4.0
- SERVER-45770
Add to information contained in logfile about "moveChunk.to"
- SERVER-46001
Move checkShardingIndex outside shardCollection's read critical section on the primary shard
- SERVER-46466
Race with findAndModify retryable write and session migration
Replication
- SERVER-34768
Rollback can fail if run against a lagged node that catches up
- SERVER-35050
Don't abort collection clone due to negative document count
- SERVER-35437
Wait for secondary state after stepdown command in multi_rs.js
- SERVER-39112
Primary drain mode can be unnecessarily slow
- SERVER-39495
Shard key is omitted from update and remove oplog entries with multi:true
- SERVER-42219
Oplog buffer not always empty when primary exits drain mode
- SERVER-43867
Work around unrecoverability of rollback via refetch in tests
- SERVER-45178
Rollback via refetch can cause rollback to happen successfully w/o updating the rollback id.
- SERVER-45493
temporarily disable failing assertion in election_candidate_and_participant_metrics.js
- SERVER-45840
Blacklist tests that run emptycapped from replica_sets_kill_secondaries_jscore_passthrough
- SERVER-46050
Use getLastAppliedOpTime rather than getHeartbeatAppliedOpTime for checking primary's position
- SERVER-46238
Race between commitTransaction and transaction expiration leads to invariant
Query
SERVER-45363 Issue with mongodb text indexes and weights when using wildcard specifier
Aggregation
SERVER-45418 DocumentSourceCursor batching memory accounting does not account for empty documents, leads to unbounded memory use for count-like aggregates
Internals
- SERVER-40014
System-Perf: Default is_patch expansion to false
- SERVER-44325
Add polyfill for certificate chain verification
- SERVER-44435
Allow x509 authorization to be selectively enabled based on the CA
- SERVER-44853
MSI Should skip install MongoD service dialog when mongod is not selected to be installed
- SERVER-45766
Remove "requires" from the server yaml
- SERVER-46082
Use bin/analysis.py for performance projects
- SERVER-46126
LDAP proxy and mongod startup race in ldap_insuffcient_access_rights.js
- SERVER-46174
Free peer certificate in SSL_get0_verified_chain polyfill
- SERVER-46365
getMore command before rs.initiate() can trip invariant
- SERVER-46630
RemoveSaver writes GCM tag to incorrect file position
- WT-5150
LAS sweep is not removing the entries that are no longer required
- WT-5192
Don't allow checkpoints to evict without a snapshot
- WT-5263
Prepared updates written to the lookaside file are not always read as needed
- WT-5395
Fix a bug in the read lock implementation when there is a lot of contention
- WT-5587
Limit how many checkpoints are dropped by a subsequent checkpoint
4.0.16 Changelog
Sharding
- SERVER-44103
clear_jumbo.js should wait for balancer to be on mode: full for more than one round
- SERVER-44130
Flip order of assert.lte arguments in logical_time_metadata.js
Replication
- SERVER-45758
Add sleep to TimeInactiveMicrosShouldBeSetUponUnstashAndStash in session_test
- SERVER-45761
Use same clock for test and working code in session_test [v4.0]
Query
- SERVER-44658
Add correct tags for noPassthrough/max_time_ms.js
- SERVER-45279
GranularityRounder can get stuck in loop when rounding infinity
Storage
- SERVER-38794
CollectionOptions can be lost in createCollection if a write conflict exception is thrown
- SERVER-45289
Conditional jump or move depends on uninitialised value(s) in validate_adaptor.cpp
Build and Packaging
- SERVER-45713
Run rhel7 push and publish tasks on large rhel70 distro
- SERVER-45732
Filter flags from net-snmp-config invocation more aggressively
Internals
- SERVER-40047
Test for blocking queue should not test for non-guaranteed condition
- SERVER-42573
Only warn about readConcernMajority enabled in primary-secondary-arbiter configuration
- SERVER-45486
Add information to debug index key count mismatch issue in 'hashed_index_bad_keys_cleanup.js'
- SERVER-45831
[4.0] Performance regression processing large aggregation commands
4.0.15 Changelog
Security
SERVER-45309 Ensure bind credentials live longer than LDAP operations
Sharding
- SERVER-33597
Make allow_partial_results.js, return_partial_shards_down.js start shards as replica sets
- SERVER-36865
make fsm workloads that extend kill_rooted_or.js more robust in the sharded concurrency suites, or blacklist them
- SERVER-43195
Add namespace to ChunkManager ShardKeyNotFound failure in order to better diagnose failures.
- SERVER-44341
Do not choose only first shard of all shards associated with a zone when pre-splitting during shard collection
- SERVER-45100
Make the BatchWriteExecutor retry multi-writes only against unsuccessful shards
Replication
- SERVER-35407
ReplicationCoordinatorExternalState and data replication must not be started after shutdown
- SERVER-44061
Race while setting replication maintenance mode.
- SERVER-44503
Race in replsets/auth2.js
- SERVER-45396
fix the "me" field in isMaster responses when using splithorizon
Query
- SERVER-42565
Aggregations and find commands sort missing fields differently
- SERVER-45152
Negation of inequality on array can trip invariant
Aggregation
SERVER-44733 Change stream should throw ChangeStreamFatalError if a single shard cannot be targeted for updateLookup
Storage
- SERVER-43910
include Client/OpCtx information in LockManager::dump() output
- SERVER-44796
Adjust nojournal startup warning to be more compelling
Operations
SERVER-45290 Remove upstream metadata from v4.2's third party library manifest
Build and Packaging
- SERVER-44550
Remove mobile specific embedded commands
- SERVER-45346
Ubuntu 18.04 package testing task fails to install openssl
Internals
- SERVER-34844
Relax expectations in apply_batches_totalMillis
- SERVER-37406
A stashed Locker should keep information about the owning transaction
- SERVER-39131
Refactor storage engine lock file support
- SERVER-43210
jstests/sharding/kill_sessions.js doesn't wait for operation to be killed.
- SERVER-43246
Add a log line for when a cursor is reaped due to logical session cleanup
- SERVER-43349
Incorrect serialization for $elemMatch $not $ne
- SERVER-44578
Remove unused db_raii and server_status libs from storage_wiredtiger_core's LIBDEPS_PRIVATE
- SERVER-44828
Correct logic to re-compute dependencies after absorbing a $sort into query layer
- SERVER-45472
Ensure RoleGraph can serialize authentication restrictions to BSON
- WT-4636
Fix strace in syscall test
- WT-5042
Reduce configuration parsing overhead from checkpoints
- WT-5106
Remove temporary files in clang-format script
- WT-5112
Handling goto labels with multiple words in s_goto.py
- WT-5120
Checkpoint hangs when reconciliation doesn't release the eviction generation
- WT-5125
Adding new stats for eviction target strategy
- WT-5135
Change lookaside file inserts to use cursor.insert
- WT-5169
WT_REF_LIMBO pages cannot support fast (leaf-page only) searches
- WT-5196
Data mismatch failures with test/checkpoint after enabling LAS sweep
- WT-5218
Improve eviction to differentiate between clean and dirty pages with WT_CACHE_EVICT_NOKEEP readgen
- WT-5239
Fix syscall failure about metadata file open
- WT-5247
Ensure that only idempotent modify operations are logged
- WT-5277
Cursor key out-of-order detected in the lookaside file
- WT-5297
syscall.py fail on mongodb-4.0
4.0.14 Changelog
Security
- SERVER-28011
Support multiple KMIP hosts in the --kmipServerName parameter
- SERVER-43090
Fix LDAP connection health tests with Okta
- SERVER-43653
Upgrade static OpenSSL to 1.1.1d
- SERVER-44320
Allow zoned sharding commands to be authorized via actiontypes
Sharding
- SERVER-31083
Allow passing primary shard to "enableSharding" command for a new database
- SERVER-42737
MongoDB stuck on update metadata
- SERVER-42914
Implement random chunk selection policy for balancer for use in concurrency_*_with_balancer workloads
- SERVER-44476
Include number of jumbo chunks remaining in output of removeShard
Replication
- SERVER-41504
Track the number of ops during catchup in replSetStatus on primaries
- SERVER-41505
Track the average number of catchup ops in serverStatus
- SERVER-41506
Track metrics associated with a node calling an election
- SERVER-41507
Track the time the new term oplog entry was written in replSetStatus on primaries
- SERVER-41508
Track the time the new term oplog entry was majority committed in replSetStatus on primaries
- SERVER-41512
Track metrics associated with a node voting in an election
- SERVER-41513
Track the time the new term oplog entry was written by the primary and applied by secondary in replSetStatus on all nodes
- SERVER-42534
Step down primary for less time in freeze_timeout.js and increase electionTimeoutMillis
- SERVER-43239
numCatchUpOps in repSetGetStatus is incorrect
- SERVER-43398
Fix race in replSetGetStatus_new_term_oplog_entry_fields.js
- SERVER-43695
Add sleeps to session_test.cpp to account for discrepancy between curTimeMicros and Date_t clock sources [v4.0]
- SERVER-43703
Race when disabling rsSyncApplyStop failpoint and stopping server
- SERVER-43868
Session::TxnResources::release() can throw exceptions in destructors (4.0.x only)
- SERVER-43879
OplogInterfaceLocal::next should return an owned BSON obj
- SERVER-43972
initial_sync_capped_index.js should check SECONDARY state before running validate
- SERVER-44005
Improve robustness of rollback_after_enabling_majority_reads.js
- SERVER-44643
Use awaitSecondaryNodes in rollback_after_enabling_majority_reads.js instead of waitForState
- SERVER-44675
server_status_metrics.js fails due to racy repl.buffer.count metric in serverStatus
- SERVER-44788
Use awaitSecondaryNodes in seed_secondary_without_sessions_table.js instead of waitForState
Query
- SERVER-32567
Replace queryoptimizer3.js with FSM test
- SERVER-43699
Find $mod can result in UB
- SERVER-44050
Arrays along 'hashed' index key path are not correctly rejected
- SERVER-44269
Modernize max_time_ms.js
- SERVER-44571
Documents involved in SERVER-44050 corruption scenario cannot be updated or deleted after upgrade
Aggregation
- SERVER-38691
serverInfo not present in explain output for aggregation
- SERVER-42756
$multiply operator may return with or w/o an error depending on whether pipeline optimisation is enabled
- SERVER-43034
Special values handling is inconsistent in DoubleDoubleSummation
- SERVER-43764
Add more testing for special values in DoubleDoubleSummation
- SERVER-44174
$push and $addToSet should restrict memory usage
- SERVER-44869
Add query knob to control memory limit for $push and $addToSet
Storage
- SERVER-42312
Validate during rollback can cause count mismatch
- SERVER-43322
Add tracking tools for measuring OplogStones performance
- SERVER-43908
Modify IndexConsistency hash-map keys to avoid hitting an invariant on duplicate index keys in KeyString form for different indexes
- SERVER-44188
[4.0] validate_tests should remove index entries by RecordId obtained from the cursor
Operations
SERVER-28604 Log when a cursor is reaped for exceeding the timeout
Build and Packaging
- SERVER-37766
Platform Support: Remove Community zSeries From 4.0
- SERVER-37772
Platform Support: Add Community & Enterprise RHEL 8 x64
- SERVER-44392
Platform Support: Remove zSeries ubuntu 16.04
- SERVER-44545
Remove builders for Embedded SDKs on Mobile Platforms
- SERVER-44546
Remove mobile specific build and code artifacts
- SERVER-44687
error: 'operator delete' is unavailable: introduced in macOS 10.12
Internals
- SERVER-25025
Improve startup time when there are tens of thousands of collections/indexes on WiredTiger
- SERVER-38002
Upgrade Pcre to at least 8.42
- SERVER-39574
Support intermediate certificates in PEMKeyFile on Windows
- SERVER-40218
Write out expansions in system_perf.yml with expansions.write
- SERVER-40669
install_compass should not explicitly use python3
- SERVER-40749
Include execution in generated task configuration file name
- SERVER-42014
[4.0] repairDatabase should catch and report exceptions from repairCollections before re-opening the database
- SERVER-42961
Fix Split Horizon testing on SLES
- SERVER-43079
failpoint triggered by LogicalSessionCacheRefresh
- SERVER-43085
Regenerate all testing certificates with SHA-256 instead of SHA-1
- SERVER-43151
Error in aggregation assertion at value.cpp:1368
- SERVER-43241
Fix Executor failures in ARS dtor during shutdown
- SERVER-43319
Increase cursor timeout for 'concurrency_simultaneous' fixtures
- SERVER-43576
DBClientRS does not propagate applicationName
- SERVER-43577
Ensure ssl exceptions that terminate connections are logged.
- SERVER-43741
scons.py should not swallow the underlying ImportError
- SERVER-43771
Make v4.0's ClockSource::waitForConditionUntil avoid conversion of Date_t::max() to system time
- SERVER-43843
Skip validate during the rollback fuzzer "restartNode" command
- SERVER-43900
Set max_hosts to 1 for stitch_support_lib_build_and_test and embedded_sdk_build_and_test task groups
- SERVER-44006
Change Packaging License from AGPL to SSPL
- SERVER-44009
Upload pip freeze output for sys-perf and microbenchmarks
- SERVER-44064
Perform explicit cast on MessageCompressorManager parameter
- SERVER-44140
Use signal processing without DSI
- SERVER-44183
Failure to listen on an asio socket should be fatal
- SERVER-44248
[4.0] Use tojson instead of JSON.stringify in disk/repair_collection_failure.js
- SERVER-44312
Specify evergreen auth in performance tests for signal processing
- SERVER-44319
Skip keyfile check in replica_sets/auth1.js on windows
- SERVER-44567
Reimplement CommandState destructors for v4.0
- SERVER-44568
Update the embedded version of the server's timezone data file to tzdb-2019c
- SERVER-44651
Update signal processing version
- SERVER-44727
detect-changes should not be called via run-dsi
- SERVER-44868
Initialsync logkeeper and logkeeper-short tests should pass snapshot ID and dataset link respectively to dsi(sys-perf)
- SERVER-44946
Reenable tests disabled in BACKPORT-4512
- WT-4499
Fix prepared transactions for cursor key order check failure
- WT-4520
Fix prepare transactions fallout during cursor navigation
- WT-4537
Fix WiredTiger cursor prev/next traversal failure on prepare retry
- WT-4617
Cursor next/prev returns PREPARE_CONFLICT only once
- WT-4733
Change test/format to do longer-term repeatable read testing
- WT-4844
Only log an informational message when a set read-timestamp is older than the oldest timestamp.
- WT-4899
Fix bugs that could allow more than one birthmark in an update chain
- WT-4940
Reconciliation should set prepared/uncommitted for each update
- WT-4943
Fix a bug where uncommitted updates could be discarded
- WT-4961
Checkpoints with cache overflow must keep history for reads
- WT-5160
Stop requiring a checkpoint before calling rollback_to_stable
- WT-5201
Migrate develop test format to mongodb-4.0 branch
4.0.13 Changelog
Security
SERVER-43751 Recompute compressor manager message parameters
Sharding
- SERVER-10456
get cursor logic used to find docs to clone (in migration) is not same as in removeRange
- SERVER-36159
Log whenever the gossiped config server opTime term changes
- SERVER-36222
call to ReplSetTest.restart in shard_identity_rollback.js is racy
- SERVER-36315
After stepdown the CSRS dist lock manager keeps trying to unlock locks
- SERVER-41480
Increment collection major version on chunk splits/merges
- SERVER-42793
Autosplit size tracker random initial value is too low
Replication
- SERVER-34526
Remove the livenodes list from repl tests
- SERVER-37173
rollbackViaRefetch should survive attempt to drop non-existent collection
- SERVER-38356
Forbid dropping oplog when replset config is present
- SERVER-38685
Startup warning if In-Memory SE is used and writeConcernMajorityJournalDefault is true
- SERVER-39310
Check canServeReadsFor in getMores
- SERVER-40009
Set/honour initial sync flag at the early stages of initial sync
- SERVER-40954
Error message for UnrecoverableRollbackError in fCV 3.6 should recommend downgrading to 3.6
- SERVER-41218
rollback_after_enabling_majority_reads.js test should ensure the correct primary before restarting other nodes [v4.0]
- SERVER-41499
Track number of elections called for each reason in serverStatus
- SERVER-41500
Track number of successful elections for each reason in serverStatus
- SERVER-41501
Track the number of elections that require primary catchup in serverStatus
- SERVER-41502
Track the number of times primary catchup concludes for each reason in serverStatus
- SERVER-41503
Track the target opTime for catchup in replSetStatus on primaries
- SERVER-41509
Track the number of attempted stepDowns in serverStatus
- SERVER-41510
Track the number of failed stepDowns in serverStatus
- SERVER-41511
Track the number of stepdowns caused by seeing a higher term in serverStatus
- SERVER-41792
Starting replica set member standalone with recoverFromOplogAsStandalone as true should replay entries from oplog based on the checkpoint we start from.
- SERVER-41918
CollectionBulkLoader does not anticipate exceptions from MultiIndexBlock
- SERVER-42129
Modify test to account for the ephemeralForTest storage engine's missing oplog after restart
- SERVER-42155
Indicate term mismatches when readConcern times out
- SERVER-42454
Wait for node to find appropriate sync source before disabling failpoint in do_not_advance_commit_point_beyond_last_applied_term.js
- SERVER-42714
Log replication recovery oplog application completion at level 0
- SERVER-42767
Improve logging in ReplSetTest.stopSet
- SERVER-42910
Oplog query with higher timestamp but lower term than the sync source shouldn't time out due to afterClusterTime
- SERVER-43230
Fix race in catchup_takeover_two_nodes_ahead.js
- SERVER-43245
Wait for node to be secondary on restart in seed_secondary_without_sessions_table.js
Query
- SERVER-37690
countDocuments throws an error when matching 0 document
- SERVER-40110
ClusterCursorManager::CursorEntry::isKillPending() should not call checkForInterrupt
- SERVER-40382
Add a serverStatus metric to report plan cache memory consumption
- SERVER-41863
Make sleep command check that server clock has advanced before returning
- SERVER-42749
Ban server_status_with_timeout_cursors from transaction passthroughs
- SERVER-43074
Do not use a global variable to encode 'multikeyPath' information when writing out catalog documents
Storage
- SERVER-41909
Add the ValidateCmd Genny workload to system_perf.yml
- SERVER-42398
abortTransaction and commitTransaction commands should not acquire ticket irrespective of the prepared state.
- SERVER-42441
renameCollectionForApplyOps should always rename the target out of the way if it exists
- SERVER-42652
Fix issue with rename collection
- SERVER-42709
Change error message about missing UUIDs on startup
- SERVER-42915
New style repair's catalog corrections are often false positives, aggressively marking repl nodes as corrupted
Operations
- SERVER-42257
Add new shell startup banner
- SERVER-43081
validate should report when an index's 'multikeyPaths' are set but the 'multikey' flag is false
- SERVER-43350
The server crashes when trying to join collections ($ lookup with pipeline).
Build and Packaging
- SERVER-42911
Rebuild mongodb by building.md and failed to build due to ModuleNotFoundError: No module named 'Cheetah' with MSVC on windows
- SERVER-44114
Don't use scons cache on Ubuntu 18.04 s390x
Internals
- SERVER-37837
Possible for TransactionParticipant to never get cleaned up if no write happened
- SERVER-38141
Incorrect usage of MONGO_CONFIG_HAS_SSL_SET_ECDH_AUTO prevents enabling of elliptic curve auto negotiation
- SERVER-38493
Allow queryable storage engine to reuse connections between mongod and HTTP server
- SERVER-39777
step down nodes with a high freeze timeout before validating them on shutdown
- SERVER-41099
Fix incorrect error propagation from shards for explain command
- SERVER-41102
Join threads in transport_layer_asio_test
- SERVER-41248
Ensure ReplicaSetMonitor initializes its random state with truly random data
- SERVER-41261
Use the oplog entry after the common point to calculate rollbackTimeLimitSecs
- SERVER-41802
generate_resmoke_tasks doesn't apply max_sub_suites option
- SERVER-41939
Connect to fastest LDAP server first
- SERVER-41990
Burn_in should not average hook times for unique hooks
- SERVER-42075
Add DSI module to perf.yml
- SERVER-42107
LDAP conn pool should not block on the network in isHealthy() implementation
- SERVER-42178
Disable Split Horizon HOSTALIAS testing on SLES
- SERVER-42216
Ensure pin_getmore_cursor.js waits for server to finish killing cursor
- SERVER-42476
Improve free monitoring tests
- SERVER-42618
Disable legacy SCons cache pruning for all build variants
- SERVER-42706
Test seeding secondary without sessions or transactions table
- SERVER-42814
Remove informational message on overflow file size quota
- SERVER-42866
Trigger a logical session cache refresh on all shards in the ShardedCluster test fixture before running test
- SERVER-42953
ttl_repl_secondary_disabled.js should prevent elections
- SERVER-43022
Allow compile to be run independently on rhel 62
- SERVER-43186
Limit the number of tests added to a generated suite
- SERVER-43200
Make auth/mongoURIAuth.js robust to slow commands
- SERVER-43240
Add DSI and mongo-perf modules to MMAP build variants in v4.0 mongo
- SERVER-43582
Do not attempt to authenticate ReplicaSet Monitor
- SERVER-43634
Report different errors for missing scons and fail to import scons
- WT-4502
Assertion checking hazard pointers on page discard is too strong
- WT-4792
Add stat to track pages queued for eviction after LRU sorting
- WT-4840
WT_CURSOR.modify must require explicit, snapshot-isolation transaction
- WT-4869
Stop adding cache pressure when eviction is falling behind
- WT-4881
Soften the restrictions on re-entering reconciliation
- WT-4882
Improve checkpoint performance when there are large metadata pages
- WT-4892
Improve statistics about forced eviction
- WT-4893
Fix a race between internal page child-page eviction checks and cursors in the tree
- WT-4895
Fix debug eviction mode so it chooses skew more randomly
- WT-4898
Don't allow the eviction server to reconcile if it's busy
- WT-4920
Add statistics tracking when eviction server is waiting for page transitions
- WT-4956
Handle the case where 4 billion updates are made to a page without eviction
- WT-4957
Revert part of a change about when pages are queued for urgent eviction
- WT-5050
Assertion failure during urgent eviction of metadata page
- WT-5074
Fix "make check" on exotic architectures
4.0.12 Changelog
Security
SERVER-41587 Improve SECBUFFER_EXTRA handling
Sharding
SERVER-36394 mongos should reset chunk size tracking information when autosplit = false or splitvector returns too few split points
Replication
SERVER-42467 initial_sync_test_fixture_test assumes wiredTiger
Query
SERVER-41829 findAndModify ignores filter expressions that are not objects
Operations
SERVER-41152 A space in the authenticationMechanisms string should produce at least a warning message
Build and Packaging
- SERVER-42173
Add Ubuntu 14.04 to v4.0
- SERVER-42603
Recent service file change may cause cyclic dependencies
Internals
- SERVER-35114
Make it possible to adjust the period of active jobs in the PeriodicRunner
- SERVER-38395
Python global logger is polluted when importing certain resmokelib modules
- SERVER-39348
Cleanly release sessions in TLASIO unittest
- SERVER-39928
Stop testing PyMongo with Python 2.6 in drivers-nightly
- SERVER-39936
Use PeriodicRunner handles to simplify shutdown ordering
- SERVER-40899
Disallow chaining in change_stream_update_lookup_read_concern.js
- SERVER-42061
Validate decrypted payload in ESE
- WT-4878
Disable random dhandle selection and fine tune eviction target calculations
- WT-4913
Fix the Windows CRC32 on blocks that aren't 8B aligned and/or multiples of 8B
4.0.11 Changelog
Security
- SERVER-41069
Ability to disable authorization via x509 extensions
- SERVER-41441
Upgrade static OpenSSL to 1.1.1c
Sharding
- SERVER-26531
jumbo flag in chunk can be cleared when the shard that owns it donates a chunk
- SERVER-36004
SessionUpdateTracker should ignore no-op entries for pre/post image oplogs
- SERVER-36443
Long-running queries should not cause a build-up of unused ChunkManager objects
- SERVER-36469
shard_kill_and_pooling isn't querying the shard it's supposed to
- SERVER-38457
Actually fix race condition in retryable writes test
- SERVER-39756
Sharding a very large collection can result in a long stall of writes against this collection
- SERVER-40346
Write shardCollection initial chunks with BatchWriter
- SERVER-40535
Possibility to get a non-existent key if using ReadConcern level:local when reading signing keys in ReplicaSet
- SERVER-41575
secondary_shard_versioning.js should not set the shard secondaries votes to 0
- SERVER-41859
logical_time_metadata.js shouldn't assume lastApplied opTime equals $clusterTime
- SERVER-41866
Reverse mutex acquisition order in CatalogCache::_scheduleDatabaseRefresh
- SERVER-41867
CatalogCache::_scheduleDatabaseRefresh/_scheduleCollectionRefresh can try to grab _mutex it already owns
- SERVER-41869
Reverse mutex acquisition order in CatalogCache::_scheduleCollectionRefresh
- SERVER-42024
shards_and_config_return_last_committed_optime.js shouldn't assume opTime in response equals opTime in metadata
Replication
- SERVER-37065
Report ismaster:false in isMaster command response immediately upon learning of a new term
- SERVER-38659
Race condition in IsMasterIsFalseDuringStepdown unittest
- SERVER-40248
OplogEntry's getOperationToApply() returns incorrect field for updates
- SERVER-40336
ReplicationCoordinatorImpl::_random isn't robust to replica set members being started at the same time
- SERVER-41036
Make ReadWriteAbility::_canAcceptNonLocalWrites AtomicWord<bool> to prevent torn reads.
- SERVER-41342
read_committed_stale_history.js must perform continuous writes to ensure majority commit point propagates to secondary
- SERVER-41497
Create IDL types for ElectionMetrics, ElectionCandidateMetrics and ElectionParticipant Metrics
- SERVER-41498
Create ReplicationMetrics class
- SERVER-42055
Only acquire a collection IX lock to write the lastVote document
Query
- SERVER-40134
Distinct command against a view can return incorrect results when the distinct path is multikey
- SERVER-40869
$subtract with date can cause undefined behavior
- SERVER-41065
Make agg evaluate() thread safe by passing 'Variables' as a parameter
- SERVER-42079
all non-primary-started index builds should be labeled backgroundSecondary
Aggregation
- SERVER-40383
dateFromParts does not overflow correctly if isoWeek smaller than 1
- SERVER-41785
Improve robustness of change_streams_resume_same_clustertime_different_uuid.js
- SERVER-42232
Adding a new shard renders all preceding resume tokens invalid
Storage
- SERVER-41351
Improve error message from failure to obtain lock for storage stats collection
- SERVER-41533
Remove unnecessary IndexConsistency::_classMutex
- SERVER-41534
Reuse KeyString in RecordStoreValidateAdaptor
- SERVER-41535
Use vector instead of map for IndexConsistency::_indexesInfo
- SERVER-41536
Use vector instead of map for IndexConsistency hash buckets
- SERVER-41537
Use 64K hash buckets instead of 4M for index validation
- SERVER-41538
Remove indirection through indexNumber in IndexConsistency
- SERVER-41539
Cache key ordering in IndexInfo
- SERVER-41540
Fix _indexNsResultsMap usage
- SERVER-41541
Put a KeyString in IndexInfo for the RecordStoreValidateAdaptor
WiredTiger
- SERVER-41913
Avoid in-place modify operations for logged collections
Operations
- SERVER-36099
FTDC for mongos is unworkably large for large installations
- SERVER-41632
db.collection.getShardDistribution() shows NaN
Build and Packaging
- SERVER-36043
systemd unit for mongod starts before multi.user target
- SERVER-39465
Update master android builds to r19 NDK
- SERVER-40133
Create Markdown description of vendored third party libraries
- SERVER-40563
Our init scripts check /proc/[pid]/stat should validate that
(${procname})
is the process' command name. - SERVER-41039
Android and java multiarch builders cannot import yaml during config expansion
- SERVER-41302
Lift restriction on publishing embedded SDKs from the 4.2 branch
- SERVER-41424
scons should fail early if invoked with wrong Python interpreter
- SERVER-41443
Update Enterprise License
- SERVER-41568
Update third party inclusions for June 6th 2019
- SERVER-42233
Bump Windows package dependencies
Internals
- SERVER-26626
In external_auth_WT JSTests, ensure that Saslauthd has fully started before continuing test
- SERVER-33589
Create an initial sync fuzzer suite
- SERVER-35067
Blacklist explain2.js from retryable writes jscore stepdown suite
- SERVER-37984
Upgrade yaml-cpp >= 0.6.0
- SERVER-39480
Log network failure status in DBClientConnection
- SERVER-39642
Decrement egress counter when scoped connection not returned to the pool
- SERVER-40052
Shutdown in mongos can trigger BatchWriteOp invariant
- SERVER-40156
Initial implementation of Split Horizon
- SERVER-40295
Add details to stage_builder.cpp invariant message
- SERVER-40643
Add tests for
replSetConfig
andreplSetInitiate
with Split Horizon - SERVER-40645
Add tests for SNI/TLS behavior of Split Horizon
- SERVER-40738
Don't try to upload evergreen tarball when doing Android mobile builds
- SERVER-40923
Remove npm test command from "run jstestfuzz" Evergreen function
- SERVER-40924
Add Evergreen task to sanity check fuzzer can parse JavaScript tests
- SERVER-41004
killSessions command can return CursorNotFound error for successful kill
- SERVER-41013
Make lock_stats.js test more resilient against unset stats
- SERVER-41016
Calculate deltas for updates to large documents
- SERVER-41047
errnoWithDescription always returns "Unknown error" on Linux
- SERVER-41062
Always return TransactionTooLarge rather than BSONObjectTooLarge when transaction is too large to fit in a single applyOps
- SERVER-41075
Remove 'mongo/repl/replication_coordinator.h' from op-context inclusion path
- SERVER-41096
ContinuousStepdown thread and resmoke runner do not synchronize properly on the "stepdown permitted file" and "stepping down file"
- SERVER-41131
Add StrongWeakFinishLine
- SERVER-41148
FTDC is calling boost::filesystem without passing an error_code parameter
- SERVER-41164
Change Stream pipeline regex matches wrong oplog docs when using '|' pipe in db name
- SERVER-41169
Most powercycle testing for Linux was removed from Evergreen
- SERVER-41184
Add metrics to indicate the amount of sharded updates done with only _id in query
- SERVER-41349
Add a log statement for slow dns resolution
- SERVER-41361
Do not read at lastApplied while already holding the PBWM lock on secondaries
- SERVER-41401
patch_files.txt doesn't distinguish between enterprise and community files
- SERVER-41432
Create failpoint which when enabled makes $expr evaluate to false rather than an error when an invalid expression is encountered
- SERVER-41442
Fix second race in umask.js
- SERVER-41546
SysV init scripts should verify PIDfile exists instead of failing
- SERVER-41680
Propagate ${branch_name} Evergreen expansion to fuzzer invocation
- SERVER-41702
Copy Collection NamespaceString before yielding locks in AutoGetCollectionForRead
- SERVER-41753
Fix indexc.js to not depend on the clock always moving forward
- SERVER-41789
sys-perf: Use bootstrap.overrides in bootstrap.yml config file
- SERVER-41828
Ensure LDAP conn pool prefers ldap servers listed first
- SERVER-41833
Update README license text
- SERVER-41862
Make generated file for split resmoke tasks optional
- SERVER-41897
Use assert.sameMembers to compare two sets in jstests/ssl/libs/ssl_x509_role_auth.js
- SERVER-41967
Symlink /data to Z instead of C
- SERVER-42002
JSTests for regex characters in db/coll names should abide by system differences
- SERVER-42195
Stepdown suites fail with Python exception when run with --repeat >1
- SERVER-42228
LoggerRuntimeConfigError exceptions can lead to background dbhash thread running until Evergreen task times out
- WT-4477
Add eviction debug mode and extra checks
- WT-4690
Make sure eviction does not split during checkpoints
- WT-4706
Add a statistic to track the lookaside table size
- WT-4712
Add debug log op record for non-logged tables
- WT-4723
Restructure the reconciliation code
- WT-4760
Checkpoint should not read past a stable update
- WT-4776
Modify operations should be equivalent to updates
- WT-4803
Implement file_max configuration for Cache Overflow mechanism
- WT-4817
heap-buffer-overflow failure in timestamp_abort
- WT-4823
Add check for uninitialised lookaside resources
- WT-4827
Apply commit timestamps when a truncated page is read
- WT-4848
Fix perf regression when calculating differences
4.0.10 Changelog
Security
- SERVER-38217
Consider recording failed attempts to kill cursors in the audit log
- SERVER-39864
Move principal name extraction to error handler in SASL Start
- SERVER-40226
Upgrade static OpenSSL to 1.1.1b
- SERVER-40393
Disable SSL_MODE_RELEASE_BUFFERS in ASIO
- SERVER-40817
Handle createIndexes on roles collection in RoleGraphUpdate
Sharding
- SERVER-36355
Improve error message when shard key not present in all documents
- SERVER-36457
mongos_rs_shard_failure_tolerance.js test should assert that the movePrimary command succeeds
- SERVER-39420
Remove in-memory boolean to indicate config.server.sessions collection set up
- SERVER-40318
Condition variable wait in NamespaceSerializer::lock is not exception safe
- SERVER-40346
Write shardCollection initial chunks with BatchWriter
Replication
- SERVER-35636
Renaming collection for applyOps needs to check completeness of target namespace
- SERVER-39221
Test rollback after enableMajorityReadConcern upgrade/downgrade
- SERVER-39672
ReadConcern level in multi-statement transactions defaults to "snapshot"
- SERVER-39831
Never update commit point beyond last applied if learned from sync source
- SERVER-40068
Unblacklist kill_sessions_kills_transaction.js from replica_sets_jscore_passthrough.yml
- SERVER-40329
Log all transactions at TXN verbosity levels >= 1
- SERVER-40335
Don't wait for election handoff in ReplSetTest.stopSet()
- SERVER-40628
Initial sync could fail under replsetprio1.js settings
- SERVER-40788
Improve logging around replication catchup
- SERVER-40839
Add tests for empty unprepared transactions
- SERVER-40855
run_check_repl_dbhash_background.js with majority read concern false must allow for a missing majority op time
- SERVER-40976
rollback_after_enabling_majority_reads.js should not run on mmapv1
- SERVER-41006
Make replbatchlimitbytes configurable
- SERVER-41081
do_not_advance_commit_point_beyond_last_applied_term.js must wait for Node E to reach stopReplProducerOnDocument failpoint
Query
SERVER-40618 Remove removec.js from causally consistent jscore passthrough
Storage
- SERVER-30356
Improve error reporting for validation
- SERVER-32709
Mobile SE: Index creation takes a long time
- SERVER-40786
Improve error message in IndexCatalog::dropAllIndexes()
- SERVER-41213
Unique background index builds may produce inconsistent keys
Operations
- SERVER-34621
Log if client attempts renegotiation
- SERVER-38625
Improve shell error handling when Atlas user has not configured IP Whitelisting
- SERVER-38867
"show collections" no longer lists system.* collections
- SERVER-39820
Add the client IP address to the successful authentication log message
- SERVER-40112
db.disableFreeMonitoring() returns "not master" on secondary even after rs.slaveOk()
- SERVER-40423
Misleading error message when 'count' is run as the first command in a transaction
- SERVER-40866
Use JSON.stringify() to serialize string in tojson()
Build and Packaging
- SERVER-37765
Platform Support: Remove Ubuntu 14.04
- SERVER-39025
Windows MSI unattended installation missing mongod.exe with ADDLOCAL
- SERVER-40242
Update banner inclusions for vendored tools
- SERVER-40491
Update Debian 8 image for package test
- SERVER-41038
The results of git describe for MONGO_VERSION vary by git version
Internals
- SERVER-39869
System-Performance: Enable authentication in all tasks
- SERVER-40166
Force BG clock now == Date_t::lastNow
- SERVER-40246
Create evergreen task for cursor manager sys perf workload
- SERVER-40344
Upgrade ASAN builders to Ubuntu 18.04
- SERVER-40514
Race between BufferedHandler.close() and BufferedHandler.flush() leads to resmoke.py hanging with --log=buildlogger
- SERVER-40553
Filter unauthorized views in listCollections
- SERVER-40654
Do not override timeouts for generated tasks on PPC
- SERVER-40704
Have better task timeouts when dynamically setting the minimum
- SERVER-40720
Improve watchdog fuse test reliability
- SERVER-40758
Increase the amount of memory available for logical_session_cache_replication* tasks
- SERVER-40840
Disable tools testing in ssl_cert_password.js
- SERVER-40889
free_monitoring tests should use a virtualenv
- SERVER-40922
Add npm install command to "run jstestfuzz" Evergreen function
- SERVER-40932
Increase timeout for shutting down the ServiceExecutor
- SERVER-41088
Propagate Evergreen order field to Cedar for system perf
- SERVER-41103
Fix fuzzer task invocations
- TOOLS-2068
mongodump oplog delay
- TOOLS-2290
mongorestore should not treat % in collection names as URL escape character
- WT-4352
Resolve birthmarks during eviction in more cases
- WT-4631
Always clear the read timestamp for transactions
- WT-4687
Querying all_committed shouldn't get timestamp zero
- WT-4693
WT_CONNECTION::reconfigure should not require quiescence when downgraded
- WT-4750
Sweep can remove active lookaside records when files are closed and re-opened
- WT-4759
Save a copy when an old overflow value is discarded
- WT-4768
Inconsistent data with lookaside eviction followed by sweep
- WT-4769
Don't discard active history for empty pages
- WT-4794
Mark lookaside history resolved in all paths
- WT-4796
Enhance diagnostics that track ref state transitions
4.0.9 Changelog
Security
SERVER-38945 SSL performance regression
Sharding
SERVER-40333 Only clone collection options once for each shard on shard collection
Replication
- SERVER-39278
Wait for rollback to finish before ending session in transient_txn_error_labels_with_write_concern.js
- SERVER-39672
ReadConcern level in multi-statement transactions defaults to "snapshot"
- SERVER-40039
Increase assert.soon timeout in initial_sync_invalid_index_spec.js
- SERVER-40298
Track transaction size on 4.0
Query
- SERVER-38949
Incorrect index bounds for {$ne: ["String"]} query
- SERVER-40391
Remove low value explain2.js test
Storage
- SERVER-16571
Use Actual Memory Constraint vs. Total System Memory When They Differ
- SERVER-39026
Use correct type for retrieving WiredTiger statistics
- SERVER-39654
Storage statistics not logged for a slow transaction
- SERVER-40390
Blacklist skip_repairing_fcv.js from running on mmapv1 on 4.0
Operations
- SERVER-40131
Incorrect format string in Windows stacktrace generator.
- SERVER-40259
Include third party notices for ASIO and variant
Build and Packaging
SERVER-36622 Package tests fail for newer Ubuntu
Internals
- SERVER-34260
Ability to reuse a single TCP connection from mongod to the LDAP server
- SERVER-38239
Define and Implement getOperationStatistics of storage interface
- SERVER-38240
Extend OpDebug object to support storage statistics
- SERVER-38243
Test session storage statistics are part of slow operation report
- SERVER-38649
Add AlarmScheduler and AlarmRunner for general purpose alarms
- SERVER-38984
Attach IDs to users
- SERVER-39061
Fix the wt_operation_stats test to wait for the operation log to appear
- SERVER-39178
Negotiate SCRAM mechanism in MongoURI::connect()
- SERVER-39361
Synchronise collecting storage engine stats with shutdown
- SERVER-39488
Test does not see the storage statistics in the profiled output .
- SERVER-39764
Negation of $in with embedded array can incorrectly plan from the cache, triggering invariant
- SERVER-39869
System-Performance: Enable authentication in all tasks
- SERVER-39934
CurOp::completeAndLogOperation should not hang waiting for global lock
- SERVER-40341
Thread SSL connection mode through ConnectionPool interface
- WT-4324
Ensure checkpoints rewrite pages with data in the future
- WT-4554
Enhance WT salvage to handle the case of corrupted WiredTiger.turtle
- WT-4619
Coverity 111398: leaked memory
4.0.8 Changelog
Security
SERVER-39217 TLS intermediate CA certificate not working with macOS and 4.0.5
Sharding
SERVER-35219 Regain MongoDB balancer performance with sessions
Replication
- SERVER-37255
replSetReconfig with concurrent election can trigger invariant
- SERVER-38994
Step down on SIGTERM
- SERVER-40194
Revert SERVER-33248 on 4.0
- SERVER-40355
rs.config that contains an _id greater than the number of nodes will crash
Query
SERVER-39903 notablescan parameter should be ignored for internally used namespaces
Storage
SERVER-40024 Rename collection on a secondary can set the collection minimumVisibleSnapshot timestamp backwards in time after a background index build's ghost commit cluster time timestamp
Operations
SERVER-37722 Quiet mode does not suppress connection end events
Build and Packaging
SERVER-35628 Failed runtime links to do not result in failed tests for android emulators
Tools
TOOLS-2229 Mongofiles deletes chunks of existing file when failing to put_id with existing _id
Internals
- SERVER-34286
noPassthrough/currentop_query.js is failing on Amazon Linux 2
- SERVER-36750
blacklist memory.js on ppc64le in memory variants
- SERVER-37389
Give different messages for different connection failure reasons
- SERVER-38644
Guard against ephemeral files disappearing during umask test
- SERVER-39580
[4.0] Skip repairing the fCV document if the major version is too low
- SERVER-40154
change_streams_resume_at_same_clustertime.js should not assume change order
- SERVER-40233
Increase transactionLifetimeLimitSeconds from 3 to 24 hours
- SERVER-40305
Add diagnostic logging to max_time_ms.js
4.0.7 Changelog
Security
- SERVER-36606
Remove size limits on BSON audit events
- SERVER-39202
Improve deterministic calculation of key container names
- SERVER-39571
mongod cannot verify certificates from the CNG provider
Sharding
- SERVER-36901
sh.status() "Last reported error:" is actually 5th Latest error message
- SERVER-36958
Parts of the
_configsvrShardCollection
command do not retry on network errors - SERVER-37591
MigrationSourceManager is not exception safe before
startClone
completes - SERVER-38192
Ignore duplicate key error from refreshLogicalSessionCacheNow
- SERVER-38205
Optimize splitVector for the jumbo-chunk case
- SERVER-38387
agg_out.js concurrency workload always fails to shard the output collection
- SERVER-39203
failcommand_ignores_internal.js fails against mongod 3.6
- SERVER-39847
Migrating session info can trigger fassert when destination shard has transaction history truncated by oplog
- SERVER-40010
Shard secondaries with 4.0 binary and 3.6 fCV are calling
_flushDatabaseCacheUpdates
Replication
- SERVER-35663
Replication recovery does not update the logical clock
- SERVER-37179
Wait for specified write concern whenever commitTransaction returns a NoSuchTransaction error
- SERVER-37274
commands_that_accept_wc tests can give secondaries priority zero
- SERVER-37569
prohibit MapReduce on sessions with txnNumbers
- SERVER-37846
writeConcern can be satisfied with an arbiter if the write was committed
- SERVER-38297
Killing session on a secondary currently applying prepare oplog entry can fassert
- SERVER-38354
Allow shutdown error when reading last applied optime on startup
- SERVER-38722
CollectionCloner should handle QueryPlanKilled on collection drop
- SERVER-39215
Fix aggregation_currentop.js such that we don't compare timestamps generated from 2 different sources (mozjs & server).
- SERVER-39286
server_write_concern_metrics.js must use requires_journaling tag
- SERVER-39490
opWriteConcernCounters can cause undefined behavior due to overflow
- SERVER-39641
Blacklist max_time_ms.js from read concern linearizable passthrough
Query
- SERVER-13779
Allow $not to be applied to $regex (currently only /regex/ syntax is allowed)
- SERVER-36910
Reduce severity or remove log message for PlanExecutor::DEAD error during find
- SERVER-38764
External sorter should use 64-bit integers for file offsets
- SERVER-39210
Add debug logging to change_streams/shell_helper.js
- SERVER-39472
Backport changes to apply_ops_concurrent_non_atomic.js to account for HMAC key inserts in 3.6 and 4.0.
- SERVER-39650
Ensure internal options cannot be specified in a raw aggregate command sent to mongos
- SERVER-39771
TextMatchExpression crashes instead of serializing in some cases
Aggregation
- SERVER-31098
Wrong ns in system.profile for aggregation query
- SERVER-35740
Report high-water-mark resume token with each (possibly empty) change stream batch
- SERVER-38408
Return postBatchResumeToken from all mongoD change streams
- SERVER-38410
Allow ARM to consume postBatchResumeToken for merging
- SERVER-38411
Propagate postBatchResumeToken through mongoS to client
- SERVER-38412
Allow resuming from a high-water-mark resume token
- SERVER-38413
Always set an initial postBatchResumeToken
- SERVER-38414
Upgrade/Downgrade testing for change stream high water mark
- SERVER-38942
Improve robustness of postBatchResumeToken integration tests
- SERVER-38975
Single-collection high water marks omit UUID on shards where the collection does not exist
- SERVER-39166
$graphLookup should force a pipeline to split in sharded cluster
- SERVER-39322
Backport timelib fix for incorrect snprintf invocation with static buffer
- SERVER-39394
Views collation check should traverse through nested $lookup pipelines
- SERVER-39410
Re-enable batching in DSCursor for change stream cursors
- SERVER-39487
Aggregation operator $sqrt output for NumberDecimal is the same as $exp
- SERVER-39612
Validate fields in $geoNear
- SERVER-40094
Do not prematurely reject resume attempt in DSShardCheckResumability
JavaScript
SERVER-39481 Remove unused C++ injected JS constructors
Storage
- SERVER-17010
Reduce file handle usage in File based Sorter
- SERVER-35449
Return the oldest read timestamp used by any open transaction
- SERVER-35732
Hyphenated database names do not work with dbStats.fsUsedSize / TotalSize
- SERVER-38555
cappedTruncateAfter must not set oldest timestamp during startup recovery when enableMajorityReadConcern=false
- SERVER-38745
MigrationDestinationManager assigns incorrect timestamps while building multiple indexes
- SERVER-38801
Cope with large BSON blobs in queryable's
listDirectory
call. - SERVER-38833
A failure to timestamp a storage transaction requires restarting the transaction
- SERVER-39106
GlobalLock acquisition should throw when ticket acquisition times out if there is a max lock timeout and no deadline
- SERVER-39259
Mobile SE: Adjust SQLite Pragmas for Improved Performance
- SERVER-39719
Ensure that a node performing an initial sync from a secondary with a in-progress index build creates the index before initial sync is done
- SERVER-39723
Change listIndexes command behavior to show in-progress index builds
- SERVER-39773
decrease number of updates in rollback_wt_cache_full.js
- SERVER-39871
Make catalog_raii_test more resistant to clock issues on Windows
- SERVER-39922
Fix lock stats suboperation tests for mobile
Operations
- SERVER-34422
Expose metrics on idle versus active client threads
- SERVER-37155
Improve the LDAP server logging
- SERVER-38038
mongo shell should be linked with ErrorExtraInfo derivatives
- SERVER-38530
Add getResumeToken shell helper
- SERVER-39093
Cannot use TLS with readPreference={mode: "secondary"} without specifying --ssl to mongo shell
Build and Packaging
- SERVER-33958
When using thin archives the --cache=nolinked mode should push thin archives to the cache
- SERVER-35356
Add release process builder for embedded SDKs
- SERVER-35737
install_compass fails on MacOS
- SERVER-39354
Remove SCons cache pruning from prior branches
- SERVER-39483
Stripped binaries and .debug files should not be cached
Tools
- TOOLS-2030
mongodump does not dump system.js collections
- TOOLS-2109
Build Tools with Go 1.11
- TOOLS-2166
mongoimport --uri logs incorrect connected hosts
Internals
- SERVER-35138
service_state_machine.cpp should log a backtrace if there's an uncaught exception
- SERVER-35551
Mongobridge nodes don't remember their network partition configuration after a restart
- SERVER-36231
Mongos write path doesn't look for retryable write concern errors
- SERVER-37183
BSONElement::safeNumberLong is not safe
- SERVER-37382
printShardingStatus.js races with ShardingUptimeReporter thread
- SERVER-37620
Improve watchdog_test reliability
- SERVER-38319
DBClientRS should propagate URI options through all paths
- SERVER-38538
Improve thread safety of PeriodicRunnerImpl
- SERVER-38674
--ssl=off builds emit a scons warning
- SERVER-38697
Powercycle kill by PID might try to kill the wrong process
- SERVER-38725
Maven central release automation cannot close sonatype repository (401 unauthorized)
- SERVER-38746
Provide reason for transaction abort
- SERVER-38748
Background indexes created through applyOps should run on the command thread
- SERVER-38789
Accept connection failure on Windows in ssl_alert_reporting.js
- SERVER-38816
Use generate.tasks for required tasks over target runtime
- SERVER-38837
Make periodic_runner_impl_test more lenient in OnePausableJobResumesCorrectly
- SERVER-38933
currentOp is not resilient to drop shard
- SERVER-38954
Increase query execution time for the test case in max_time_ms.js that expects it to hit the time limit
- SERVER-39009
Make bulldlogger credentials location configurable via environment variable
- SERVER-39014
Incorrect error reported while re-installing with the Windows MSI
- SERVER-39019
$elemMatch $ne serialization is incorrect, doesn't roundtrip
- SERVER-39031
Make SCons default --jobs to CPU count
- SERVER-39056
Further refine readWriteAnyDatabase
- SERVER-39058
Synchronize user set modification in AuthorizationSession with Client
- SERVER-39127
Use generate.tasks for already converted tasks on all variants
- SERVER-39128
Avoid double-authentication during connect from mongo shell
- SERVER-39138
New test suites do not handle excludes properly when dividing suites
- SERVER-39212
waitForSecondaries in background dbhash check must wait for lastApplied to reach clusterTime when enableMajorityReadConcern=false
- SERVER-39232
Allow commands that do not require auth to refresh sessions
- SERVER-39284
Better handle timeouts for generated tasks with repeated execution
- SERVER-39303
Coverity analysis defect 105263: Dereference after null check
- SERVER-39386
Specifically use the version of the android NDK that we want to use
- SERVER-39421
Fix opCtx and baton waits
- SERVER-39564
burn_in_tests.py doesn't run tests in the configuration for
*_gen
Evergreen tasks - SERVER-39590
improve port_options.js logfile polling
- SERVER-39686
Clean up cloud_nightly project file
- SERVER-39746
System-Performance: Write project in runtime.yml
- SERVER-39779
Don't override timeouts if not all test have history
- SERVER-39822
Improve watchdog_test.exe test reliability
- SERVER-39823
Free Monitoring may ignore re-register requests on secondaries
- SERVER-39830
Race in PeriodicRunnerImpl between start() and stop()
- SERVER-39900
change_streams_resume_at_same_clustertime.js should not assume same that multi-update across shards are performed at the same clusterTime
- SERVER-39946
Handle splitting tasks with only filtered test history
- SERVER-40034
Set setup_group_can_fail_task to true for compile-related task groups
- SERVER-40076
Tag JavaScript tests with the reason they're unable to run in Atlas
- SERVER-40195
Pin all Gradle dependencies
- TOOLS-1906
Ignore mongorestore error "x509 certificate routines:X509_STORE_add_cert:cert already in hash table"
- TOOLS-2158
mongodump failing on Windows with "error opening system CA store: Access is denied."
- TOOLS-2167
Add CGO flags for building on Windows
- TOOLS-2168
Add CGO flags for building on MacOS
- TOOLS-2210
Build with tools with Address Space Layout Randomised (ASLR) flags enabled
- WT-4447
Add prototype implementation allowing limiting of IO per subsystem
- WT-4483
Improve caching of small updates to large values
- WT-4518
Give applications a chance to handle panic before API panic returns
- WT-4522
Update WiredTiger copyrights to 2019
- WT-4528
Retry Windows functions on access denied
- WT-4532
Fix null pointer access to WT_DATA_HANDLE in __wt_page_in_func
- WT-4547
Consolidate capacity and block manager bytes written
- WT-4562
Coverity: possible divide by zero conn_capacity:434
- WT-4576
Coverity warning in conn_capacity.c
- WT-4615
Sync backup file before returning backup cursor
4.0.6 Changelog
Security
- SERVER-37565
mongod continuously restarting after upgrade to 4.0.2
- SERVER-38293
Make listDatabases understand collection privileges
Sharding
- SERVER-9043
Link
flushRouterConfig
on the config server and shards - SERVER-31156
Admin command to update the chunk metadata for only one collection
- SERVER-36863
query_config.js assumes that config.mongos is always present
- SERVER-38050
The range deleter doesn't validate it is still operating on the same collection after the deletion loop
- SERVER-38062
Add assert.commandWorked() to commands in read_pref_cmd.js
- SERVER-38196
Coverity analysis defect 105128: Unchecked return value
- SERVER-38472
A config server can return early for a shardCollection command even if the shard hasn't finished its own shardCollection command
- SERVER-38641
clone_catalog_data.js should call awaitLastOpCommitted on CSRS before calling _cloneCatalogData directly against shard
- SERVER-38751
_migrateClone and _transferMods incorrectly labeled as idempotent in MigrationDestinationManager
- SERVER-39030
Wrong info logged by splitVector
- SERVER-39180
Wrong initial chunk owner shard can be selected when sharding non-empty collection with pre-created zones
- SERVER-39234
Sharding an empty collection in mixed-shard version configurations may leave all chunks on the primary shard
Replication
- SERVER-32146
Log slow oplog entry application
- SERVER-34943
failCommand failpoint should ignore commands from replica set members
- SERVER-35608
Invariant that term from lastAppliedOptime is never greater than our current term
- SERVER-37189
transactions.currentActive has a value of -1
- SERVER-37910
Create new serverStatus metric for number of operations applied on a secondary that's incremented at batch boundaries
- SERVER-37915
Replication doesn't update opsCounterRepl command on secondaries
- SERVER-38052
ReplBatcher thread must handle exceptions
- SERVER-38059
Transactions write conflicts tests should clean up any transactions on failure
- SERVER-38200
Fix ./jstests/replsets/initial_sync_oplog_hole.js to prevent using stale heartbeat info in the test.
- SERVER-38476
Increase timeout for clean_shutdown_oplog_state.js, again
- SERVER-38647
backup_restore_rolling.js can fail due to stepdown
- SERVER-38740
Remove wait for drop to have pending X lock in abort_transaction_thread_does_not_block_on_locks.js
- SERVER-38998
Create serverStatus metrics for readConcern and writeConcern
- SERVER-39142
ServerWriteConcernMetrics must lock _mutex before modifying members
- SERVER-39267
Guard opWriteConcernCounters behind flag
Query
- SERVER-35455
QueryPlannerAccess should hold owned pointers by unique_ptr rather than raw pointer
- SERVER-38275
Handle explains without namespaces
- SERVER-38601
Add regression test for memory leak during planning
Write Operations
SERVER-37284 ndeleted:0 is logged/profiled when the number of deleted documents is not known
Aggregation
SERVER-39109 mongod crash: Invariant failure !_exec src/mongo/db/pipeline/document_source_cursor.cpp 295
Storage
- SERVER-37484
Only alter table logging settings on startup and not collection creation
- SERVER-37911
CreateIndex via applyOps should notify opObserver in the WUOW of index commit
- SERVER-38434
queryableBackupMode and wiredTigerEngineConfigString flags are incompatible
- SERVER-38498
decrease number of updates in rollback_wt_cache_full.js
- SERVER-38779
Build a mechanism to periodically cleanup old sessions from session cache
- SERVER-38869
Log more information in run_check_repl_dbhash_background.js
- SERVER-38928
background dbhash test hook incorrectly relies on a primary's lastApplied being >= its secondary's lastApplied
Operations
- SERVER-33469
Make syslog log lines consistent with mongod log lines
- SERVER-38983
Differentiate UserNotFound from AuthenticationFailure in audit log
Build and Packaging
- SERVER-35936
MongoDB Community Windows installer fails to install Compass
- SERVER-37775
Platform Support: Add Community RHEL7 (zSeries)
- SERVER-37777
Platform Support: Add Community SLES12 (zSeries)
- SERVER-37778
Platform Support: Add Community & Enterprise Ubuntu 18.04 (zSeries)
- SERVER-38416
Upgrade static OpenSSL to 1.1.1a
- SERVER-38726
Add stable toolchain variables files
- SERVER-39176
Repo config for RHEL7 s390x is missing
Internals
- SERVER-31755
Raise intermediate $lookup document size to 100MB, and make it configurable
- SERVER-34394
Server Option to Explicitly Prevent SNMP Usage
- SERVER-35393
Go Driver Unit Tests receive error code 9001 when doing a large insert many
- SERVER-35620
downloaded file integrity: use shasum instead of python script
- SERVER-36740
Sometimes crashes on windows don't provide a backtrace
- SERVER-36774
Allow shell assertion functions to take objects for the 'message' argument
- SERVER-36817
replSetFreeze command run by stepdown thread may fail when server is already primary
- SERVER-37078
Use awaitSecondaryNodes() instead of waitForState() to confirm a node is a secondary in repair_invalidates_replica_set_nodes.js
- SERVER-37143
Retry on Interrupted errors in the background DB hash hook
- SERVER-37240
Enable dbhash background thread for enableMajorityReadConcern:false variant
- SERVER-37241
Add testing to verify proper expiration of sessions in the sessions collection
- SERVER-37359
Update the test lifecycle script to use the new Evergreen test stats endpoint
- SERVER-37428
Sys-perf: linux builds using enterprise bits
- SERVER-37490
Increase the ConnectTimeout for powercycle
- SERVER-37562
Reduce all IX locks to IS locks in SessionsCollectionRS
- SERVER-38109
Update generate_resmoke_suite.py to use cached history endpoint
- SERVER-38110
Generate resmoke config YAML for a sub-suite
- SERVER-38112
Add "generate resmoke sub-suites" in etc/evergreen.yml
- SERVER-38113
Generate evergreen config for generated sub-suites
- SERVER-38114
Update evergreen.yml to use generate tasks for already split tasks
- SERVER-38115
Consolidate setting of resmoke.py --job to a python script
- SERVER-38177
Repair with bind_ip results in a null pointer dereference
- SERVER-38182
run_check_repl_dbhash_background aborts all transactions after an error even if they've already successfully committed
- SERVER-38415
checkLog.containsWithCount does not reset count before each loop of assert.soon
- SERVER-38445
Date_t and Duration addition can overflow
- SERVER-38509
Handle degraded mode for test history in generate_resmoke_suites
- SERVER-38616
LDAPArrayIterator behaves incorrectly when initialized with an empty array
- SERVER-38639
Install psutil module in "run tests" in etc/evergreen.yml [v4.0]
- SERVER-38710
Support dependencies when generating evergreen tasks
- SERVER-38748
Background indexes created through applyOps should run on the command thread
- SERVER-38818
Better handle dependencies between generated tasks
- SERVER-38887
Mongo.getDBs() does not correctly inspect privileges
- SERVER-38946
Properly handle new excludes in generated tests
- SERVER-38990
Exclude tests that require mmapv1 for s390x variants
- SERVER-39013
Add gdb pretty printers for absl::flat_hash_map/set
- WT-4192
Remove WiredTiger raw compression support
- WT-4280
Add debugging to know which session has a hazard pointer
- WT-4319
Improvements to csuite tests
- WT-4331
Further extend max wait time for test_bug019.py
- WT-4383
Update session statistics to reflect the operation statistics.
- WT-4384
Add documentation about session statistics cursor
- WT-4393
Document cursor behaviour for read committed isolation
- WT-4410
Split 'unit-test' task to reduce Evergreen Ubuntu build variant runtime
- WT-4417
Make os_cache_max and os_cache_dirty_max reconfigurable
- WT-4421
Add a way to calculate modify operations
- WT-4430
Fix race between prepare and page instantiate with fast truncate
- WT-4434
Modify zstd compression level from 3 to 6
- WT-4438
Use more accurate statistics for cursor cache totals
- WT-4442
Add the ability to duplicate a backup cursor
- WT-4454
Auto-generate Evergreen configuration when adding new 'make check' or csuite tests
- WT-4455
test_wt4156_metadata_salvage with HAVE_ATTACH fails on zSeries
- WT-4457
Add a maximum of dirty system buffers for the logging subsystem
- WT-4463
Reduce runtime for csuite handle locks testing
- WT-4464
In debug output row-store internal page keys may not format correctly
- WT-4469
Coverity #105148: redundant test
- WT-4470
Minimize testing that requires TESTUTIL_ENABLE_LONG_TESTS
- WT-4479
Remove schema lock wait assertion from the test
- WT-4480
Fix duplicate backup cursor and archiving check
- WT-4481
Evergreen script cleanups
- WT-4482
lint
4.0.5 Changelog
Security
- SERVER-35212
URI connection does not default to admin database when no authSource is specified
- SERVER-37687
Capture libldap ErrorString in bind failure
Sharding
- SERVER-30714
Handle step down error in ReplicationCoordinatorExternalStateImpl::_shardingOnTransitionToPrimaryHook
- SERVER-36349
Handle the ShardingOperationFailedStatus in the OperationShardingState destructor when the OperationContext is not created in a ServiceEntryPoint
- SERVER-36965
Ensure setUp writes in
safe_secondary_reads_single_migration_suspend_range_deletion.js
get propagated to the shard secondary - SERVER-36966
Sharded map reduce may fail to clean up temporary output collection
- SERVER-37051
ShardServerCatalogCacheLoader does not check the internal term after reading from the task queue
- SERVER-37080
Implement tuneable batch size for chunk migrations
- SERVER-37339
Sharding state is set to initialized on Grid before sharding components are fully initialized
- SERVER-37354
Make _shardsvrShardCollection re-entrant
- SERVER-37511
Logical session reaper and refresh threads should set up sessions collection immediately
- SERVER-37616
Implement tuneable batch size for the rangedeleter
- SERVER-37624
Sessions never expire when you change value of localLogicalSessionTimeoutMinutes
- SERVER-37902
recovering_slaveok.js should assert all writes it makes succeed
- SERVER-37918
Fast initial split algorithm produces corrupted routing info if passed unsorted zones list
- 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-38371
Session catalog migration will skip later sessions if a different earlier session encounters new transaction
- SERVER-38392
Remove assertion that we can't shard a non-empty collection associated with tags
Replication
- SERVER-37317
Make sleepmillis more conservative in slow transaction logging unit tests
- SERVER-37500
Blacklist geo_s2ordering from replica_sets_kill_primary_jscore_passthrough suite
- SERVER-37557
Add startup warning about enableMajorityReadConcern and usage of arbiters
- SERVER-37676
Implicit collection creation is allowed in aborted transactions
- SERVER-37935
Remove read concern "majority" overrides for change streams test suites
- SERVER-38024
initial_sync_oplog_hole test should be tagged as requiring document locking
Query
- SERVER-36115
invalidated_cursors.js FSM workload should ensure killOp is sent to same node as currentOp
- SERVER-37385
Change max_time_ms.js to tolerate 'Interrupted' error codes
- SERVER-37838
stepDown during a getMore followed by an OP_KILL_CURSORS can crash the server
- SERVER-38070
Infinite loop in aggregation expression
- SERVER-38164
$or pushdown optimization does not correctly handle $not within an $elemMatch
Aggregation
- SERVER-37027
[4.0 only] Adapt change stream resume token when a stream detects fCV changes
- SERVER-37182
Different values when referencing whole object vs. a field of that object after $arrayToObject
- SERVER-37200
$match stage following $listSessions not working against mongos
- SERVER-37750
Optimized $sample stage does not yield
- SERVER-37779
mongos does not correctly enforce that a change stream must be the first stage
- SERVER-38223
change_fcv_during_change_stream.js requires majority read concern
- SERVER-38332
change_fcv_during_change_stream.js requires transactions
Storage
- SERVER-29825
Do not allow rename from unreplicated to replicated DB or vice-versa
- SERVER-36873
ReplicationCoordinatorExternalStateImpl::shutdown() must not hold _threadMutex while waiting for _taskExecutor
- SERVER-36968
Rebuild interrupted indexes before checking AuthZN index presence
- SERVER-37313
FTDC collection blocked during foreground index build on secondary
- SERVER-37408
Add afterClusterTime to initial sync collection scans
- SERVER-37524
In-Memory Storage Engine With Storage Watchdog Crashes The Server
- SERVER-37784
Repairing the size storer should not fassert
- SERVER-37796
Always salvage WiredTiger metadata regardless of error code when starting with repair
- SERVER-37862
Reduce update ops in initial_sync_wt_cache_full.js
- SERVER-37930
Add test coverage for createIndexes inside nested applyOps
- SERVER-37931
lock_stats_suboperation_logs.js should ignore noise lock stats
Operations
- SERVER-35485
Mongo Shell does not accept compressors connection string argument
- SERVER-36262
mongo shell: allow users to show dbs (on <4.0 versions of the server) without the listDatabases privilege
- SERVER-36272
Shell assertion failure with certain characters in the password
- SERVER-36977
Initial mongod.log is created using umask vs mode 600
Build and Packaging
- SERVER-35972
Run push tasks more often
- SERVER-37598
Add a canary builder for GCC 8
- SERVER-38049
embedded-android pom.xml should declare slf4j dependency as optional
- SERVER-38078
WT SCons configure checks for fallocate and sync_file_range are broken
- SERVER-38421
Requirement on cryptography should reflect what is in the toolchain
- SERVER-38581
Create "is_release" compile expansion
Tools
- TOOLS-1709
Set build version and git revision using -ldflags
- TOOLS-2149
Configure build outside Evergreen
Internals
- SERVER-34770
Retry on JavaScript execution interruptions in stepdown suites
- SERVER-35062
Add TPCC to Sys Perf Configuration
- SERVER-35250
save dbtest debug symbols in debug_symbols tar
- SERVER-35768
gssapiServiceName URL parameter does not work
- SERVER-35832
Correct flaws in Dagger evergreen config
- SERVER-36060
Make unit tests build cleanly on clang-6
- SERVER-36437
The dbstats command should lock the database in MODE_IS instead of MODE_S
- SERVER-36626
Draw wait-for graph from left to right
- SERVER-36805
Run tpcc on 3 node replset
- SERVER-36998
compile_dbtest task isn't running against large distro on Enterprise Windows 2008R2 builder
- SERVER-37472
Improve behavior if user downgrades to 4.0 binary without setting fCV to 4.0
- SERVER-37526
IDLify listDatabases command
- SERVER-37527
Broken logic in ServerMechanismBase class.
- SERVER-37551
Add {authorizedDatabases:bool} param to {listDatabases} command.
- SERVER-37628
Fix mongo_uri_test:InvalidTestCase construction
- SERVER-37678
Update linter to enforce SSPL in header files
- SERVER-37717
Race between Baton::notify() and Waitable::wait()
- SERVER-37854
Coverity analysis defect 105094: Uninitialized scalar field
- SERVER-37877
Enable sys-perf testing of auditing on v4.0
- SERVER-37913
coll_epoch_test1.js does not wait for the config server to replicate after dropping collections.
- SERVER-37941
specifying --bind_ip localhost results in error "address already in use" when IPv6 alias exists
- SERVER-38055
Mongod servers started through the shell do not respect TestData.enableMajorityReadConcern
- SERVER-38066
Shell utils should open files in binary mode
- SERVER-38098
MongoDB's yaml-cpp is rejected by latest MSVC
- SERVER-38111
Implement max_sub_suites in generate_resmoke_suite.py
- SERVER-38116
Update fuzzer tasks to use generate.tasks
- SERVER-38159
Blacklist umask nopassthrough test on mmapv1
- SERVER-38178
Buffer Overflow in data_builder.h when using terminated StringDatas
- SERVER-38281
TLS info message isn't captured into system log
- SERVER-38303
Temporarily handle ipv6 failures due to s390x machine without ipv6 enabled
- SERVER-38306
change 'multipath' to 'multiversion' in evergreen_gen_fuzzer_test
- SERVER-38312
Unable to run jstestfuzz* tasks on variants with long names
- SERVER-38452
Automate Maven Central releases for MongoDB embedded
- 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
- WT-3756
Adjust pre-allocated file amount downward if we're not using them quickly enough
- WT-4043
Take locks while dumping the cache to avoid crashes
- WT-4159
Improve log preallocation algorithm
- WT-4298
Fix workgen to retry on WT_ROLLBACK and clear ops after warmup
- WT-4343
Unlock when sleeping to allow other log threads to make progress
- WT-4345
Set corruption and return salvage on facing a missing log file
- WT-4371
Workgen improvements to create a MongoDB-like workload
- WT-4372
For throughput testing, create a standard metric to measure latency smoothness
- WT-4376
Fix a bug where table index open can race
- WT-4378
Create new auto functions and cursor for session level statistics
- WT-4381
Reset session statistics as on WT_SESSION::reset()
- WT-4385
Prepare-conflict during a cursor scan can return the wrong key
- WT-4392
A large lint change
- WT-4394
Reduce Evergreen Ubuntu build variant runtime by splitting up 'make check' tests
- WT-4395
Seg fault walking corrupted log with log cursor
- WT-4396
When retrying after prepare-conflict, cursor unable to find a valid update
- WT-4399
Fix compression with workgen's wtperf emulation
- WT-4400
Fix workgen use of PRIxxx macros, needed for old C++ compilers
- WT-4401
workgen: wtperf emulation: sample_interval broken with integer values
- WT-4402
Add rollback support and monitor JSON output in wtperf
- WT-4403
Add statistic tracking accumulated dirty cache
- WT-4405
Fix cursor next and prev for prepared transactions
- WT-4409
Fix workgen throttling
- WT-4411
Added connection statistic for current total of cached cursors
- WT-4412
wtperf coverity fixes
- WT-4418
Don't keep key/value memory buffers allocated for cached cursors
- WT-4419
big-endian machines incorrectly configure little-endian crc32c support
- WT-4422
Don't queue clean pages for urgent eviction
- WT-4427
Make WiredTiger timestamps always on and 8 bytes
- WT-4440
Force a copy of the stable timestamp for clarity
4.0.4 Changelog
Security
SERVER-37135 TLSVersionCounts needs to track and report TLS 1.3
Sharding
- SERVER-29160
Sharding commonly uses write concern timeouts of 15 seconds and these are timing out in migration related operations and causing BFs
- SERVER-31563
Reevaluate not_allowed_on_sharded_collection_cmd.js testing
- SERVER-31892
moveChunk with
waitForDelete
doesn't wait for majority write concern - SERVER-35323
sessionId matching ignores userId part of the lsid
- SERVER-35763
lastWriteDate field can get out of sync between repl set nodes during migration
- SERVER-36831
LogicalSessionCache on mongos does not correctly report active operations
- SERVER-36850
Add a replication passthrough suite to detect errors in LogicalSessionsCache
- SERVER-36959
_shardServerShardCollection should use afterOpTime when counting chunks on the config server
- SERVER-37142
invariant failure during movePrimary during cleanup
- SERVER-37330
Add sharded passthrough suites to detect errors in LogicalSessionCache
- SERVER-37430
Destroy sharding task executors and AsyncRequestSenders after the PeriodicRunner is destroyed in mongod shutdown
- SERVER-37496
The balancer shouldn't register a shutdown task after the process is multithreaded
- SERVER-37578
Assert that a zone is associated with a shard before sharding the collection
- SERVER-37657
Report the offending oplog entries if a batch contains non-increasing transaction numbers
- SERVER-37918
Fast initial split algorithm produces corrupted routing info if passed unsorted zones list
Replication
- SERVER-20845
re-add replSetReconfig to auditing suite
- SERVER-36978
TaskRunner must ensure Client is initialized for thread before running tasks
- SERVER-36979
Aborting a transaction must abort WUOW before releasing locks.
- SERVER-37118
Coverity analysis defect 105000: Arguments in wrong order
- SERVER-37227
Reintroduce enableMajorityReadConcern:false server parameter
- SERVER-37514
Snapshot readConcern without atClusterTime should always be speculative
Query
- SERVER-37058
Update with numeric field names inside an array can cause validation to fail
- SERVER-37132
Negation of $in with regex can incorrectly plan from the cache, leading to missing query results
JavaScript
- SERVER-30773
bsonWoCompare and bsonBinaryEqual should work with bsonelement types
- SERVER-37126
Invoke runSafely for all external implscope methods
Storage
- SERVER-26854
LockStats for sub-operations should not include time for previous sub ops
- SERVER-36534
Don't acquire locks on oplog when writing oplog entries
- SERVER-36883
support non-doc-locking storage engines in SERVER-36534
- SERVER-37055
IndexBuildBlock::fail() should grab a lock
- SERVER-37394
Invariant failure deadline != Date_t::max() or Invariant failure date.isFormattable()
- SERVER-37618
Capture all the logs in lock_stats_suboperation_logs.js
- SERVER-37662
Include backupCursor state in output of serverStatus
- SERVER-37749
replSetResizeOplog command does not validate argument
Build and Packaging
- SERVER-37067
Upgrade static OpenSSL to 1.1.0i
- SERVER-37158
Set compatibility_version field for darwin SDK shared libraries
- SERVER-37402
Improve mobile licensing text
- SERVER-37407
Harmonize embedded tarball name and unpacked directory names
- SERVER-37488
Install BCSymbolsMap into darwin embedded frameworks
- SERVER-37584
Build failure on case-sensitive macOS file system: CommonHmac.h
- SERVER-37596
Add debug info packages to mobile SDK builds
- SERVER-37640
no member named 'SSLCopyRequestedPeerNameLength' in the global namespace
- SERVER-37651
Update license files for MongoDB Community Edition
- SERVER-37691
Compile WatchOS builds with -fapplication-extension flag
- SERVER-37754
Duplicate license headers in IDL files
- SERVER-37785
Rename bundle identifier in frameworks to adhere to bundle naming rules
- SERVER-37852
Publish mobile artifacts on release builds
Tools
- TOOLS-2069
mongoreplay does not support SCRAM-SHA-256
- TOOLS-2102
Mongorestore does not check for errors decoding the oplog.bson file
- TOOLS-2131
mongorestore hang in replaying oplog with --archive and --oplogReplay option
Internals
- SERVER-18985
setParameter should log at level 0
- SERVER-31570
Adjust mongobridge port allocations for easier debugging
- SERVER-33470
Log archival message, even if successful, in hook_test_archival.py
- SERVER-34986
CIDR Block That is Exempt from maxConns
- SERVER-35570
Improve robustness of backup_restore.js around dropping test database
- SERVER-35818
provide a stdx::variant
- SERVER-35861
Remove call to dashboard_gen.py in perf.yml
- SERVER-36250
Add support for optionally logging specific negotiated TLS versions
- SERVER-36420
SecTrustCopyAnchorCertificates is not safe to use after a fork
- SERVER-36451
ContinuousStepdown with killing nodes can hang due to not being able to start the primary
- SERVER-36705
Add CocoaPod for embedded darwin frameworks
- SERVER-36721
list_local_sessions.js cannot run concurrently with refreshLogicalSessionCacheNow
- SERVER-36756
Log the githash of the 10gen/jstestfuzz repository when the fuzzer's self-tests fail
- SERVER-36885
Make ASIO remember IOCP state when transiently out of resources
- SERVER-36964
Prevent secondaries in SessionsCollectionRS from attempting to set up the sessions collection.
- SERVER-36986
list_local_sessions.js expects non-existent session to exist when running concurrently with LogicalSessionsCache refresh
- SERVER-36988
awaitdata_getmore_cmd.js times out when run concurrently with the LogicalSessionCache refresh suite
- SERVER-37064
Wrap "mongod_flags" onto multiple lines for readability
- SERVER-37081
Catch asio::system_errors when resolving GenericSocket
- SERVER-37083
Improve Window secure allocator
- SERVER-37228
Escape double quotes in hang analyzer's waitsfor graph
- SERVER-37334
Strip .jar and .aar of unnecessary shared objects
- SERVER-37353
Handle $slice value of LLONG_MIN gracefully
- SERVER-37391
plan_cache_index_create.js should wait for index build start, rather than just createIndexes command start
- SERVER-37393
Fix destructor race in
ReplicaSetMonitorManager
- SERVER-37410
Add standalone passthrough suites to detect errors in LogicalSessionCache
- SERVER-37411
Fix bundle identifiers in embedded Info.plist
- 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-37464
Reduce threadCount and iterations in secondary_reads.js workload
- SERVER-37467
Have collect_resource_info.py recover from transient errors.
- SERVER-37477
Disable TIG daily cron for update_test_lifecycle
- SERVER-37495
Change Android minimum API level to 21
- SERVER-37513
Pass along JNA exceptions from MongoEmbeddedCAPI.create
- SERVER-37561
Server startupWarnings show spurious empty lines
- SERVER-37563
Get rid of
getGlobalAuthorizationManager
and unnecessary references to theauthorization_manager_global
library - SERVER-37583
Changes to etc/cloud_nightly.yml
- SERVER-37599
Log exit code of shell-spawned processes
- SERVER-37683
Change embedded iOS min version to 11.0 in CocoaPod podspec
- SERVER-37684
Change embedded iOS min version to 11.0 in evergreen builders
- SERVER-37685
ensure free monitoring queue preserves FIFO on messages with same deadline
- SERVER-37701
Make SessionUpdateTracker include the uid portion of LogicalSessionId when tracking
- SERVER-37744
Fix license path in mongoc_embedded podspec
- SERVER-37755
Invalid .plist for mongoc and bson .frameworks
- SERVER-37813
Switch Android publishing from Bintray to Artifactory
- SERVER-37832
Fix Windows/OSX ssl_options_test unittests on v4.0
- WT-3898
Keep prepared updates in lookaside until they are read
- WT-3995
Enhance timestamp abort to accept more number of threads
- WT-4149
Log recovery and salvage should handle removal or truncation of log files
- WT-4164
Ensure test/format configures a reasonably sized cache
- WT-4214
Simplify timestamp handling for timestamp abort test
- WT-4217
Enhance commit and rollback to re-read prepared updates
- WT-4220
Enable long running prepared support
- WT-4224
Add statistics for prepared transactions
- WT-4293
WT_CURSOR.remove can lose a cursor position
- WT-4297
Enhance steady throughput workload
- WT-4314
Don't access unmapped pages when evicting a tree
- WT-4315
In rollback_to_stable, only check timestamp order if enforced
- WT-4322
Enable direct I/O based crash test in make check
- WT-4323
Fix race between setting transaction read_timestamp and updating global pinned timestamp
- WT-4328
Use an internal session handle for schema operations in a txn
- WT-4330
Change the wt utility to not use stdout if the -f option to the dump or printlog commands is specified
- WT-4333
WiredTiger cursor cache doesn't handle all possible locked handle states
- WT-4335
Don't fail rollback_to_stable due to sweep activity
- WT-4337
Coverity #1395811 Time of check time of use
- WT-4338
New WT_TXN_TS_XXX flags break #undef HAVE_TIMESTAMPS build
- WT-4339
Revert part of a previous commit that simplified handle locking
- WT-4340
The cursor caching layer can incorrectly release too many handle locks
- WT-4341
Support million collection testing in Evergeen
- WT-4342
Set session max on all configuration strings in timestamp_abort test
- WT-4346
Remove prepared updates from lookaside on reading the page.
- WT-4347
Limit the threads spawned by timestamp_abort with default config
- WT-4348
Create all tables before spawning threads in random_directio test
- WT-4351
Ensure resolving prepared transactions use updates from itself
- WT-4355
Fail to find prepared updates during transaction rollback
- WT-4358
Enhance the handle-lock stress test program
- WT-4374
Fix a bug where a page could transition from WT_REF_LIMBO incorrectly
- WT-4387
Fix ordering of referenced shared libraries in workgen
- WT-4389
Update wtperf runner script to accept multiple arguments
4.0.3 Changelog
Security
- SERVER-35418
Allow specifying CAs for incoming and outgoing connections separately
- SERVER-36456
MongoD does not support kerberos on Windows
- SERVER-36827
Warning about "No SSL certificate validation can be performed" is misleading
Sharding
- SERVER-30841
Lower the amount of metadata refresh logging
- SERVER-34500
Use causal consistency in database_versioning_upgrade_downgrade.js test when reading from secondary after setFCV
- SERVER-35222
Crash on the config server at expired session cleanup
- SERVER-35755
CollectionLock acquisition in shard_filtering_metadata_refresh.cpp can cause server to terminate on stepdown
- SERVER-35773
MetadataManager directly calls into the CatalogCache
- SERVER-36054
Get rid of ScopedCollectionMetadata's operator bool
- SERVER-36116
Get rid of CollectionShardingState::resetAll
- SERVER-36130
Migration status reports verify connection strings -- but those can change
- SERVER-36164
Decouple ScopedCollectionMetadata from MetadataManager
- SERVER-36332
CursorNotFound error in GetMore on a secondary with sessions
- SERVER-36433
NamespaceSerializer lock should be used during drop database
- SERVER-36634
Change fCV check to check for CommandNotFound in _shardsvrShardCollection and write to config after creating collections on non-primary shards
- SERVER-37050
wait for replication in session_collection_auto_healing
Replication
- SERVER-35616
Oplog query on initial syncing node can cause segmentation fault
- SERVER-35793
Write concurrency test to verify server-wide transactions metrics tracking
- SERVER-35821
readConcern:snapshot transactions need a read timestamp <= WT's all_committed point
- SERVER-36127
use w:majority instead of w:2 in apply_batch_only_goes_forward.js
- SERVER-36470
Prevent change_stream_failover.js to elect a new primary which is the same as old primary after old primary steps down.
- SERVER-36503
Skip dry-run election during election handoff
- SERVER-36539
Test that DBClientCursor sends getMore for exhaust cursor if moreToCome is not set
- SERVER-36565
Killing a session with a transaction can cause the thread to throw WriteConflictError
- SERVER-36746
A failed step down attempt shouldn't unconditionally reset LeaderMode to kMaster
- SERVER-36846
TransactionsMetrics unit test should sleep a bit when trying to assert elapsed time > 0
- SERVER-36975
Fix race condition in read_concern_snapshot_catalog_invalidation.js
- SERVER-36982
Reintroduce enableMajorityReadConcern:false server parameter
- SERVER-36985
Test single replica set transactions immediately after a rollbackViaRefetch
- SERVER-37010
Prevent unexpected elections in initial_sync4.js and initial_sync_rename_collection*.js
- SERVER-37048
Hold global intent lock whenever accessing the oplog collection pointer
- SERVER-37105
Make it clear from the stack trace whether a command is running in a transaction
- SERVER-37147
sessions_collection_auto_healing.js should use 2 node replica set
- SERVER-37152
Increase write concern timeouts for writes expected to succeed in tags.js
Query
- SERVER-13946
Consider putting skip stages below fetch stages
- SERVER-36212
getMore should not enforce that session ID matches until fCV is 4.0
- SERVER-36299
Implement support for exhaust cursors with OP_MSG in DBClientCursor
- SERVER-36435
Increase maxTimeMS timeout in awaitdata_getmore_cmd.js
- SERVER-36453
Fix race condition in aggregation_cursor_invalidations.js
- SERVER-36944
applyOps does not permit unknown field names when creating a v:1 index
- SERVER-36951
applyOps should work with a createIndexes command without a UUID
Aggregation
SERVER-36993 mongod crash: Invariant failure indexedOr src/mongo/db/query/index_tag.cpp 237
Storage
- SERVER-34577
read_after_optime.js fails on mongoe
- SERVER-34606
Test (and possibly fix) behavior around majority commit point and oplog truncation
- SERVER-35657
Do not delay journal flushes when operations are waiting for oplog visibility
- SERVER-35780
renameCollection
across databases incorrectly timestamps metadata for secondary index builds - SERVER-36400
Explicitly destroy the client on exiting the run body of each BackgroundJob
- SERVER-36531
Lock acquisition may throw despite presence of UninterruptibleLockGuard when WT tickets are exhausted
- SERVER-36879
write regression test for stuck cache issue during rollback
- SERVER-36961
createIndexes command should check if index already exists with weak lock
- SERVER-36969
initial_sync_wt_cache_full.js takes too long to complete on slow hosts
- SERVER-37002
dropping a collection with long index names via rename fails under MMAPv1
- SERVER-37121
Retry timestamping secondary background index builds
WiredTiger
- SERVER-19815
Make repair more robust with the WiredTiger storage engine
Operations
- SERVER-27588
Warning to disable defrag of transparent_hugepages when thp is disabled
- SERVER-33606
mongo shell startSession() should fail if the server doesn't support logical sessions
- SERVER-34864
String-valued fields should not participate in schema change detection in ftdc
- SERVER-35989
Mongo shell needs a countDocuments function
Build and Packaging
- SERVER-29908
Libraries db/s/sharding and db/query/query are directly cyclic
- SERVER-33911
Allow overriding global link model for specific targets
- SERVER-33912
Remove --disable-warnings-as-errors from embedded builds
- SERVER-34007
Relicense Embedded SDK Builds
- SERVER-35078
Build embedded SDK with bitcode
- SERVER-35184
Enable link-time-optimization for embedded SDK builders
- SERVER-36884
Update curator version on stable branches
- SERVER-36943
Build embedded targets with -Wl,-object_path_lto
- SERVER-37138
Revert to always building with bitcode
- SERVER-37157
Create unified darwin builder for embedded
- SERVER-37251
Revert to stable channel for Android NDK setup
Tools
- SERVER-30997
mongo cli --password is masked, but not when using mongodb:// connection string
- TOOLS-2035
mongofiles_write_concern_mongos.js fails on server unstable
Internals
- SERVER-28990
when started with --repair mongod should not try to bind to a port
- SERVER-33908
Add pre and post invocation background activity hooks to CAPI implementation
- SERVER-33978
References to sudo in evergreen.yml should use ${set_sudo}
- SERVER-34120
scoped connection not being returned to the pool
- SERVER-34711
Enable burn_in_tests to understand Evergreen task selectors
- SERVER-34798
Replace subclasses of ServiceContext with decorations and flexible initialization code
- SERVER-35216
Expose ReplicaSetManager refresh period to the mongo shell
- SERVER-35233
Powercycle remote collection validation does not skip views
- SERVER-35284
C++ "death test" unit tests should fork before constructing the test fixture, not after.
- SERVER-35517
Add failpoint mechanism to the mongo shell
- SERVER-35585
Make PeriodicRunner jobs be pausable/resumable
- SERVER-35629
Use WiredTiger salvage API for repairing metadata files
- SERVER-35630
Missing or corrupt data files should cause MongoDB to exit with an error message to run repair
- SERVER-35696
Provide a way to restore idents known by WiredTiger, but unknown to the _mdb_catalog
- SERVER-35731
Prevent a repaired node from re-joining a replica set
- SERVER-35782
Repair should move aside unsalvageable data files and create empty ones in their place
- SERVER-35784
Fix ambiguously named test fixture in
commands_test.cpp
- SERVER-35800
resmoke.py should retry getting a build_id and test_id from logkeeper
- SERVER-35985
sessions_test and sharding_catalog_manager_test don't destroy all Clients before destroying the ServiceContext
- SERVER-36019
Create script to collect resource utilization of Android application
- SERVER-36069
Vendor mongoebench-compatible JSON config files from mongodb/mongo-perf into src/third_party
- SERVER-36076
Create new resmoke.py test suite for running mongoebench on a desktop
- SERVER-36077
Create new resmoke.py test suite for running mongoebench on an Android device
- SERVER-36078
Integrate adb resource monitor into mongoebench test suite for Android
- SERVER-36084
Remove sharding runtime from embedded
- SERVER-36162
Powercycle - ensure internal crash command has been executed on the remote host
- SERVER-36169
Resmoke: bare raise outside except in the stepdown hook
- SERVER-36258
Perform construction of ServiceContext after execution of mongo initializers, not during
- SERVER-36347
Make parse_zone_info.js handle new error message from ServiceContext refactor
- SERVER-36351
ServiceContextMongoDTest doesn't persist TempDir correctly
- SERVER-36474
Cannot initiate a replica set if free monitoring is disabled at command-line
- SERVER-36621
A call to log() in capi_test.cpp does not print to stdout
- SERVER-36691
Only recover orphaned collection idents when starting with repair, not after an unclean shutdown
- SERVER-36702
SCons to be able to install binaries as darwin framework
- SERVER-36703
SCons to be able to link against darwin frameworks
- SERVER-36704
Embedded to support logical sessions the same way as standalone mongod
- SERVER-36722
Add remote maven repository for embedded AAR/JAR
- SERVER-36725
periodic_runner_impl_test should manually call tearDown
- SERVER-36732
Wait for all secondaries to be up and electable in election handoff jstests
- SERVER-36747
Add a small time delay to "jstests/ssl/ssl_client_certificate_warning_suppression.js"
- SERVER-36749
Remove race in Service Executor Adaptive shutdown
- SERVER-36757
Generate and extract mongoebench-compatible JSON config files to consistent locations
- SERVER-36761
Add requires_replication tag to disk/repair_invalidates_replica_set_config.js
- SERVER-36768
Orphaned collection recovery should allow recovered collections to be renamed
- SERVER-36783
Run the secondary_reads_passthrough task of enterprise-rhel-62-64-bit-inmem on rhel62-large
- SERVER-36836
v4.0 fsm workload "yield_group.js" should accept "InternalError" as a possible outcome of the group command
- SERVER-36842
Core dump not generated after invariant failure in powercycle hosts
- SERVER-36869
fsm capped collection checks should only make 1 query for assertions
- SERVER-36897
OplogReader.hasNext can return false -> true, confusing
checkOplogs
- SERVER-36906
Connection state now allowed to be kConnectionStateUnknown
- SERVER-36919
Add server setParameter tlsWithholdClientCertificate (bool)
- SERVER-36942
Differentiate invalid hostname from invalid certificate
- SERVER-36947
Enable test commands for perf micro benchmarks
- SERVER-36980
Remove old aggregation fuzzer from evergreen
- SERVER-36987
ChunkVersion::minorVersion truncates to 16 bit
- SERVER-37013
mongoebench-compatible JSON config files attempt to read from views without using "find" command
- SERVER-37041
Update eval blacklists on older branches to account for differences in tests across branches
- SERVER-37042
Handle exceptions from cursor.next in ReplSetTest
- SERVER-37071
Blacklist set7.js and max_doc_size.js from retryable_writes_jscore_stepdown_passthrough
- SERVER-37127
Update baseline comparison for sys-perf
- SERVER-37149
Remove deadlock in ScheduleBeforeStartupTest
- SERVER-37156
benchRun should wait for the worker threads it spawns to exit
- SERVER-37170
mongos fails to start with error 'DuplicateKey SetWiredTigerCustomizationHooks' on dynamic builds
- SERVER-37216
Android Multiarch builder can't publish to mavenLocal
- SERVER-37256
Add missing index_access_methods dependency to storage_wiredtiger_recovery_unit_test
- TOOLS-1989
Switch evergreen intensive testing to match server priority buildversions
- TOOLS-2050
oplog_rename_test fails on Windows due to access violation error
- TOOLS-2099
Tools jstests failing on replica set shutdown
- WT-3735
Add a workgen workload that generates a lot of page splits
- WT-3736
Add statistics to measure contention on lookaside cursor
- WT-3879
Disallow checkpoint from evicting metadata pages
- WT-3894
Timestamp queue implementation and statistics improvements
- WT-4090
Low priority reads
- WT-4104
Fix test/format failure during comparing data content with berkeley db
- WT-4119
Avoid restarts updating / removing during a column store scan
- WT-4131
Rename lookaside to cache overflow
- WT-4144
Fix rollback_to_stable with lookaside history
- WT-4154
Surface the oldest read timestamp
- WT-4156
Add new wiredtiger_salvage top level API
- WT-4176
Expose a WT_SESSION.query_timestamp method
- WT-4177
Backup cursor open should force a log file switch
- WT-4185
Don't remove all lookaside entries when reading a page
- WT-4211
Add automated test for long running prepared transactions
- WT-4212
Update lookaside schema to handle prepared transactions
- WT-4216
Use separate counters for page_swap yield and sleep
- WT-4218
Change eviction to evict prepared updates
- WT-4225
Automate a backup test that simulates volume snapshot via dd
- WT-4231
Fix ctags index of functions with attributes
- WT-4233
Change log corruption errors to warnings and truncate log
- WT-4239
Don't allow checkpoints to perform insert-splits in the tree
- WT-4241
GNU-stack section should never be conditionally compiled out
- WT-4243
Fix lookaside sweep to not remove required entries
- WT-4246
Change transaction update list to support indirect references
- WT-4248
Fix checkpoints in schema_abort for slow machines
- WT-4249
Attempt to discard dirty page during verify operation
- WT-4251
Prepared updates cannot be discarded
- WT-4252
Btree debug functions can leak scratch buffers on error.
- WT-4253
Btree debug function to do blind reads doesn't handle row-store internal pages
- WT-4256
Loosen check during rollback_to_stable
- WT-4257
Don't assume timestamps from lookaside are aligned in memory
- WT-4259
Restore ref to the previous state rather than MEM when eviction fails
- WT-4261
Test salvage of out-of-sync metadata/turtle files
- WT-4262
Lock deleted children in eviction of internal pages
- WT-4263
Use the right tree when copying a key for a lookaside write
- WT-4264
Compaction can race with page modifications
- WT-4267
fixed-length column store operations can corrupt data
- WT-4268
Random abort should wait until record files exist before starting timer
- WT-4270
Add an operation field to know where threads hang
- WT-4272
Increase startup timeout to 30 seconds for slow I/O systems
- WT-4274
Fix memory leak in wt4156_metadata_salvage test
- WT-4277
Make truncate in column stores more efficient
- WT-4281
Shorten runtime of Python test suite
- WT-4282
Don't transition pages from limbo to mem unless required
- WT-4283
Restore WT_ERROR and use a corrupt flag
- WT-4284
Print a verbose message in recovery on error too
- WT-4285
Fix wt4156_metadata_salvage Coverity/lint complaints
- WT-4286
Column store should skip end-of-table checks if there's an exact match
- WT-4288
Don't let return value of closing conn overwrite WT_TRY_SALVAGE
- WT-4289
Update WT_DATA_CORRUPTION to WT_TRY_SALVAGE in test_txn19.py
- WT-4291
Fix test_txn19.py error detection by looking for WT_ERROR
- WT-4292
Add call to testutil_cleanup to avoid memory leak
- WT-4300
Setting the update timestamp can overwrite the WT_REF.addr field
- WT-4301
WT_CURSOR.reserve operations can leak memory when committed
- WT-4305
Add a gating variable for long running prepare support
- WT-4306
Fix mode if metadata pages need eviction
- WT-4308
Insert split during sync should not free blocks
- WT-4321
Disable the random direct I/O test
- WT-4325
Add a WiredTiger-local version of the qsort(3) call
4.0.2 Changelog
Sharding
- SERVER-14394
Create initial hashed shard key chunks directly on shards
- SERVER-25333
Clean up MigrationDestinationManager
- SERVER-27725
Use batch insert when migrating chunks
- SERVER-33417
Replace custom majority write catchup with Replication-designed write concern method in the Migration Destination Manager
- SERVER-35092
ShardServerCatalogCacheLoader should have a timeout waiting for read concern
- SERVER-35238
Drop the collection after removing the partially written chunks for mapReduce in mongos_manual_intervention_actions.js
- SERVER-35441
drop/dropDatabase does not cleanup config.tags
- SERVER-35658
session migration is too sensitive to replica set primary elections
- SERVER-35676
numInitialChunks Argument is Not Validated
- SERVER-35720
Allow zones to be created on non-existent collection
- SERVER-35722
Create internal _shardsvrShardCollection command that runs on the primary shard
- SERVER-35723
Make the collection critical section into a RAII class
- SERVER-35794
Read zone information for a collection during internal shardCollection command
- SERVER-35849
Remove dependency of the write commands on
sharding_runtime_d
- SERVER-36031
Move logic to create initial chunks and update metadata during shard collection to the primary shard
- SERVER-36071
Check shardsvrShardCollection response status
- SERVER-36092
Create internal command to create collection on new shard with existing uuid
- SERVER-36102
Create initial chunks on appropriate shards for zoned sharding
- SERVER-36322
NamespaceSerializer lock should be used for dropCollection
- SERVER-36463
Bypass validation of a dummy signatures for isMaster on the unauthenticated connections
- SERVER-36550
Blacklist drop_sharded_db_tags_cleanup.js in sharding_last_stable_mongos_and_mixed_shards suite
- SERVER-36849
Disable new shard collection path on v4.0
Replication
- SERVER-32148
make NamespaceNotFound an acceptable error for emptyCapped and convertToCapped
- SERVER-32907
Turn heartbeat log verbosity back down in tests
- SERVER-33243
Improve logging when a node changes its sync source
- SERVER-33248
Allow choosing a sync source that we are up to date with if it has a higher lastOpCommitted
- SERVER-35058
Don't only rely on heartbeat to signal secondary positions in stepdown command
- SERVER-35126
Create TxnStats class and store it on the Session
- SERVER-35129
Create a ServerTransactionsMetrics class and store it as a decoration on the ServiceContext
- SERVER-35146
Track total number of started transactions
- SERVER-35147
Track total number of committed and aborted transactions in ServerTransactionsMetrics
- SERVER-35149
Track total number of open transactions in ServerTransactionsMetrics
- SERVER-35151
Track total number of active and inactive transactions in ServerTransactionsMetrics
- SERVER-35168
Track information about last client to run a transaction operation on session
- SERVER-35173
Add autocommit value to transaction sub-document of currentOp
- SERVER-35174
Add readConcern and readTimestamp to transaction sub-document of currentOp
- SERVER-35239
AwaitData cursor must handle getMore from client with higher lastKnownCommittedOpTime
- SERVER-35246
Ignore NamespaceNotFound errors when running collMod during checkReplicaSet in replsettest.js
- SERVER-35292
Add total number of started transactions to serverStatus
- SERVER-35293
Add counts of active and inactive transactions to serverStatus
- SERVER-35294
Add total number of open transactions to serverStatus
- SERVER-35295
Add total number of committed and aborted transactions to serverStatus
- SERVER-35300
Track total transaction duration in TxnStats
- SERVER-35302
Add startWallClockTime to the transaction sub-document of currentOp
- SERVER-35305
Add timeOpenMicros to the transaction sub-document of currentOp
- SERVER-35308
Track total active time of transaction in SingleTransactionStats
- SERVER-35310
Add timeActiveMicros and timeInactiveMicros to transaction sub-document of currentOp
- SERVER-35388
Improve misleading error messages for aggregation stages banned in transactions
- SERVER-35428
Add the ability to add two OpDebug objects together
- SERVER-35432
Add a method for printing out information about a slow transaction
- SERVER-35433
Log slow transactions when they finish
- SERVER-35434
Track aggregate OpDebug stats in SingleTransactionStats
- SERVER-35442
stepdown global lock acqusition should use wait time, not freeze time
- SERVER-35450
Add information about last client to run transaction operation to currentOp for inactive transactions
- SERVER-35492
Rename TxnStats to SingleTransactionStats
- SERVER-35623
Send a replSetStepUp command to an eligible candidate on stepdown
- SERVER-35624
Enable election handoff by default and update affected tests
- SERVER-35695
Enable transactions on inMemory storage engine with a command line flag
- SERVER-35742
Update ServerTransactionsMetrics for failed commits
- SERVER-35754
Avoid network errors in stopSet() in catchup_takeover_one_high_priority.js
- SERVER-35766
Replication commands sent in candidate's new term can interrupt concurrent vote request
- SERVER-35770
Running a multi-statement transaction when all WiredTiger write tickets are exhausted may lead to deadlock
- SERVER-35951
Under PV1, ReplicationCoordinatorImpl::processReplSetFreeze for a single node RS should start an election instead of auto-winning.
- SERVER-35962
buildindexes_false_with_system_indexes.js restarts nodes and should be tagged [requires_persistence]
- SERVER-36128
ReplicationCoordinatorImpl::fillIsMasterForReplSet should return isMaster:false while in shutdown
- SERVER-36225
Do not hold replication mutex when calling getMinValid
- SERVER-36234
Fix ./jstests/replsets/initial_sync_drop_collection.js to prevent using stale heartbeat info in the test.
- SERVER-36327
Use stepUp command instead of priorities as a way to designate primary nodes in tags.js
- SERVER-36331
Kill running op when a transaction expires
- SERVER-36461
Add 'transaction' identifier to slow transaction log output
- SERVER-36592
Blacklist snapshot_read_kill_op_only.js workload from backup_restore.js lib
- SERVER-36664
Use awaitReplication in read_committed_with_catalog_changes.js instead of getLastError
- SERVER-36685
Reverse order of TransactionParticipant (Session in 4.0) and Client locks
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
- SERVER-36239
MatchExpression parser query rule
Aggregation
- SERVER-36070
Aggregation with $out results in error when Auditing is enabled
- SERVER-36123
Reject $out with mode: "replaceCollection" if the output collection is sharded
- SERVER-36715
Pushing $sort stage to query system can leave pipeline in an unstitched state
JavaScript
SERVER-35986 Stop running eval command in parallel suite on older branches
Storage
- SERVER-32994
Create a script to rebuild unique indexes in right format after a downgrade
- SERVER-33740
Add Evergreen task for running powercycle against mobile storage engine
- SERVER-35367
Hold locks in fewer callers of waitForAllEarlierOplogWritesToBeVisible()
- SERVER-35386
Wait for the secondary's majority commit point to advance before pausing batch application in secondary_reads_timestamp_visibility.js
- SERVER-35473
Mobile SE: Fix writeConflictRetry loop with map-reduce jstests
- SERVER-35845
Add tag to noPassthrough/indexbg2.js
- SERVER-36005
IndexCatalogEntryImpl::_catalogIsReady
is unsafe to unconditionally call. - SERVER-36062
Mobile SE: Stop running parallel and concurrent suites on mobile variants
- SERVER-36238
replica set startup fails in wt_cache_full.js, initial_sync_wt_cache_full.js, recovery_wt_cache_full.js when journaling is disabled
- SERVER-36397
Embedded Server SDK Should Return Error When TTL Index Creation is Attempted
WiredTiger
- SERVER-28734
Recover WiredTiger data files when lacking metadata, but have _mdb_catalog data
Operations
- SERVER-34664
Commands that are unsupported in a transaction should error
- SERVER-35180
Safeguard from setting operation session info values while in a direct client
- SERVER-35617
Unpleasant db.enableFreeMonitoring "not master" error on newly launched mongod
- SERVER-36294
Sum of currentActive and currentInactive not equal to currentOpen transactions
- SERVER-36479
Log redaction does not show planSummary when slow queries are logged
Build and Packaging
- SERVER-34393
Embedded transport layer should not depend on mongo internal code
- SERVER-36686
Upgrade embedded C driver to 1.12.0
- SERVER-36733
Rename embedded target SCons aliases
- SERVER-36766
Add import/export macros for embedded SDK APIs
Internals
- SERVER-32281
Thread pool task executor ignores errors returned from startCommand()
- SERVER-33695
Include the loop name in the before and after recovery files in powertest.py
- SERVER-34258
Error from mount_drives.sh on Windows
- SERVER-34558
Add SSL_version to client metadata logging
- SERVER-35003
Consider making the balancer threshold to always be 1
- SERVER-35025
Tests depending on exact times removeShard is called are invalid
- SERVER-35037
Create new concurrency suite that runs consecutive operations inside of a single transaction
- SERVER-35056
Flush ready callbacks on NetworkInterfaceTL shutdown
- SERVER-35100
Do not log a Python stack trace when a hook dynamic test fails
- SERVER-35110
Log locations in set_feature_compatibility_version.js where fatal assertions/other errors are expected
- SERVER-35215
Future::onError<ErrorCodes::Error>() to let you register a handler for a single code.
- SERVER-35234
makePromiseFuture<T>() to create a bound Promise and Future
- SERVER-35244
Dropping config db in 4.0.0-rc0 fails while it passes in 3.7.9 and earlier
- SERVER-35537
Create version of benchRun() which can be used with embedded
- SERVER-35559
Update transaction retry functions to not call abort after commit
- SERVER-35592
Create Java bindings for the Embedded CAPI
- SERVER-35654
rollback_transaction_table.js fails even in WT runs
- SERVER-35661
Add 5 second syncdelay to rollback shutdown fuzzers
- SERVER-35684
Remove promise.getFuture()
- SERVER-35706
Fix race in ctor for LogicalSessionCacheImpl
- SERVER-35775
Unhelpful Message String in db.getFreeMonitoringStatus()
- SERVER-35919
Ensure all tests that "use transactions" perform collection drops with w:majority
- SERVER-35946
Powercycle kill_mongod function should ensure the service is not in a running state
- SERVER-36001
Add requires_document_locking tag to noPassthrough/indexbg2.js
- SERVER-36067
Upload artifacts from running install-mobile-test target in Evergreen to S3
- SERVER-36069
Vendor mongoebench-compatible JSON config files from mongodb/mongo-perf into src/third_party
- SERVER-36073
Save stats from BenchRunner::finish() to a JSON file in mongoebench
- SERVER-36129
Concurrency stepdown suites should wait for replication of workload setups before starting stepdown thread
- SERVER-36191
Cleanup logic for converting BSONElement to strings
- SERVER-36245
Create a multi-arch android variant
- SERVER-36274
Re-enable --ycsb-throughput-analysis in sys-perf
- SERVER-36301
build WT with HAVE_NO_CRC32_HARDWARE on RHEL 6.7 s390x
- SERVER-36399
Fill in tasks for Cloud nightly tests
- SERVER-36406
db._authOrThrow should prioritize user specified authenticationMechanism instead of server's mechanisms
- SERVER-36448
Disable election handoff in suites that use the ContinuousStepdown hook
- SERVER-36462
Add atlas user to runtime_secret.yml
- SERVER-36466
Secure shutdown conditions for SpecificPool
- SERVER-36623
Do not rebuild indexes before repairing databases
- WT-3276
Add recover=salvage to recover from a corrupted log file
- WT-3856
Create a test that runs recovery to different points of time with schema operations
- WT-3943
Include full error message when a python test asserts
- WT-3955
Add verbose option to log more messages on error returns
- WT-3963
Add a schema intensive abort testing
- WT-3968
Use compression ratio to tune page sizes
- WT-4010
Simplify test/format timestamp handling.
- WT-4026
Add implementation for existing file extension configuration API
- WT-4134
Rework assertion that we don't discard required history
- WT-4147
Log recovery should not ignore corruption outside of log records in a log file
- WT-4160
Restore performance when timestamps are not in use
- WT-4168
Update upgrading documentation for 3.1.0 release
- WT-4169
Fix wt verify dump-pages failure
- WT-4171
Enabling tree walk timing stress causes excessive slowdown
- WT-4172
Add diagnostic hazard pointer checks in more places before freeing refs
- WT-4174
Do not access the lookaside file in rollback_to_stable when running with in_memory=true
- WT-4178
Fixes for wt_btree_immediately_durable needed for in-memory
- WT-4179
Expose WiredTiger crc32c functions
- WT-4182
Use conservative approach for log checksum errors
- WT-4183
Extend verbose option to log more messages on error returns
- WT-4186
Log recovery should detect and report corruption within log records
- WT-4187
Coverity: unused value complaints
- WT-4188
Coverity: unchecked return value complaints
- WT-4189
Potential infinite loop in __async_flush_wait().
- WT-4191
Fix Coverity static analysis errors
- WT-4193
test/format snapshot-isolation search mismatch
- WT-4194
Improve fairness of eviction with multiple tables
- WT-4195
When encountering an illegal value, log the value that failed
- WT-4196
Make log corruption checking work regardless of the machine byte order
- WT-4198
Some supported MongoDB architectures don't support crc32 hardware
- WT-4199
Fix an incorrect report of log corruption
- WT-4201
Fix Coverity static analysis issues
- WT-4206
Fix error handling in cursor close routines
- WT-4207
Coverity #1394567: null pointer dereference
- WT-4208
tree walks can be interrupted by locked internal pages
- WT-4210
schema abort child process failing prematurely
- WT-4213
Rename lock statistics that have redundant or misleading text
- WT-4215
Allow recovery of backup without salvage
- WT-4226
test/format LSM configurations can misconfigure prepare and timestamps
- WT-4229
Lint
- WT-4234
Remove documentation mention of legacy tool statlog.py
- WT-4235
Fix workgen tracking of table state across workloads
- WT-4242
New log file extension Python test failure
4.0.1 Changelog
Security
- SERVER-35125
null pointer read access violation in SSLHandshakeManager::doServerHandshake
- SERVER-36027
Enterprise build does not recognize the --redactClientLogData flag
Sharding
- SERVER-33237
Optimize the Range Deleter speed
- SERVER-33697
Provide sanity check on number of cached sessions
- SERVER-34897
Introduce parameter to control whether MongoS should automatically retry failed
find
commands - SERVER-35609
Create initial chunk on primaryShard if only writing one chunk
- SERVER-35632
Blacklist lagged_config_secondary.js and all_config_servers_blackholed_from_mongos.js from RHEL 6.7 s390x variants
- SERVER-35691
Make all code paths returning StaleConfig error go through the StaleConfigInfo serializer
- SERVER-35711
Remove unused anonymous function getPersistedMaxDbVersion() from shard server catalog cache loader
- SERVER-35745
_getNextSessionMods doesn't include oplogReplay flag to query new oplog created during migration
- SERVER-35938
NamespaceSerializer lock should be used for database as well as collection during createCollection
- SERVER-35997
Await replication on config server after shardCollection in safe secondary reads tests
- SERVER-36041
Increase the size of changelog and actionlog
- SERVER-36075
Add comment to shard_identity_rollback.js explaining why we set the fCV to 4.0 on the shardsvr
- 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-32088
ChangeStream resumeAfter does not work on sharded collections if not all shards have chunks for the collection
- SERVER-34414
Creating a role with buildsIndexes:false node hits an fassert
- SERVER-34758
replSetGetStatus can deadlock with initialSyncer
- SERVER-35124
Stepdown suites with MMAP V1 often fail due to
flushing mmaps
taking long time - SERVER-35200
Speed up failure detection in the OplogFetcher during steady state replication
- SERVER-35388
Improve misleading error messages for aggregation stages banned in transactions
- SERVER-35488
ReplSetTest.waitForState() should ensure node has finished closing connections
- SERVER-35571
Wait until all nodes become stable before checkOplogs
- SERVER-35991
Turn off chaining in set_feature_compatibility_version.js
- SERVER-35992
Secondary should have no vote in SecondaryReadsTest
Query
- SERVER-34789
Using resume token from an 'invalidate' notification with 'resumeAfter' should error
- SERVER-34933
pcre verb support
- SERVER-35693
Parsing of $in takes quadratic time due to O(n^2) boost::flat_set constructor
- SERVER-35751
Make kill_own_ops.js more robust
- SERVER-35851
Consider checking whether the array passed to $in is already sorted before calling std::sort
- SERVER-35929
Possible use-after-free when reloading the view catalog due to an invalidation
Aggregation
- SERVER-35028
Add change stream notifications for collection drop and rename
- SERVER-35029
Add change stream notification for database drop
- SERVER-35084
change_stream_enforce_max_time_ms_on_mongos.js expects getMore to schedule follow-up getMores
- SERVER-35634
view_catalog_cycle_lookup.js should not always assert that finds on views will succeed
- SERVER-35961
Remove uninitialized count variable in MapReduce command
Catalog
SERVER-35563 The UUIDCatalog onCreateCollection observer should atomically unregister and re-register catalog entries
Storage
- SERVER-32509
Mobile SE: Implement error reporting for unsupported startup options
- SERVER-32997
Mobile SE: Design and implement multi-reader or single-writer concurrency
- SERVER-33605
Mobile SE: Disable capped collections
- SERVER-33651
Mobile SE: Use full synchronous mode for SQLite writes
- SERVER-34002
readConcern_snapshot.js should wait for writes to be majority-committed on secondaries before reading
- SERVER-34113
Remove all support for snapshot reads outside of multi-document transactions
- SERVER-34129
Don't hold database or collection locks during oplog truncation
- SERVER-34579
Do not populate indexDetails for mobile storage engine
- SERVER-34713
Progressively declining dropDatabase performance
- SERVER-35085
repair can cause spurious NamespaceNotFound errors with concurrent initial sync operations
- SERVER-35317
restartCatalog problematically discards minVisibleSnapshot data
- SERVER-35398
Mobile SE: Remove code for capped collection
- SERVER-35671
DatabaseHolderImpl::closeAll can leave catalog in an incomplete state
- SERVER-35704
Tag readConcern_snapshot.js with 'uses_transactions'
- SERVER-35789
check for index catalog isready mismatch for multi-doc txns
- SERVER-35859
Disable rocksdb buildvariant
- SERVER-35994
Reduce CPU load in secondary_reads_unique_indexes.js test
- SERVER-36006
multiInitialSyncApply
should consider setting a read timestamp ofkNoTimestamp
- SERVER-36025
RestartCatalogCommand can attempt to reinitialize oplog pointers on standalones
- SERVER-36167
Add pretty printer for WT
flags
members
GridFS
SERVER-35361 filemd5 command fails to safely clean up PlanExecutor after manual yield
Operations
- SERVER-27264
With net.ssl.allowConnectionsWithoutCertificates: true, allow disabling no client certificate log warnings
- SERVER-32064
A logical session ID should be included in all command requests from the mongo shell
- SERVER-34160
Mongo client run buffered command when terminated.
- SERVER-35758
Mongo shell prompt errors when running transactions after overriding "db"
- SERVER-35903
Free monitoring doesn't allow disabling from the shell without enabling it first
- SERVER-36010
Change log messages for Windows stacktraces to use error() or severe() rather than log()
- SERVER-36088
Replica set connection strings trigger access violation on 4.0 shell + Windows
Build and Packaging
- SERVER-33000
Platform Support: add Ubuntu 18.04
- SERVER-33996
Don't apply self signing until after bundling the SDK.
- SERVER-35600
Add support for armv7-k
- SERVER-35901
Add toolchain path to lint task
- SERVER-36039
Support LibreSSL 2.7 on FreeBSD
- SERVER-36082
Don't link getShardMap command into embedded
Tools
- TOOLS-2058
mongoreplay does not show OP_MSG commands
- TOOLS-2062
Support zlib compression in mongoreplay
- TOOLS-2075
mongoreplay always replays to secondary
Internals
- SERVER-33817
Powercycle test using kill mongod
- SERVER-34563
Connect via SRV record fails if the returned record resides in subdomain
- SERVER-34793
Add call to BF suggestion server on failed task completion
- SERVER-34810
Session cache refresh can erroneously kill cursors that are still in use
- SERVER-34956
big_object1.js is not resilient to unexpected stepdowns
- SERVER-34984
Update major_version_upgrade.js test to call setFCV to the latest fCV
- SERVER-34996
Save console_output & console_screenshot from aws_ec2.py as artifacts in evergreen.yml
- SERVER-35101
Handle differently a badly formed bindIp argument
- SERVER-35165
Disable and re-enable update_test_lifecycle Evergreen task on the 4.0 branch
- SERVER-35188
Typo in ServiceLiason* types
- SERVER-35263
Add FSM workloads for testing atomicity and isolation of updates inside a transaction across multiple collections and databases
- SERVER-35312
Update system_perf.yml and perf.yml to compare to 3.6.5 baseline for master and 4.0
- SERVER-35313
CleanupConcurrencyWorkloads resmoke hook needs to handle the balancer
- SERVER-35383
Increase electionTimeoutMillis for the ContinuousStepdown hook used in stepdown suites
- SERVER-35389
Remove dead code from old FSM suite
- SERVER-35506
The Powercycle wait_for_mongod_shutdown function should ensure the mongod process is no longer running
- SERVER-35523
FSMWorkloadTestCase erroneously sets TestData.sameDB=true and TestData.sameCollection=true
- SERVER-35550
Bridge should not block listener while making outbound connections
- SERVER-35578
Switch package tests to new package testing VPC
- SERVER-35588
powertest.py should call replSetReconfigure command only after successful replSetGetConfig
- SERVER-35627
Repair should re-create missing collection data files from the existing metadata
- SERVER-35664
Run the android embedded tests on api24 system images
- SERVER-35668
Avoid moving concurrency tests to small instances on arm64
- SERVER-35675
find_by_uuid_and_rename.js should not fail from QueryPlanKilled when yielding during a collection rename
- SERVER-35692
Add support to an optional re-registration bool in metrics response
- SERVER-35702
Stop running the agg and update fuzzer on macOS
- SERVER-35724
Remote EC2 hosts which are not accessible via ssh should fail with system error
- SERVER-35727
make the embedded sdk compile task in to a multi-task task group.
- SERVER-35834
Fix compile errors in
dns_name_test
on Microsoft compilers - SERVER-35850
Update filename suffix to v4.0-latest for nightly builds
- SERVER-35858
Error in call BF Suggestion service
- SERVER-35908
Shutdown service entry point in mongoed before shutting down embedded
- SERVER-35990
Update evergreen_task_timeout.py REQUIRED_BUILD_VARIANTS list
- SERVER-35993
read_concern_uninitiated_set restarts nodes so must not allow ephemeral storage
- SERVER-36055
Mobile SE: Compact returns wrong error code on mobile
- SERVER-36144
want to add an empty cloud_nightly.yml file
- TOOLS-1991
Build tools with Go 1.10.1
- WT-3839
Document the undefined behavior when a range truncate overlaps with inserts
- WT-3917
Enhance WT_CURSOR::reserve documentation around commit visibility
- WT-4024
Fix a race between split and next/prev
- WT-4048
Generalize timing_stress_for_test split functionality
- WT-4067
Enhance LSM to not pin as much history in cache
- WT-4101
Don't abort the eviction server during session verify when oldest_timestamp is held back
- WT-4111
Improve checkpoint scrubbing algorithm
- WT-4125
Ensure that subsequent checkpoints with stable timestamp don't read too much
- WT-4133
Coverity 1393445, 1393446 Dereference before null check
- WT-4136
Add a new timing stress flag that yields during tree search
- WT-4138
Add an option to timeout waiting for space in the cache
- WT-4139
rename the cursor restart statistic to match implementation
- WT-4140
Cursor walk limits quick eviction page selection unnecessarily.
- WT-4141
Enhance checkpoint with timestamps to unblock eviction sooner
- WT-4143
Use WiredTiger.turtle.set if it exists but WiredTiger.turtle does not
- WT-4145
Only include the checkpoint timestamp during checkpoints
- WT-4146
Coverity 1393639, unused variable
- WT-4152
Save return value for later comparison in transaction code
- WT-4163
Lint