4.2 Changelog
On this page
- 4.2.20 Changelog
- 4.2.19 Changelog
- 4.2.18 Changelog
- 4.2.17 Changelog
- 4.2.16 Changelog
- 4.2.15 Changelog
- 4.2.14 Changelog
- 4.2.13 Changelog
- 4.2.12 Changelog
- 4.2.11 Changelog
- 4.2.10 Changelog
- 4.2.9 Changelog
- 4.2.8 Changelog
- 4.2.7 Changelog
- 4.2.6 Changelog
- 4.2.5 Changelog
- 4.2.4 Changelog
- 4.2.3 Changelog
- 4.2.2 Changelog
- 4.2.1 Changelog
4.2.20 Changelog
Sharding
SERVER-64903 Make cancel_coordinate_txn_commit_with_tickets_exhausted.js robust to ShardServerCatalogCacheLoader performing deletes
Aggregation
SERVER-41714 $facet operator duplicates documents in the pipeline when preceded by $addFields and $match operators (in this exact order)
Internals
- SERVER-53726 Platform Support: Remove RHEL6 zSeries
- SERVER-57000 Fix handling of correlated pipeline with facet
- SERVER-57676 Wait for a checkpoint before releasing the "hangOplogCapMaintainerThread" in oplog_rollover.js
- SERVER-59435 Fix a double free inside DocumentSource::optimizeAt()
- SERVER-60412 Host memory limit check does not honor cgroups v2
- SERVER-62242 $indexOfArray does not work with duplicate values in array
- SERVER-63141 Difference in $lookup/$redact/$let behaviour with pipeline optimization
- SERVER-64642 Fix error where mongos returns CallbackCanceled and not InterruptedAtShutdown on shutdown
- SERVER-64983 Release Client lock before rolling back WT transaction in TransactionParticipant::_resetTransactionState
- SERVER-65421 Fix package test failures on RHEL 6/7
- SERVER-65422 Fix package test failures on Ubuntu 16.04
4.2.19 Changelog
Sharding
- SERVER-26755 Collection chunk loading is aborted entirely if fetching all the chunks takes more than 30 seconds
- SERVER-45149 replSetStepDown command in txn_two_phase_commit_failover.js should not timeout
- SERVER-53335 Queries, updates, and deletes with non-"simple" collations may miss documents when using hashed sharding
- SERVER-59929 unexpected slower update/insert operation bease of splitchunk and moveChunk
- SERVER-60682 TransactionCoordinator may block acquiring WiredTiger write ticket to persist its decision, prolonging transactions being in the prepared state
- SERVER-61816 cancel_coordinate_txn_commit_with_tickets_exhausted.js can hang forever due to race condition between transaction reaper and transaction coordinator
- SERVER-61924 retryable_mongos_write_errors.js fails in 4.2 multiversion suites due to missing failpoint command in 4.0
- SERVER-62065 Upgrade path from 3.6 to 4.0 can leave chunk entries without history on the shards
- SERVER-62739 cancel_coordinate_txn_commit_with_tickets_exhausted.js test should not be run with the ephemeral storage engine
- SERVER-62906 Add a check in the createCollection/shardCollection path verifying the collection name length
Query
- SERVER-23664 $mod match expression should raise an error when the remainder is not a number
- SERVER-40691 $nin:[[],...] queries are not indexed
- SERVER-57588 Inconsistent query results when an array position is indexed whose value is an array
- SERVER-59754 Incorrect logging of queryHash/planCacheKey for operations that share the same $lookup shape
- SERVER-62147 Exhaust query using the OP_QUERY protocol is broken when more than one getMore batch is required
Aggregation
SERVER-44484 Changestream with updateLookup uasserts on updates from before collection was sharded
Storage
SERVER-55483 Add a new startup parameter that skips verifying the table log settings
Internals
- SERVER-51087 Add testing utility for creating an empty sharded collection with the specified bounds
- SERVER-53726 Platform Support: Remove RHEL6 zSeries
- SERVER-57312 Pin transitive Python dependencies and use the pinned file for installation in Evergreen
- SERVER-60392 Fix timing in priority_takeover_two_nodes_equal_priority test.
- SERVER-60685 TransactionCoordinator may interrupt locally executing update with non-Interruption error category, leading to server crash
- SERVER-61662 SCons configure checks should always run with verbosity
- SERVER-61743 The -fno-builtin-memcmp flag shouldn't be applied except on x86_64 platforms
- SERVER-62005 [4.2] Add requires_document_locking to unique_index_insert_during_collection_scan.js
- SERVER-62164 Remove several obsoleted build variants across all stable branches
- SERVER-62320 (v4.2) Fix use after std::move in find command
- SERVER-62668 Synchronize access to ImpersonatedUserMetadata in OperationContext.
- SERVER-62825 Robustify causally_consistent_index_builds.js
- SERVER-63197 Pin microbenchmarks genny version
- SERVER-63203 Chunk splitter never splits if more than 8192 split points are found
- WT-7993 If gathering handles and not in aggressive eviction mode, have eviction sleep to let checkpoint grab a contentious spinlock.
4.2.18 Changelog
Sharding
- SERVER-48504 Combination of StaleShardVersion and ShardNotFound exception make the ChunkManagerTargeter crash
- SERVER-54064 Sessions on arbiters accumulate and cannot be cleared out
- SERVER-54623 Decrease number of jobs in causal consistency passthrough suites
- SERVER-56226 [v4.4] Introduce 'permitMigrations' field on config.collections entry to prevent chunk migrations from committing
- SERVER-56227 Add user-facing command to set allowMigrations to false for a sharded collection
- SERVER-58985 Re-enable retryable_mongos_write_errors.js in multiversion suite once SERVER-55648 is backported to v4.0
- SERVER-59160 Disable balancer in test_stacked_migration_cleanup.js
- SERVER-59916 T{1, 2}Starts{First, Second}AndWins In WriteConflictHelpers Does Not Synchronize Committing Of Failed Transaction
- SERVER-60653 Backport the autoSplitVector logic to v4.2
Replication
- SERVER-50241 PeriodicShardedIndexConsistencyChecker should skip dropped collections
- SERVER-56096 Invariant failure in ReplicationRecoveryImpl::recoverFromOplog
- SERVER-58988 Avoid sync source selection cycle during primary catchup.
Aggregation
SERVER-59613 $range expression should error if it exceeds memory limit
Storage
SERVER-45953 Exempt oplog readers from acquiring read tickets
Operations
- SERVER-28953 Capture df (disk full) statistics in FTDC
- SERVER-53242 Always log collmod command
Internals
- SERVER-52976 [4.2] collection_validation.cpp isn't used anywhere in the 4.2 branch
- SERVER-53726 Platform Support: Remove RHEL6 zSeries
- SERVER-55589 replSetMaintenance command does not take the RSTL
- SERVER-56326 Add a round() method to the Decimal128 class
- SERVER-56602 Track usage of match expressions in serverStatus
- SERVER-57557 [v4.4] Support running checkFCV() shell helper with mongos connection
- SERVER-57605 Expose Decimal128 equality comparison helper to shell
- 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-58119 single_node_set_new_hostname.js needs to call replSetReconfig with an assert.soonNoExcept
- SERVER-58183 _applyPrepareTransaction does not ensure prepareConflictBehavior is kIgnoreConflictAcceptWrites on retry attempts
- SERVER-58192 Use more unique_ptrs in QueryPlannerAnalysis::analyzeSort()
- SERVER-58780 [v4.4] Ensure that _shouldSetStableTimestamp gets restored to true if replSetInitiate fails
- SERVER-59108 Resolve race with transaction operation not killed after step down
- SERVER-59120 Create unit tests for commitChunksMerge
- SERVER-59191 SPIKE: git.get_project fails to clone
- SERVER-59226 Deadlock when stepping down with a profile session marked as uninterruptible
- SERVER-59294 Check action type for oidReset
- SERVER-59459 mongodb fails to build with glibc-2.34
- SERVER-59725 Remove push task from extra RHEL 6.2 variants
- SERVER-59804 Using a separate branch for YCSB in system_perf.yml
- SERVER-59879 Adjust maxTimeMS value to allow for slower execution in the parallel test suite
- SERVER-60080 [v4.2] Disable tests incompatible with ephemeralForTest
- SERVER-60085 Cap number of fallback test suites at number of tests in suite
- SERVER-60149 Add RRFaM build variant to mongocryptd list on v4.2 branch
- SERVER-60290 Update Windows external auth test distro
- SERVER-60299 Backport PCRE bugfix for Bugzilla #2613
- SERVER-60456 LDAPBindOptions go out of scope during heavily delayed binds on Windows
- SERVER-60496 Resmoke Misinterprets Quotes In Evergreen.yml
- SERVER-60582 [v4.4] initiate_emrc_false.js needs to wait for the initial checkpoint
- 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-60897 [4.2] mongod may loop forever when attempting to upsert invalid BSON
- SERVER-60898 [v4.2] Exclude stepdown_race_with_transaction.js from running on ephemeralForTest
- SERVER-60961 Add exclude tags to old branches not generating multiversion_exclude_tags.yml
- SERVER-60971 Remove calls to BF suggestion service
- SERVER-61164 Accept error code 48 (Inappropriate authentication) as a valid response for LDAP liveness check
- SERVER-61427 Unique index builds can cause a loss of availability during commit due to checking many false duplicates
- SERVER-61544 [4.2] Fix exclusion tag for stepdown_race_with_transaction.js
- SERVER-61550 Modify auto_workload_path in perf.yml to be relative to cwd
- SERVER-61791 pin pymongo
- WT-7566 Resolve write after free for dead dhandle
- WT-7858 Fix malloc writing out of bounds for overflow keys
- WT-7984 Fix a bug that could cause a checkpoint to omit a page of data
4.2.17 Changelog
Storage
SERVER-49521 fix tests in core/txn to use write concern "majority" for createIndexes commands run before starting transactions
Internals
- SERVER-48090 Support python 3.6 for evergreen.py and shrub.py
- SERVER-50549 Transform connection-related error codes in proxied commands
- SERVER-53726 Platform Support: Remove RHEL6 zSeries
- SERVER-59456 Start the LDAPReaper threadpool
- SERVER-59876 Large delays in returning from libcrypto.so while establishing egress connections
4.2.16 Changelog
Security
SERVER-57727 Race conditions in x509_invalid.js
Sharding
- SERVER-55648 Mongos doesn't return top-level batch-write error in case of shutdown
- SERVER-58909 Missing versions for "admin" and "config" databases migrating to version 4.2
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
- SERVER-37904 Allow a node to override the cluster chaining (enabled/disabled) setting
- SERVER-39621 Disabled chaining should enforce sync source change when the primary steps down even if the oplog fetcher isn't killed on sync source
- SERVER-41875 Should ban "emptyCapped" commands on jstestfuzz_concurrent_replication_continuous__stepdown suite for WiredTiger Storage.
- SERVER-50486 invokeWithSessionCheckedOut being called on prepared transactions on secondaries
- SERVER-55465 Fix Invariant upon failed request for a vote from the current primary in the election dry-run of catchup takeover
- SERVER-58258 Wait for initial sync to clear state before asserting 'replSetGetStatus' reply has no 'initialSync' field
Query
- SERVER-55319 [4.2] Invariant failure isVersionInitialized() src/mongo/db/server_options.h 217 after index build completes
- SERVER-58127 Fix benchRun() memory leak for parsing benchRun() args under exception
Build and Packaging
SERVER-54729 MongoDB Enterprise Debian/Ubuntu packages should depend on libsasl2-modules and libsasl2-modules-gssapi-mit
Internals
- SERVER-49237 Add a way for OperationContexts to opt-in to always getting interrupted at stepdown
- SERVER-50547 Explore aggregation pipeline length limit
- SERVER-52728 Upgrade path from MongoDB 2.4 to 4.2 causes config servers to go down
- SERVER-53431 Server should respond running operations with appropriate topologyVersion on stepdown
- SERVER-53726 Platform Support: Remove RHEL6 zSeries
- SERVER-55649 Sharding messages being logged for non-sharded clusters
- SERVER-56489 New pass-through test with random hello server-side delays
- SERVER-56516 Fix undefined behaviour in parsing code for $slice projectional operator
- SERVER-56839 Index seeks concurrent with recently-committed prepared transactions can return wrong results
- SERVER-57033 The AuthorizationManager Cache in 4.2 should use roles as cache key
- SERVER-57064 Log create index and dropIndex(es) on mongos
- SERVER-57360 Log additional debug info for the "invariant (_requests.empty());" in ~LockerImpl
- SERVER-57642 Invariant Failure on src/mongo/db/query/plan_yield_policy.cpp 75 | Aborting
- SERVER-57650 Make MigrationChunkClonerSource interruptible when waiting response to recipient commands
- 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-58169 Log timestamps info on hitting invariants around stable timestamp calculation
- SERVER-58187 Improve Connection Reaper and MongoLDAP performance
- SERVER-58191 [Migrate Protocol] Allow delete_during_migrate.js to tolerate chunk migration failures due to timeout in catchup phase in slow variants.
- 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
- SERVER-58402 Increase timeout of shutdown command in shutdown_primary.js
- SERVER-58623 Shorten the mongos RSM refresh interval in delayed Hello tests
- SERVER-58826 [4.2] Disallow compact_keeps_indexes.js and explain_shell_helpers .js to run concurrently on parallel suite
- SERVER-59074 Do not acquire storage tickets just to set/wait on oplog visibility
- SERVER-59135 Make mongocryptd targets in MSIs depend on libsasl2
- 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-59388 Revert BACKPORT-10185
- SERVER-59414 Retry curator setup in powercycle on older 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-7675 Query last ckpt timestamp changes without taking checkpoint
- WT-7721 Update test-format to reopen an existing database with different config
- WT-7776 Add a hard limit on the number of modify updates before we instantiate a complete update
- WT-7871 Remove comment that is no longer true
4.2.15 Changelog
Security
SERVER-56240 Turn on checkpointing for the keystore Data Store
Sharding
- SERVER-46811 multi=true updates can modify the shard key of orphan documents and cause them to become owned
- SERVER-47534 Unblacklist mongos_dataSize.js from sharding_last_stable_mongos_and_mixed_shards suite
- SERVER-47699 Change yield type used by range deleter from YIELD_MANUAL to YIELD_AUTO
- 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-51170 Ensure database refreshes are performed after ShardingState initialization
- SERVER-53029 Port the changes for SERVER-52955 to later branches
- SERVER-56515 Chunk merge doesn't consider the incrementChunkMajorVersionOnChunkSplits parameter
- 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-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
- 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-45919 replSetReconfig should be allowed to fail with InterruptedDueToReplStateChange when racing with an election
- SERVER-53447 Blacklist insert1.js with from transaction passthrough tests with failures
- SERVER-55465 Fix Invariant upon failed request for a vote from the current primary in the election dry-run of catchup takeover
- SERVER-55766 Introduce an optimized "for restore" startup replication recovery mechanism
- SERVER-56054 Change minThreads value for replication writer thread pool to 0
- SERVER-56415 AwaitNodesAgreeOnPrimary doesn't work when given non-default set of nodes
- SERVER-56937 upgradeSet() in multi_rs.js may lose authentication state while upgrading primary
Write Operations
SERVER-38909 Permit empty update modifiers, treating as a no-op rather than an error
Storage
SERVER-51699 index_build_restart_secondary.js (indexbg_restart_secondary.js) should handle exceptions when checking indexes after restarting node
Operations
SERVER-48567 Warnings while processing snmpwalk
Build and Packaging
- SERVER-50568 Platform Support: Remove Ubuntu18.04 zSeries from 5.0
- 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-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-47720 Clarify "RecordId(...) not found in the index for key" log message
- 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-49336 Set client metadata if it is missing during failCommand
- SERVER-50955 oplog_rollover.js pauses the OplogCapMaintainerThread until truncation is needed
- SERVER-53334 Hitting unexpected invariant failure, causing server shutdown
- 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-53841 Additional logging for oplog_rollover.js
- SERVER-54489 Full validation can append errors without bound
- SERVER-54897 Adding the shard-single config to etc/system_perf.yml
- SERVER-55019 install_compass does not run on all supported platforms
- SERVER-55119 Create startup warning indicating that X.509 certificates without SANs are deprecated
- SERVER-55316 Disconnect LDAP connections out of line
- SERVER-55742 Define kmipClientCertificateSelector config on windows/macOS
- SERVER-56062 Restart index builds after CappedPositionLost errors
- SERVER-56164 All performance projects use the master DSI branch
- SERVER-56273 Update curator hash in powercycle remote host setup
- SERVER-56307 The chunk migration "convergence algorithm" is very primitive
- SERVER-56310 Use w: majority for createCollection command in kill_sessions_with_prepared_transaction.js
- SERVER-56325 Wait for failpoint in server_transaction_metrics.js to be hit so that a valid serverStatus is received
- SERVER-56347 Enable LSE intrinsics in release
- SERVER-56372 Add retryableFindAndModifyStorageLocation server parameter
- 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-56377 [RRFaM] Add FSM test to perform retryable FaM while flipping server parameter
- SERVER-56452 Self anchor in PooledLDAPConnection::setup's callback
- SERVER-56468 Incorrect plan cache entry for {$ne: null} predicate, leads to missing query results
- SERVER-56501 Add op counters for legacy op codes (OP_QUERY, OP_INSERT, etc.)
- SERVER-56563 [RRFaM] Forge noop image oplog entries for chunk migration
- SERVER-56630 Unittest OpObserverImpl::onDelete/onUpdate paths for retryable findAndModify
- SERVER-56713 [RRFaM] Avoid creating images while in initial sync
- SERVER-56715 Using incorrect var name for logkeeper dataset on 4.2
- SERVER-56819 $indexOfCP returns incorrect result when searching for empty string inside empty string with non-zero start index (classic execution engine only)
- SERVER-56952 [4.4] Add new build variant with storeFindAndModifyImagesInSideCollection=true
- SERVER-57015 [RRFaM] Writing to the image collection must be in an UnreplicatedWriteBlock
- SERVER-57036 Pin MarkupSafe == 1.1.0
- SERVER-57043 Test for Branching
- SERVER-57053 Rewriting $nor with a $text predicate to $not is invalid
- SERVER-57057 Reduce routing info refreshes on the mergeChunks path
- SERVER-57091 Infinite loop in GranularityRounderPreferredNumbers::roundDown
- SERVER-57145 Invariant failure at OCSPManager::requestStatus
- SERVER-57157 assert serverStatus command works in getBinVersion() jstest helper
- 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-57233 Reap LDAP connections inline if multithreading is not enabled
- SERVER-57273 remove the flow_control_replica_set.js test
- SERVER-57275 Update kmip_server.py to be more verbose
- SERVER-57299 Need to wait for failed exit code in startup_recovery_for_restore_needs_rollback.js
- SERVER-57328 Make ReplsetTest.upgradeSet() tolerant of reelections
- SERVER-57330 Update perf yaml configs for perf and sys-perf to use perf.send
- SERVER-57476 Operation may block on prepare conflict while holding oplog slot, stalling replication indefinitely
- SERVER-57490 [v4.2] Add storeFindAndModify build variant name to mongodcryptd list in etc/evergreen.yml
- SERVER-57497 store_retryable_find_and_modify_images_in_side_collection.js should account for a later clustertime in retried findAndModify responses
- SERVER-57544 Also backport store_retryable_find_and_modify_images_in_side_collection.js to 4.2
- SERVER-57564 Increase system timeout duration to >2 hours to allow fio to copy over all files
- SERVER-57708 ClientMetadata Parsing errors can leave ClientMetadataState decoration in invalid state
- SERVER-57768 Deprecated counters aren't reset to zero on wrap
- SERVER-57897 Add readPrefMode option to benchRun find/findOne ops
- SERVER-57954 Update TPC-C version in sys-perf.yml
4.2.14 Changelog
Sharding
SERVER-52564 Deadlock between step down and MongoDOperationContextSession
Replication
- SERVER-50412 Change “not master” error messages to “not primary”
- SERVER-50414 Change “not master or secondary; cannot currently read from this replSet member” to “not primary or secondary; cannot currently read from this replSet member”
- SERVER-54180 ReplSetTest's stepUp function only waits 6 seconds for nodes to agree on primary
- SERVER-55007 Deadlock between step down and MongoDOperationContextSession
Query
SERVER-54710 Large number of $or clauses can create profiling entry exceeding max BSON size, causing the query to fail when it should not
Storage
SERVER-44821 retrieving storage stats for currentOp blocked by slow oplog application
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-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-55067 Migrate Windows builds to VS Current distro
Internals
- SERVER-5722 Support a 'sort' field in ops array for JS Benchmarking Harness
- SERVER-42944 scons compiledb exits with a stack trace
- SERVER-49054 Server MSI should install Compass instead of Compass Community
- 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-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-54136 Make the authenticate command respect enforceUserClusterSeparation
- SERVER-55038 Collect data files if zbigMapReduce.js fails
- SERVER-55189 Call awaitReplication() before returning from syncFrom() in rslib.js
- SERVER-55225 [v4.2] Collect data files for incremental_backup_rollback.js
- SERVER-55395 4.0.23 does not build with gcc 10
- SERVER-55602 Relax non-read-only invariant in WiredTigerKVEngine::makeTemporaryRecordStore when recoverToOplogTimestamp is specified
- SERVER-55753 Use w: majority for createCollection command in transactions_committed_with_tickets_exhausted.js
- SERVER-56164 All performance projects use the master DSI branch
- SERVER-56371 Upgrade timelib to 2021.06
- SERVER-56451 [4.2] update test for backup API to retry on conflict with checkpoint thread
- WT-7373 Improve slow random cursor operations on oplog
4.2.13 Changelog
Sharding
- SERVER-53236 Disable merge_with_move_primary.js from running on the sharding_csrs_continuous_config_stepdown suite
- SERVER-53651 Just search for user-issued profiled aggregation in read_pref_cmd.js
- SERVER-54014 Define a reasonable maxTimeMsOverride for the checkOID requests
Replication
- SERVER-51163 Mark nodes returning InvalidReplicaSetConfig in heartbeats as down
- SERVER-53248 call awaitLastOpCommitted before committing transaction in retryable_prepared_commit_transaction_after_failover.js
- SERVER-53609 lastCommittedTransaction section causes frequent schema changes that limit FTDC retention
- SERVER-53666 curSecondary in rollback test fixture not guaranteed to be in SECONDARY state after restart
- SERVER-54339 Prevent spontaneous elections in rollback_crud_op_sequences.js
- SERVER-54648 Add correct log verbosity to disallow_adding_initialized_node2.js
Query
- SERVER-47869 Add diagnostic logging to ClusterCursorManager
- SERVER-48442 Fix change_streams.js to test events in any order
- SERVER-50073 Error message when creating a mixed hashed/not hashed index does not state the problem
- SERVER-54660 Make jstests/sharding/kill_pinned_cursor.js more robust
Storage
- SERVER-46876 During the eviction pressure, we should quit the compact operation instead of crashing the process
- SERVER-54760 (4.2) Ghost timestamps can cause concurrent causal snapshot reads to not read their own writes
Build and Packaging
- SERVER-52705 Rebuilding mongodb according to building.md failed because python3 is an alias/link (led to ModuleNotFoundError)
- SERVER-54058 Update Debian 10 AMI for package testing
- SERVER-54255 Update RHEL 7 AMI for package testing
- SERVER-54858 Update Amazon Linux AMI for package testing
Internals
- SERVER-35649 Nodes removed due to isSelf failure should re-attempt to find themselves
- SERVER-43904 When stepping down, step up doesn't filter out frozen nodes
- SERVER-44132 DataBuilder move assignment computes size incorrectly
- SERVER-45836 Provide more LDAP details (like server IP) at default log level
- SERVER-46686 Explain does not respect maxTimeMS
- SERVER-46740 establishCursors() must always drain the AsyncRequestsSender::_baton
- SERVER-47030 Fix date_time_support code to not produce exceptions
- SERVER-49222 ARM64 support on Amazon Linux 2
- SERVER-50592 Update mypy pip requirement
- SERVER-51038 resmoke.py can't be run on python 3.8
- SERVER-51722 Ensure that MongoDB builds with ARM LSE atomics
- SERVER-52884 Remove race in reconstruct_prepared_transactions_initial_sync.js
- SERVER-53196 Fail to generate tasks if a large distro is specified but not available
- SERVER-53394 Make ShardingTaskExecutorPoolReplicaSetMatching default to disabled for MongoD
- SERVER-53579 python's dev-requirements.txt is incompatible with pip 20.3.3
- SERVER-53612 StepDown hangs until timeout if all nodes are caught up but none is immediately electable
- SERVER-53717 Dynamically split large concurrency tasks
- SERVER-53780 Fix missing quote in test parameters
- SERVER-53831 Force SpiderMonkey to garbage collect in ReplSetTest.checkOplogs
- SERVER-53836 Add multiversion-related expansions on Enterprise Ubuntu 16.04 (with {taskExecutorPoolSize=4}) build variant
- SERVER-53932 Multikey write during recovery of prepared transaction could use commit timestamp < stable timestamp
- SERVER-53992 Remove calls to detect-outliers from performance tasks
- 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
- SERVER-54139 Remove CURL share support from HTTP curl client
- SERVER-54278 Add feature flag to disable Opportunistic Reads by default
- SERVER-54366 Wait for node to start stepdown before killing shutdown operation in force_shutdown_primary.js
- SERVER-54369 Update Jasper gRPC to latest version
- SERVER-54458 updated vendored scons to use uuid for cache tmpfiles
- SERVER-54484 resmoke/util/archival.py relies on deprecated and now removed thread.isAlive
- SERVER-54505 Fix logic for ignored large distro build variants in 4.2
- SERVER-54684 Decreased JS performance on arm64 due to mising init function
- SERVER-54685 wrong definition of MONGO_YIELD_CORE_FOR_SMT for arm64
- SERVER-54733 Enterprise Ubuntu 16.04 arm64 aggregation_multiversion_fuzzer failures
- WT-6309 Add support for start/stop arguments to wt printlog command
- WT-6430 Move WT_CONN_SERVER flags into their own field
- WT-6844 Make force stop durable
- WT-7026 Atomically read and set ref->addr in case of race
- WT-7027 Run the metadata checkpoint for force_stop at read-committed isolation for incremental backup
- WT-7028 Sweep thread shouldn't lock during checkpoint gathering handles
- WT-7104 Redact user data from printlog output
4.2.12 Changelog
Sharding
- SERVER-46393 Always check client last operation time when computing operationTime to append to the response
- SERVER-50900 Disable PeriodicShardedIndexConsistencyChecker for cursor_valid_after_shard_stepdown.js
- SERVER-52732 Uptime reporter disables autosplit during ShardingTest initialization
- SERVER-53444 Make tests that run removeShard in assert.soon to wait for the state to become "completed" not error on ShardNotFound
Replication
- SERVER-49187 Make ReplSetTest .stepUp() robust to election failures.
- SERVER-50049 assert.soonNoExcept() should not access TestData.traceExceptions for non-resmoke tests.
- SERVER-50416 Change notMasterLegacyUnacknowledgedWrites to notPrimaryLegacyUnacknowledgedWrites in serverStatus
- SERVER-50417 Change notMasterUnacknowledgedWrites to notPrimaryUnacknowledgedWrites in serverStatus
- SERVER-50869 Background sync may erroneously set applied-through during step-up
- SERVER-50901 RollbackTest should wait for secondaries before doing data consistency checks
- 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-52744 rollback node's lastApplied > sync source's lastApplied in rollback_after_enabling_majority_reads.js
- SERVER-53026 Secondary cannot restart replication
- SERVER-53345 Excuse arbiter_new_hostname.js from multiversion tests
Query
- SERVER-32960 $mod has inconsistent rounding/truncation behavior
- SERVER-40361 Reduce memory footprint of plan cache entries
- SERVER-50769 server restarted after expr:{"expr":"_currentApplyOps.getArrayLength() > 0","file":"src/mongo/db/pipeline/document_source_change_stream_transform.cpp","line":535}}
Aggregation
- SERVER-34741 Move $match in front of $group if condition is on group key
- SERVER-40090 DISTINCT_SCAN in agg is only used when certain format of _id is specified
- SERVER-51886 $lookup + $merge pipeline may fail to resolve views correctly when collection names collide
Storage
- SERVER-47812 Secondaries persist wildcard multikeypaths out of order
- SERVER-48471 Hashed indexes may be incorrectly marked multikey and be ineligible as a shard key
- SERVER-51858 Investigate queryable issue on 4.0.20
- SERVER-52950 recoverOplogAsStandalone mode must not start oplog truncater thread
- SERVER-53703 [4.2] Opening a transaction at the all durable timestamp can go backwards
Build and Packaging
SERVER-52891 Run PPC builds less frequently
Internals
- SERVER-41836 Log thread Id as part of error in FSM tests
- SERVER-43739 SNI name is not set on OSX if allowInvalidHostnames is enabled
- SERVER-44375 fix merge_with_drop_shard.js when the curop command fails due to ShardNotFound
- SERVER-47863 Initial Sync Progress Metrics
- SERVER-48742 Log whenever profiler settings are changed via setProfilingLevel
- SERVER-50267 Set output limit for 'rawMongoProgramOutput()'
- SERVER-50445 Return the value as double when NumberLong subtraction overflows in ExpressionSubtract
- SERVER-51526 Hybrid index builds can miss writes and crash in the event of a well-timed WriteConflictException
- SERVER-51607 Upgrade Twisted dependency to at least twisted-19.7.0
- SERVER-52618 Sparse hash index should not be used for equality to null match
- 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-52879 Periodic operation latency spikes every 5 minutes due to closing idle cached WT sessions
- SERVER-52919 Wire compression not enabled for initial sync
- SERVER-52929 Correctly handle compound indexes with 32 keys
- SERVER-52969 Disable Powercyle on non-master branches
- SERVER-52975 Fix use of 'onRollback' callback for collection validator options in 'collection_impl.cpp'
- SERVER-53233 Fix change_streams_update_lookup_shard_metadata_missing.js [4.2, 4.0]
- SERVER-53234 jstests/core/profile2.js fails when background operations are run against test database
- WT-6835 Add API to allow consolidating incremental backup info
- WT-6839 Add API to query existing incremental backup IDs
- WT-6882 Files created during incremental backup should be copied in full
- WT-6922 Add random consolidate testing to incr_backup
4.2.11 Changelog
Security
SERVER-45938 Allow matching O/OU/DC in client x509 cert if clusterMode:keyFile
Sharding
- SERVER-36739 Use the mongos_manual_intervention_action hook in concurrency stepdown suites
- SERVER-47616 Improve error when logical sessions cannot have more than one user authenticated on a single connection
- SERVER-51808 invariant failure: readConcern level != Available
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-50415 Rename waitInIsMaster failpoint to waitInHello
- SERVER-50527 Change NotMasterError category to NotPrimaryError
Query
- SERVER-51120 Find queries with SORT_MERGE incorrectly sort the results when the collation is specified
- SERVER-51853 Always initialize the numInserted out-parameter in AbstractIndexAccessMethod::insertKeys
Write Operations
SERVER-44586 add metrics to serverStatus to track type of update command
Aggregation
SERVER-48523 Unconditionally check the first entry in the oplog when attempting to resume a change stream
Storage
SERVER-43664 Speedup WiredTiger storage engine startup for many tables by optimizing WiredTigerUtil::setTableLogging()
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-46342 DEB installs of MDB do not issue systemctl daemon-reload on install
- SERVER-50016 Fail on missing variable customization files
Internals
- SERVER-43973 jsTestName() should return a unique name for each thread in the parallel suite
- SERVER-45992 InMemory engine startupwarnings confusing
- SERVER-46625 Improve diagnostics when mongocryptd requests are sent to non-mongocryptd daemon
- SERVER-48078 Remove OpDebug invariant that relies on monotonic clock source
- SERVER-48502 Tighten $currentOp and pinned cursor checks in kill_pinned_cursor.js
- SERVER-49165 endSessions command in Client.Disconnect causes an authorization failure for an unauthed connection on a host that requires authentication
- SERVER-49957 Read out of bounds in getPrevAndNextUUIDs
- SERVER-50072 Check _isWindows() when initializing MongoRunner.EXIT_ABORT
- SERVER-50123 Record number of physical cores on all platforms
- SERVER-50216 Adjust sys-perf frequencies
- SERVER-50365 Stuck with long-running transactions that can't be timed out
- SERVER-50605 Add {logMessage: "msg"} test-only command
- SERVER-50647 Fix OCSP HTTP Client timeout for Windows
- SERVER-50736 Make OpenSSL explicitly accept SNIs presented in ClientHello
- SERVER-50818 Coverity analysis defect 114987: Wrapper object use after free
- SERVER-51004 Disable WT-Develop sys-perf build variants on sys-perf-4.2
- SERVER-51058 log_remote_op_wait.js misuses rawMongoProgramOutput
- SERVER-51106 Make the isMaster command a derived class of hello
- SERVER-51220 Handle auditing attribution in indirect drops
- SERVER-51303 Lookup stage followed by $match on type uses wrong field in matching condition
- SERVER-51840 Reduce dbtest jobs on 4.2 on Windows debug
- TOOLS-2588 [v4.2] sslAllowInvalidHostnames bypass ssl/tls server certification validation entirely
- WT-6160 Fix format failure caused by stack overwrite
- 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.2.10 Changelog
Security
SERVER-50463 Make PooledLDAPConnection::refresh take self-ownership
Sharding
- SERVER-37422 Log balancer start and stop events in the actionlog
- SERVER-48601 ChunkSplitter should use the same chunk bounds for splitVector and splitChunk
- SERVER-48679 flushRoutingTableCacheUpdates should block on critical section with kWrite, not kRead
- SERVER-50889 migration_failure.js should run setFCV through the router instead of the config server
Replication
- SERVER-47263 Inaccurate log message when losing dry run election
- SERVER-47645 Must invalidate all sessions on step down
- 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-50405 Alias isMaster in mongocryptd and attach appropriate response field
- SERVER-50607 Must hold mutex when calling _checkForShutdownAndConvertStatus_inlock
- SERVER-50626 Race in read_concern_majority_getmore_secondaries.js
- SERVER-50640 listCommands should return "isMaster" alias in addition to "hello" command name
Query
- SERVER-47469 applyOps does not take exclusive lock for views operation
- SERVER-50291 Add query knob to enumerate $or children in a different order
Aggregation
- SERVER-31368 Log time spent waiting for other shards in merge cursors aggregation stage
- SERVER-40317 $facet execution has no limit on how much memory it can consume
Operations
SERVER-26726 Check number of arguments for createIndex() and throw error if more than two arguments
Build and Packaging
- SERVER-23668 scons abbreviated options do not work properly
- SERVER-44632 Platform Support: Remove Community zSeries from 4.2
- SERVER-47138 MSI installer produces incorrect config file
- SERVER-50078 Compile bypass applied when it should not have
Internals
- SERVER-42852 buildStages() STAGE_SHARDING_FILTER block should hold child stage tree by unique_ptr
- SERVER-43233 Add ability to request only specific attribute(s) for the LDAP groups
- SERVER-45202 Improve Command alias infrastructure
- SERVER-47428 Move concurrency_sharded* Evergreen tasks to -large distros
- SERVER-48048 Use resmoke tag files for multiversion blacklisting
- 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-49438 Allow memory.js tests to accept $where timeout interruption
- SERVER-49766 Indexed and non-indexed collections return different results for null query
- SERVER-49786 Freeze DSI and Genny for non-master perf projects
- SERVER-49922 Make schema_validator_with_expr_variables.js less heavy
- SERVER-50183 Copy _awaitPrimaryAppliedSurpassesRollbackApplied function from RollbackTest to RollbackTestDeluxe
- SERVER-50326 Restrict sharding in agg_out.js workload to a single thread
- SERVER-50394 mongod audit log attributes DDL operations to the __system user in a sharded environment
- SERVER-50403 Build server on combined visual studio image
- SERVER-50760 [v4.2] Switch MultiOplogEntrySyncTailTest to use wiredTiger
- SERVER-50822 [4.2] dont_read_oplog_hole_on_step_up.js should wait for all nodes to agree on a primary
- SERVER-51041 Throttle starting transactions for secondary reads
- WT-6000 Enhance incremental backup testing in format to support restart
- WT-6215 Clear backup block information on rename: Reverted
- WT-6421 Avoid parsing metadata checkpoint for clean files
- WT-6539 Fix backup and rename memory leak
- 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
- WT-6610 Fix incremental backup checkpoint parsing to handle upgrades
- WT-6611 Revert enhancement allowing rename and incremental backup
4.2.9 Changelog
Security
SERVER-47733 SymmetricEncryptorWindows shouldn't pad when update is called
Sharding
- SERVER-40441 Arbiter nodes log error messages when try to create session collection or check if it exists
- SERVER-46194 Applying transfer mods in a migration does not handle write conflicts
- SERVER-48096 PeriodicShardedIndexConsistencyChecker thread on jstests can cause unintended shard refreshes
- SERVER-48229 Shutdown PeriodicShardedIndexConsistencyChecker after ReplicationCoordinator so no thread will try to pause the job after it has stopped
- 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
- SERVER-49311 PeriodicShardedIndexConsistencyChecker might cause failures on stale_mongos_and_restarted_shards_agree_on_shard_version.js
Replication
- SERVER-44779 Invariant internal operations that hit a prepareConflict must be marked killable
- SERVER-45610 Some reads work while system is RECOVERING
- SERVER-47849 Add more logging to shutdownTask
- SERVER-48525 Forbid dropping config.transactions when there are prepared transactions
- SERVER-48527 Aborting in-progress transactions on step-up should clear session state before returning
- SERVER-48576 Fix the election race in change_stream_stepdown.js
- SERVER-48611 speculative_majority_find.js should call awaitLastOpCommitted before running majority read that is expected to succeed
- SERVER-48712 Race in write_concern_after_stepdown.js
- SERVER-48778 Make reconstruct_prepared_transactions_initial_sync.js robust to election failures.
- SERVER-48967 Prevent replicated writes on empty namespaces on secondaries
- SERVER-48979 Race between config propagation and election in change_stream_stepdown.js
- SERVER-49471 Retry on WT_ROLLBACK when applying prepareTransaction oplog entry
- SERVER-50039 Timing error in dbadmin.js test
Query
- SERVER-35921 Index scan uses incorrect bounds for MinKey and MaxKey
- SERVER-44273 Failure to parse certain time zone specifications on windows platforms.
- SERVER-45233 Indexed inequalities to arrays return incorrect results
- SERVER-47223 geoNear/$geoNear does not apply index hints
- SERVER-48614 Plan cache key computation for wildcard indexes with partialIndexFilter is incorrect, leading to incorrect query results
- SERVER-48950 Enhance explain for $search to expose stats from mongot
- SERVER-48993 explodeForSort can produce incorrect query plan
- SERVER-49527 recoverFromOplogAsStandalone does not relax index constraints
Catalog
SERVER-47714 Secondary asserts on system.profile collection with WiredTigerRecordStore::insertRecord 95: Operation not supported
Storage
- SERVER-44529 Re-acquiring locks after a yield and step down results in wrong parameters on recoveryUnit
- SERVER-48274 Remove readOnly mode for queryable restores of encrypted sharded clusters
- SERVER-48453 Lazily initialize a record store's auto incrementing counter on deletes
- SERVER-48695 setAppliedThrough must set orderedCommit=false on the recovery unit
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-46445 MongoDB MSI installer showing irrelevant error message while installing in server configuration window
- 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
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-41070 Add blockConnection mode to failCommand
- SERVER-43490 Validate if we can perform TODO listed in SERVER-38686
- SERVER-46721 Step up may cause reads at PIT with holes after yielding
- SERVER-46854 Disable periodic index consistency checker on config servers in jstests/sharding/lookup_mongod_unaware.js
- SERVER-47195 Allow failCommand failpoint to trigger only on a specific MongoClient
- SERVER-47883 Newly-elected primaries do not wait for single-phase background index builds to complete before accepting writes
- 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-48058 Make sure abort_transactions_on_step_up waits for optime to be applied
- SERVER-48067 Reduce memory consumption for unique index builds with large numbers of non-unique keys
- SERVER-48107 Retry replSetStepDown in rollback_test.js
- SERVER-48514 Separate testing 'called' and 'successful' fields for serverStatus election metrics
- SERVER-48532 [4.2] IndexBuildInterceptor::areAllWritesApplied may return false despite all records being visibly applied
- SERVER-48568 Use 'nodeOptions' in change_streams_multi_version_transaction.js
- 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-48891 nullptr dereference on ViewCatalog in reIndex when Database does not exist
- SERVER-48907 Allow users to patch test changes to linkbench/linkbench2 using evergreen set-module
- 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-49097 sys-perf builds differ from release builds
- 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
- SERVER-49690 Retry "CappedPositionLost" when searching for old oplog entries
- SERVER-49704 txn_being_applied_to_secondary_cannot_be_killed.js should not allow elections
- SERVER-50173 [v4.4] Remove explode_for_sort_collation.js from backports list of test suite sharding_multiversion
- WT-6261 Turn off incremental backup rename testing
- WT-6319 Fix for corrupted encrypted item: padded size less than actual size
- WT-6480 Fix a bug where files without block modification information were repeatedly copied at each incremental backup
- WT-6495 Refactor test_backup16.py