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-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-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-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
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-40441 Arbiter nodes log error messages when try to create session collection or check if it exists
SERVER-45554 Un-blacklist core/txns from sharding test suites
SERVER-47799 AsyncRequestsSender should update replica set monitor in between retries for InterruptedAtShutdown
SERVER-47913 Redact sharding messages in split chunk and distributed lock acquisition
SERVER-48307 Transactions that write to exactly one shard and read from one or more other shards may incorrectly indicate failure on retry after successful commit
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
Replication
SERVER-46496 Retry on exceptions in reconfig_add_remove_arbiter.js
SERVER-46897 REMOVED node may never send heartbeat to fetch newest config
SERVER-47528 Presence of initialSyncStatus in replSetGetStatus consumes too much FTDC space
SERVER-47879 Should read from primary in rollback_reconstructs_transactions_prepared_before_stable
SERVER-48101 Use "j:true" when persistence is enabled in optime.js
SERVER-48250 Wait for hang in majority write before stepping down primary in write_concern_after_stepdown_and_stepup.js
SERVER-48371 transactions_during_step_down.js must abort transaction in the shell
SERVER-48541 Fix log output on rollback of fcv document
Query
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-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-32871 ReplicaSetMonitorRemoved and ShardNotFound errors on fanout query after removing a shard
SERVER-41278 FSM killSession helper should not kill sessions being run by background hooks
SERVER-41777 Make multi_mongos2.js awaitReplication after sharding a collection
SERVER-42304 Load causal consistency override in sharded_collections_causally_consistent_jscore_txns_passthrough
SERVER-42827 Allow sessions collection to return OK for creating indexes if at least one shard returns OK and others return CannotImplicitlyCreateCollection
SERVER-42862 Prevent shard refreshes in mergeChunks command from joining earlier refreshes
SERVER-43848 find/update/delete w/o shard key predicate under txn with snapshot read can miss documents
SERVER-44115 Exclude jstests/core/autocomplete.js from sharded jscore tests
SERVER-46766 Teardown clusters after every perf run
4.2.4 Changelog
Sharding
SERVER-42617 Race in CloneDocumentsCatchesInsertErrors can causes it to return an unexpected error
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
SERVER-44839 Frequent schema changes in mongos ftdc metrics limits retention period
SERVER-44915 Extend $indexStats output to include full index options and shard name
SERVER-45273 Remove the mongos version check in allow_partial_results.js and return_partial_shards_down.js
SERVER-46001 Move checkShardingIndex outside shardCollection's read critical section on the primary shard
SERVER-46121 mongos crashes with invariant error after changing taskExecutorPoolSize
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-38028 Participant with prepared transaction on session should block request for higher txn number on session rather than failing the new request
SERVER-39112 Primary drain mode can be unnecessarily slow
SERVER-43867 Work around unrecoverability of rollback via refetch in tests
SERVER-44260 Transaction can conflict with previous transaction on the session if the all committed point is held back
SERVER-45010 Clean shutdown after rollbackViaRefetch with eMRC=false can cause us to incorrectly overwrite unstable checkpoints
SERVER-45178 Rollback via refetch can cause rollback to happen successfully w/o updating the rollback id.
SERVER-45421 Fix transactions_block_ddl.js to use write concern "majority" for commands run as part of setup phase.
SERVER-45492 Tag rollback_dup_ids.js with 'requires_persistence' and 'requires_journaling'
SERVER-45493 temporarily disable failing assertion in election_candidate_and_participant_metrics.js
SERVER-45612 Remove the mapReduce + prepare testing in 4.2 concurrency_simultaneous_replication suite
SERVER-45839 recoverFromOplogUpTo should not invariant if there are no oplog entries to apply between the given range
SERVER-45840 Blacklist tests that run emptycapped from replica_sets_kill_secondaries_jscore_passthrough
SERVER-45842 Remove assertion that checks whether the last applied oplog entry has the same timestamp as the requested recover timestamp in recoverFromOplogUpTo
SERVER-45906 Initial stable checkpoint not triggered properly when enableMajorityReadConcern=false
SERVER-46050 Use getLastAppliedOpTime rather than getHeartbeatAppliedOpTime for checking primary's position
SERVER-46188 Blacklist write_conflicts_with_non_txns.js from sharded transaction passthrough suites due to maxTimeMS incompatibility
SERVER-46218 Race between removal and shutdown in arbiter
Query
SERVER-32903 Ambiguous field name error should be ignored during initial sync
SERVER-45279 GranularityRounder can get stuck in loop when rounding infinity
SERVER-45363 Issue with mongodb text indexes and weights when using wildcard specifier
SERVER-45611 Lazily enforce that persisted collection validators are well formed
Aggregation
SERVER-40603 Perform more thorough review/audit of new mongohouse DocumentSources
SERVER-44942 $out will hit invariant if temp collection is dropped before indexes are copied from source collection
SERVER-45418 DocumentSourceCursor batching memory accounting does not account for empty documents, leads to unbounded memory use for count-like aggregates
Catalog
SERVER-45137 Increasing memory allocation in Top::record with high rate of collection creates and drops
Storage
SERVER-41968 IndexBuildTest.getIndexBuildOpId() not selective enough when IndexBuildsCoordinator is enabled
SERVER-42830 Applying a rename operation can result in multiple WT transactions
SERVER-43794 Change MongoDB backup cursor API to include offset/length ranges
SERVER-44370 Have openBackupCursor accept inputs for incremental backup requests
SERVER-44406 Add $backupCursor API to forcefully disable incremental backups
SERVER-44407 Connect the incremental backup cursor pipes with WT output.
SERVER-44410 Change backup cursor results to include a filesize
SERVER-44426 Have queryable backup mode forward FS write calls to the backend API
SERVER-44433 Have queryable backup mode forward file opening/creation calls to the backend API
SERVER-44438 Have queryableBackupMode open WT in read/write mode
SERVER-44442 Allow queryableBackupMode to perform replication recovery
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-42025 Prevent Oldest timestamp from advancing in prepare_transaction_read_at_cluster_time.js.
SERVER-42366 When EMRC=false we may set the stable timestamp ahead during rollback after forcing it back to the common point
SERVER-42925 idempotency tests have oplog visiblity issues
SERVER-43239 numCatchUpOps in repSetGetStatus is incorrect
SERVER-43703 Race when disabling rsSyncApplyStop failpoint and stopping server
SERVER-43729 replSetFreeze done part of RollbackTest.transitionToSyncSourceOperationsDuringRollback Should be resilient of errors.
SERVER-43972 initial_sync_capped_index.js should check SECONDARY state before running validate
SERVER-44259 rollback_after_enabling_majority_reads.js test should wait for restarted node to be in SECONDARY state before running stepUp command
SERVER-44373 recover_multiple_prepared_transactions_startup.js test should wait for majority commit point to advance before committing a prepared transaction
SERVER-44457 Update backports_required_for_multiversion.yml on v4.2 with completed list of multiversion test suites
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
Query
SERVER-43338 [4.2] Dropping an admin.system.* index in FCV 4.0 can invariant on startup
SERVER-33973 Commands to force cleanup of partial data that might have remained after failed collection/database drop
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-39573 Add unique id to log label "TransactionCoordinator"
SERVER-39763 transactions_target_at_point_in_time.js should disable expiring old chunk history
SERVER-40258 Relax locking requirements for sharding metadata refresh on shards
SERVER-40496 transactions_snapshot_errors_subsequent_statements.js and transactions_writes_not_retryable.js should not use mode {times: 1} for failpoint
SERVER-40852 mongod_returns_no_cluster_time_without_keys.js should wait for shard primary to load cluster time keys
SERVER-40983 Track and log relevant single transaction metrics on mongos for currentOp
SERVER-41374 Add currentOpen, currentActive, and currentInactive to mongos transactions serverStatus output
SERVER-41376 Track time transactions on mongos are active and inactive and include in slow txn logging
SERVER-41615 Transaction coordinator diagnostics should handle coordinator failover
SERVER-41758 Dropping config.shards is allowed and can cause mongos to crash in aggregation code
SERVER-42006 Add transaction tags to prepared_txn_metadata_refresh.js
SERVER-42234 Make txn_two_phase_commit_failover.js robust to all replica nodes running for election at the same time
SERVER-42335 ShutdownShouldCancelQueuedRequests cpp test can ignore kill signal
SERVER-42338 transaction_coordinator_test can self deadlock
SERVER-42457 Check if cluster time has been set on TransactionRouter before observing from an external thread
SERVER-42559 Race in WaitWithOpTimeEarlierThanLowestQueued causes it to fail
SERVER-42610 Flip order of assert.lte arguments in shards_and_config_return_last_committed_optime.js
SERVER-42751 Take CSRLock when observing transaction commit for migration
SERVER-42809 Track and log relevant single two phase commit metrics for transaction coordinator on mongod for currentOp
SERVER-42842 Unable to drop collection in admin database of sharded cluster
SERVER-42856 Transactions with write can be sent to the wrong shard
SERVER-42907 Add timeActiveMicros and timeInactiveMicros for transactions in mongos currentOp output
SERVER-42963 For active sessions only set transaction stats in TransactionRouter::Observer::_reportState()
SERVER-43196 Blacklist update_where.js from sharded concurrency suites with balancer on and no txn override
Replication
SERVER-7019 rs.status needs to show initial sync happening
SERVER-7681 Report majority number in ReplSetGetStatus/isMaster
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-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-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-41580 Don't run transactions suites on the No Journal builder
SERVER-41788 Add OplogApplication::Mode to options in the OplogApplier
SERVER-41918 CollectionBulkLoader does not anticipate exceptions from MultiIndexBlock
SERVER-41955 Add test for replicating prepare oplog entries that were received during initial sync
SERVER-41956 Add integration tests for killOp of commit and abort of prepared transactions
SERVER-41957 Add integration tests for killSessions of a session with a prepared transaction on it
SERVER-41958 Add a test for rolling back prepare and then trying to retry prepare
SERVER-41959 Test running transaction commands through the applyOps command
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-42219 Oplog buffer not always empty when primary exits drain mode
SERVER-42453 ensure current clusterTime is greater than afterClusterTime value for read in step_down_on_secondary.js
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-42478 Remove DB MODE_X locks from oplog application of create/createIndexes
SERVER-42484 May not be inside required WriteUnitOfWork when writing multikey index keys during initial sync data cloning
SERVER-42523 Add more logging to oplog_rollover.js
SERVER-42534 Step down primary for less time in freeze_timeout.js and increase electionTimeoutMillis
SERVER-42562 Increase election timeout for recover_prepared_transactions_startup_secondary_application.js
SERVER-42602 Guarantee that unconditional step down will not happen due to slow node restarts in rollback_fuzzer_[un]clean_shutdowns suites.
SERVER-42613 getHashes should default to liveSlaves, not _slaves in replsettest.js
SERVER-42714 Log replication recovery oplog application completion at level 0
SERVER-42750 OperationContext::inMultiDocumentTransaction() doesn't return true when applying operations for prepared transaction during recovery
SERVER-42755 recover_prepared_txn_with_multikey_write.js should make sure no prepare conflicts are generated on catalog object after restarting node
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-43016 Fix typo in timestamped_reads_wait_for_prepare_oplog_visibility.js and check that nModified = 1
SERVER-43230 Fix race in catchup_takeover_two_nodes_ahead.js
SERVER-43237 replSetFreeze and replSetStepDown cmd done part of restartNode()/transitionToSteadyStateOperations() in rollback test should be resilient of network error.
SERVER-43330 ReplicationStateTransitionLockGuard::_unlock doesn't work with its move constructor
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