4.4 Changelog
On this page
4.4.14 Changelog
Sharding
SERVER-55429 Abort migration earlier when receiver is not cleaning overlapping ranges
TTL
SERVER-52724 Increment TTL passes server status metric after the TTL work has finished
Internals
- SERVER-44847 Clean up explicit 'comment' fields name attached to distinct and count commands in IDL files
- SERVER-56003 ninja + icecream with changing compilers doesn't regen run-icecc.sh
- SERVER-57000 Fix handling of correlated pipeline with facet
- SERVER-57037 Improve precision of operator counters
- SERVER-57676 Wait for a checkpoint before releasing the "hangOplogCapMaintainerThread" in oplog_rollover.js
- SERVER-58310 ThreadPoolTaskExecutor is memory unsafe when task cancellation occurs around the same time an exhaust network response is received
- SERVER-59435 Fix a double free inside DocumentSource::optimizeAt()
- SERVER-60412 Host memory limit check does not honor cgroups v2
- SERVER-61769 Attempting to run an aggregation with $out or $merge in a transaction on a sharded cluster leaves idle cursors open
- SERVER-62229 Fix invariant when applying index build entries while recoverFromOplogAsStandalone=true
- SERVER-62242 $indexOfArray does not work with duplicate values in array
- SERVER-63315 Count command only accepts a string comment but should accept any BSON type in 4.4
- SERVER-63497 Fix icecream debugging
- SERVER-63974 Pin version of itsdangerous python dependency
- SERVER-64079 $search commands fail on 4.4 binary with FCV 4.2
- SERVER-64202 [4.4] initial_sync_aborts_two_phase_index_builds_hide_index.js can fail if the primary can't see a majority of the replica set
- SERVER-64304 Using --recoverFromOplogAsStandalone can result in index builds crashing the server
- SERVER-64410 Investigate whether we need to sort on searchScore when storedSource is true in $search
- SERVER-64554 abortIndexBuild oplog entry has no effect when run with --recoverFromOplogAsStandalone
- SERVER-64757 Improve error messages when scons fails to generate-ninja on Windows
- SERVER-64772 Don't finish index build before stepdown in index_killop_after_stepdown.js
- SERVER-64983 Release Client lock before rolling back WT transaction in TransactionParticipant::_resetTransactionState
- SERVER-65032 Pin python package BaseResponse for ocsp suite
- SERVER-65421 Fix package test failures on RHEL 6/7
- SERVER-65422 Fix package test failures on Ubuntu 16.04
- SERVER-65690 [v4.4] Skip backup_restore_abort_and_start_index_build.js for single-phase index build variants
- SERVER-65718 Fix mypy error
- WT-8074 Panic in reconciliation if inserting content into the history fails
- WT-8149 Updating metadata salvage csuite test to handle salvaging table metadata without salvaging file metadata
- WT-8198 Switch the bulk load cursor to a scratch buffer
- WT-8270 Updating the time window clear obsolete stage of reconciliation to correctly consider global visibility.
- WT-8362 Remove or rewrite HS entries of a key when OOO tombstone is written to datastore
- WT-8422 Clear the on-disk cell time window if it is obsolete
- WT-8450 Report stats in hs_cleanup_stress, don't validate them
- WT-8598 Avoid checkpoint cleanup always on shutdown
- WT-8649 WT_SESSION methods cannot release scratch buffers unless reset or closing
- WT-8708 Fix timestamp usage error in test/checkpoint
- WT-8743 Configure hs_cleanup configuration to stress the cache less
- WT-8753 Add tombstone when rolling back in-memory, prepared, reconciled updates
- WT-8799 Disable documentation update on mongodb-5.0
- WT-8824 Disable code coverage measurement on mongodb-4.4
- WT-8874 Disable compatibility tests on mongodb-5.0
- WT-8879 Set the OOO flag when the selected tombstone is globally visible
- WT-8894 Find the path to the mongod executable for many-collection-test
- WT-8909 Disable cpp test search_near_01 on 4.4
- WT-8924 Don't check against on disk time window if there is an insert list when checking for conflicts in row-store
4.4.13 Changelog
Sharding
- SERVER-26755 Collection chunk loading is aborted entirely if fetching all the chunks takes more than 30 seconds
- SERVER-62065 Upgrade path from 3.6 to 4.0 can leave chunk entries without history on the shards
- SERVER-62171 Add logs to output of runConcurrentMoveChunk in sharding_statistics_server_status.js
- SERVER-62906 Add a check in the createCollection/shardCollection path verifying the collection name length
Replication
SERVER-48059 concurrency_replication_for_backup_restore's WaitForReplication hook should ignore shutdown errors due to quiesce mode
Query
- SERVER-40691 $nin:[[],...] queries are not indexed
- 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
Storage
SERVER-55483 Add a new startup parameter that skips verifying the table log settings
Internals
- SERVER-48068 assert.soon() with hang analyzer enabled inside a try/finally can lead to an invariant failure in ProgramRegistry
- SERVER-48328 Remove index key generation error whitelist
- SERVER-48367 envp may be unreliable in global initializers
- SERVER-49882 Log status in the catch block in JSThread::run()
- SERVER-53239 fix race in shared future unit test
- SERVER-57037 Improve precision of operator counters
- SERVER-57312 Pin transitive Python dependencies and use the pinned file for installation in Evergreen
- SERVER-57662 Wait for config.system.sessions collection to exist on the config server before refreshing logical session cache
- SERVER-59375 Should collect summary statistics about transient faults
- SERVER-59779 Call asCluster() before replSetFreeze in ReplSetTest
- SERVER-60392 Fix timing in priority_takeover_two_nodes_equal_priority test.
- SERVER-61315 Ldap health check executor should support aborted tasks
- SERVER-61662 SCons configure checks should always run with verbosity
- SERVER-61837 [v4.4] Ensure waiting for majority write concern after index creation in the destination shard of a migration on empty collections
- SERVER-61977 Concurrent rollback and stepUp can cause a node to fetch from a timestamp before lastApplied once it has stepped down.
- SERVER-62085 Use more bits for hashedMultikeyMetadataPaths in validation
- SERVER-62336 Tolerate SnapshotTooOld errors in dbCheck testing
- SERVER-62368 Range deleter must honor rangeDeleterBatchDelayMS
- SERVER-62380 Wait for majority commit point to be advanced on each node before starting rollback test in rollback_set_fcv.js
- SERVER-62465 After intensities are updated, the resulting health check should run with the new values of intensities set.
- SERVER-62511 Race in dbcheck_no_history_on_secondary.js
- SERVER-62513 RunDBCheckInBackground should retry on Interrupt errors
- SERVER-62514 dbcheck_write_concern.js should prevent primary from stepping down
- SERVER-62668 Synchronize access to ImpersonatedUserMetadata in OperationContext.
- SERVER-62678 Migrate LDAP health checker to use permanent OpenLDAP & AD servers
- SERVER-62706 dbcheck.js: handle replica sets with mixed debug/release members
- SERVER-62824 Fix op_msg_fuzzer initialization order on v4.4
- SERVER-62875 [v4.4] Archive data files for the multi_stmt_txn_jscore_passthrough_with_migration suite
- SERVER-62928 Increase interval between LDAP checks in health observer tests
- SERVER-62948 Ensure FTDC collectors don't have a read timestamp
- SERVER-63057 /usr/bin/dig LDAP observer test relies upon is flaky
- SERVER-63097 stepdown_race_with_transaction.js should use the "uses_transactions" tag.
- SERVER-63141 Difference in $lookup/$redact/$let behaviour with pipeline optimization
- SERVER-63197 Pin microbenchmarks genny version
- SERVER-63203 Chunk splitter never splits if more than 8192 split points are found
- SERVER-63234 Better logging to explain LDAP health check flakiness
- SERVER-63422 Fix build failure for op_msg_fuzzer test on v4.4
- SERVER-63505 Ensure arbiter recognizes primary node in rollback_views.js
- WT-8004 Create a read order for the architecture guide
- WT-8320 Select updates restored from history store irrespective of visibility
- WT-8424 Use consistent toolchain in little-endian
- WT-8477 Enforce the use of Pymongo 3.12.2 in our Evergreen tests
- WT-8605 Disable the perf tests for non-develop branches in Evergreen
4.4.12 Changelog
Sharding
SERVER-61637 Review range deleter batching policy
Internals
- SERVER-53239 fix race in shared future unit test
- SERVER-58152 Create Feature flag for Remove Faulty Mongos From Cluster Topology
- SERVER-58153 Enable Feature flag for Remove Faulty Mongos From Cluster Topology
- SERVER-59356 Create dummy FaultManager singleton, FaultStatus enum and dummy unit test
- SERVER-59357 Create dummy Fault class and dummy unit test for it
- SERVER-59358 Create FaultFacet interface, mock implementation and unit test running mock that imitates a failure
- SERVER-59360 Create HealthObserver interface, mock implementation and unit test invoking the periodic check with mocked failure
- SERVER-59361 Implement periodic health check thread pool
- SERVER-59362 Setup Fault Manager State Machine
- SERVER-59364 Should move to the OK state after performing a successful round of health checks when in the StartupCheck state
- SERVER-59365 Should not transition to OK state if initial health checks are not completed successfully
- SERVER-59366 Progress monitor for periodic health check
- SERVER-59367 Should create in-memory Fault instance when entering the TransientFault state
- SERVER-59368 The system should properly handle a health checker being turned on/off
- SERVER-59370 Should Transition to ActiveFault state when in the TransientFault state for kActiveFaultDuration
- SERVER-59382 Enforce non-critical facets not entering ActiveFault state
- SERVER-59386 Should provide the ability to perform periodic LDAP health checks
- SERVER-59394 Setup integration test simulating ldap failure scenario
- SERVER-59397 implement randomization for health check periods
- SERVER-59496 Fault class should be a container of active fault facets
- SERVER-59522 HealthCheckStatus should track fault status and lifetime
- SERVER-59567 Periodic check should invoke observers, simulate HealthObserver Mock failure
- SERVER-59608 Coverity analysis defect 120502: Parse warning
- SERVER-59912 Initial no-op scaffolding of the Ldap health checker
- SERVER-60079 Common health observer code to incorporate generic patterns from Ldap observer
- SERVER-60084 Fix clang related compile failure in Enterprise Ldap
- SERVER-60316 FaultManager should start with periodic checks disabled
- SERVER-60587 Implement FaultFacet
- SERVER-60944 Change interface for updateWithSuppliedFacet and update
- SERVER-61220 Integration test for Progress monitor
- SERVER-61368 FaultManager test suite should use real thread pool
- SERVER-61438 Fix race in health_observer_test.cpp
- SERVER-61529 Ldap tests should wait for connection reaper to be terminated
- SERVER-61871 use tassert for state machine programmer errors
- SERVER-61872 Fix thread pool starvation in FaultManager
- SERVER-61873 LDAP health observer runtime params
- SERVER-61914 add fault facet details to FaultImpl::toBSON
- SERVER-61921 Link failure in noSSL mode in FaultManager
- SERVER-61930 Individual health observers should return an error if a timeout period elapses when doing a single health check
- SERVER-61956 fix data race when accessing the state machine's state
- SERVER-62037 Fix replica set definition in the system perf yaml file for linux-1-node-15gbwtcache
- SERVER-62084 Serializer for FaultFacetType is broken
- SERVER-62096 /proc/<id>/smaps is not available
- SERVER-62098 Guard healthCheckContexts with mutex in fault_manager.cpp
- SERVER-62174 FaultManager to support dynamic configuration of health check intervals
- SERVER-62188 Shutdown race with use after free in DeadlineFuture
- SERVER-62197 Remove extra state mutex lock.
- SERVER-62202 Log ID 5936504 should contain observer type as string
- SERVER-62203 change the thread name "Health checks progress monitor" to "FaultManagerProgressMonitor"
- SERVER-62204 do not schedule health check if observer is not enabled
- SERVER-62226 Disable dbcheck_no_history_on_secondary.js on EFT
- SERVER-62280 Premature transition to ok during initial checks in fault_state_machine_test.cpp
- SERVER-62291 Find replacement for skipValidatingExitCode in the 4.4 backport of the health monitor
- SERVER-62312 Enable feature flag in 4.4 backport and other housekeeping
- SERVER-62371 Syntax error on rare code path in ldap_mongos_health_checking.js
- SERVER-62373 LDAP health check integration test should assert stats
- SERVER-62555 Ldap integration test should crash the server
4.4.11 Changelog
Platform Support
Starting in MongoDB 4.4.11 the following platforms are no longer supported:
Enterprise Edition
- Ubuntu 18.04 PPC64LE
Community Edition
- RHEL-72-s390x
Sharding
- SERVER-45149 replSetStepDown command in txn_two_phase_commit_failover.js should not timeout
- SERVER-51329 Unexpected non-retryable error when shutting down a mongos server
- SERVER-53335 Queries, updates, and deletes with non-"simple" collations may miss documents when using hashed sharding
- SERVER-54623 Decrease number of jobs in causal consistency passthrough suites
- SERVER-55382 Ignore error from retryable write being converted to transaction and that transaction failing in random_moveChunk_update_shard_key.js
- SERVER-55392 Add a timestamp field to config.rangeDeletions
- SERVER-55412 Mirrored reads should propagate the shard version field
- 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-59890 Exclude migration_coordinator_shutdown_in_critical_section.js test from the config stepdown suite
- SERVER-60552 Separate test for non-existing collection in metadata_manager_test
- SERVER-60652 Backport the autoSplitVector logic to v4.4
- SERVER-60682 TransactionCoordinator may block acquiring WiredTiger write ticket to persist its decision, prolonging transactions being in the prepared state
- SERVER-60738 Update metadata manager tests for non-existing collections
- SERVER-60804 Remove shard version checks from cursor_valid_after_shard_stepdown
- SERVER-61461 update_shard_key_doc_moves_shards.js fails due to spurious refreshes from secondaries
- SERVER-61628 Do not reschedule range deletion task when numDeleted < numDocsToRemovePerBatch
- SERVER-61689 ActiveMigrationsRegistry::lock method doesn't properly handle its exceptions
- SERVER-61816 cancel_coordinate_txn_commit_with_tickets_exhausted.js can hang forever due to race condition between transaction reaper and transaction coordinator
Replication
- SERVER-54909 In replSetGetStatus, report last durable and last applied operation wall times for all members
- SERVER-55376 Reconfig can roll back committed writes in PSA sets
- SERVER-60946 Race condition in replsetprio1.js when initiating replset with nodes having different priorities
Query
- SERVER-57588 Inconsistent query results when an array position is indexed whose value is an array
- SERVER-60586 out_max_time_ms.js does not correctly enable "maxTimeNeverTimeOut" failpoint leading to spurious test failure
Aggregation
- SERVER-59613 $range expression should error if it exceeds memory limit
- SERVER-59924 Error executing aggregate with $out with "available" read concern on sharded clusters
Storage
- SERVER-30846 Run dbCheck as background workload in FSM tests
- SERVER-45953 Exempt oplog readers from acquiring read tickets
- SERVER-48293 remove inactive index builds from config.system.indexBuilds
Operations
SERVER-28953 Capture df (disk full) statistics in FTDC
Internals
- SERVER-34597 shardedcluster.py does not wait correctly on shards initialization
- SERVER-46521 Extend mirrored reads generation tests
- SERVER-46533 CmdUpdate should persist underlying BSON
- SERVER-48673 Worker thread may exhaust command retries when using passConnectionCache=true in concurrency stepdown suites
- SERVER-49028 initial_sync_aborts_two_phase_index_builds.js can fail if the primary can't see a majority of the replica set
- SERVER-51087 Add testing utility for creating an empty sharded collection with the specified bounds
- SERVER-55395 4.0.23 does not build with gcc 10
- SERVER-56602 Track usage of match expressions in serverStatus
- SERVER-56801 Update placeholder links for the reconfig check in PSA sets
- SERVER-56887 setIndexCommitQuorum command returns {ok: 1} when run against a mongos on a non-existent index build
- SERVER-56919 Add validation for memberIndex to reconfigToPSASet() shell helper
- SERVER-57284 Wait for config commitment in reconfig_for_psa_set_shell.js
- SERVER-57289 redact should not convert BSONArray into BSONObj
- SERVER-57605 Expose Decimal128 equality comparison helper to shell
- SERVER-58119 single_node_set_new_hostname.js needs to call replSetReconfig with an assert.soonNoExcept
- SERVER-58385 recovery oplog application updates multikey info on wrong collection
- SERVER-58406 Enable debug logging when the TestingProctor is enabled
- SERVER-58412 Changing settings.chainingEnabled in replica set configuration should affect change in sync sources
- SERVER-58636 Initial syncing node can miss final oplog entry when calculating stopTimestamp against a secondary sync source
- SERVER-58888 $unionWith explain with mode "executionStats" does not account for stages which are pushed down
- SERVER-59108 Resolve race with transaction operation not killed after step down
- SERVER-59191 SPIKE: git.get_project fails to clone
- SERVER-59226 Deadlock when stepping down with a profile session marked as uninterruptible
- SERVER-59329 Make sure that withTemporaryOperationContext throw an error if the node is no longer a primary
- SERVER-59409 Race between reconfig replication and stepup can cause RSM to be stuck in reporting ReplicaSetNoPrimary
- SERVER-59459 mongodb fails to build with glibc-2.34
- SERVER-59672 Fix stopping replication in step_down_during_draining3.js
- SERVER-59858 Add observability for tasks scheduled on the reactor thread
- SERVER-59879 Adjust maxTimeMS value to allow for slower execution in the parallel test suite
- SERVER-60096 Add rollbackHangCommonPointBeforeReplCommitPoint failpoint to RVR
- SERVER-60218 Improve $group stage
- SERVER-60310 OCSP response validation should not consider statuses of irrelevant certificates
- SERVER-60326 Windows Server fails to start when X509 certificate has empty subject name
- SERVER-60456 LDAPBindOptions go out of scope during heavily delayed binds on Windows
- SERVER-60511 getPinnedOplog return value should always be std::min compared with the pinned timestamp
- SERVER-60520 Default 'enableSearchMeta' to true (v4.4)
- SERVER-60550 migration_util function may miss some response errors when submitting remote commands through sendToRecipient()
- 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-60606 Race condition during initial sync when index builds start in data cloning phase
- SERVER-60670 use a separate branch instead of a specific commit for TPCC
- SERVER-60671 Remove dagger
- SERVER-60685 TransactionCoordinator may interrupt locally executing update with non-Interruption error category, leading to server crash
- SERVER-60756 Add additional logging for failed updates in multi_statement_transaction_atomicity_isolation.js
- SERVER-60788 merge_causes_infinite_loop.js attempts to expose a problem that no longer exists
- SERVER-60809 Add ability to not idLookup after $search
- SERVER-60877 Correct inadvertent copy of MutableOplogEntry on replLogUpdate
- SERVER-60928 [4.4] Latest 4.2 mongos cannot startup with a sharded collection having compound hashed shard key
- SERVER-60948 Insert document in new collection in migration_id_index.js to await successful index build on secondary
- 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-61466 Port the RSM { electionId, setVersion } ordering to scanning RSM
- SERVER-61479 Increase the number of retries to connect to a replica set following a stepdown
- SERVER-61550 Modify auto_workload_path in perf.yml to be relative to cwd
- SERVER-61681 Wait for replSetGetStatus to update in replSetGetStatus_member_wall_times.js
- SERVER-61690 Adjust stored fields protocol for atlas search
- SERVER-61738 Revive dbCheck.js and make it deterministic
- SERVER-61743 The -fno-builtin-memcmp flag shouldn't be applied except on x86_64 platforms
- SERVER-61748 dbCheck should not hold a strong database lock during batches
- SERVER-61754 dbCheck should not hold a strong collection lock during batches
- SERVER-61757 Add a dbCheck command option to customize the batch size
- SERVER-61791 pin pymongo
- SERVER-61846 Prevent redact from throwing BSONObjectTooLarge
- SERVER-61852 dbCheck should tryLock the collection with backoff
- SERVER-61862 Expose $_internalReadAtClusterTime command in v4.4
- SERVER-61877 Remove catalog consistency verification from dbCheck
- SERVER-61955 Expose dbCheck as a generally available command
- SERVER-62022 Reduce dbCheck info logging in production, log start and stop
- SERVER-62023 Improve dbCheck observability
- SERVER-62041 Add a maximum batch execution time to dbCheck
- SERVER-62164 Remove several obsoleted build variants across all stable branches
- SERVER-62210 Fix dbCheck progress meter handling of dropped and recreated collections
- SERVER-62212 Support writeConcern for dbCheck
- WT-5009 Migrate remaining wiredtiger-perf-lsm tests to Evergreen
- WT-5743 Rewrite cells when the transaction ids are cleared for VLCS
- WT-5939 Fix naming conflict resulting in "cannot remove directory" error in test_config06 (OSX only)
- WT-6077 Add new stats to track compact progress
- WT-7250 Fix the test to perform explicit eviction instead of relying on low cache size
- WT-7494 Add Python test to trigger update restore eviction during recovery
- WT-7885 Ensure WiredTiger testing uses tcmalloc where possible
- WT-8026 Run PPC/zSeries/macOS mainline builds less frequently in Evergreen
- WT-8067 Fix the code that ensures to insert the newest history store value as full update
- WT-8116 Fix issues related to inheritance in the cpp testing framework
- WT-8147 Detect invalid syntax in cppsuite configs
- WT-8168 Fix unused variables in search near cpp tests
- WT-8199 Make s_all accept Python PEP8 compliant line breaks
- WT-8203 Fix the layering violation in accessing the page
- WT-8204 Fix possible race condition in "wt7989_compact_checkpoint" CSuite test
- WT-8214 Only publish the docs from the WiredTiger develop Evergreen project
- WT-8225 Fix data race in zstd get context
- WT-8226 Fix largest_key failed to consider prepared update
- WT-8395 Inconsistent data after upgrade from 4.4.3 and 4.4.4 to 4.4.8+ and 5.0.2+
- WT-8534 Allow retrieving checkpoint snapshot for backup restore recovery
- WT-8576 Enable logging in test checkpoint
4.4.10 Changelog
Security
SERVER-50050 Build with --ssl=off fails
Sharding
- SERVER-53332 Change ShardRegistry::_connStringLookup to store connection strings as std::strings
- SERVER-54064 Sessions on arbiters accumulate and cannot be cleared out
- SERVER-55975 The core/find_and_modify.js test is not suitable to run in the stepdown suites
- SERVER-59160 Disable balancer in test_stacked_migration_cleanup.js
- SERVER-59769 Balancer conflicts with chunk migration tests
- SERVER-59916 T{1, 2}Starts{First, Second}AndWins In WriteConflictHelpers Does Not Synchronize Committing Of Failed Transaction
- SERVER-60142 Shard can migrate on top of orphans after filtering metadata was cleared
- SERVER-60419 Make CleanUpForMigrateIn deterministic
Replication
- SERVER-50241 PeriodicShardedIndexConsistencyChecker should skip dropped collections
- SERVER-55376 Reconfig can roll back committed writes in PSA sets
- SERVER-58988 Avoid sync source selection cycle during primary catchup.
- SERVER-60153 More INFO level logs during election
Query
- SERVER-51806 bulk key insertion phase of index build holds IX lock without yielding
- SERVER-54791 Excessive file descriptor usage during index build with external sort
- SERVER-57321 $mod match expression incorrectly handles NaN, Infinity and large values
Aggregation
SERVER-49214 Add $toHashedIndexKey expression
Operations
SERVER-53242 Always log collmod command
Internals
- SERVER-34597 shardedcluster.py does not wait correctly on shards initialization
- SERVER-46147 Update repair to fix multikey errors without performing an index rebuild
- SERVER-49340 Add repair mode to validate for startup --repair
- SERVER-52850 Remove assertion from initial_sync_nodes_maintain_and_gossip_commit_point.js
- SERVER-53448 Make ftdc_mirrored_reads.js resilient to slow machines
- SERVER-54825 Use 'toArray()' in addition to array access after 'find()' in rslib.js
- SERVER-55904 Consolidate getFirstOplogEntry and getLeastRecentOp helpers
- SERVER-56326 Add a round() method to the Decimal128 class
- SERVER-56416 mongod --version returns with extraneous log line on M1 laptops
- SERVER-56919 Add validation for memberIndex to reconfigToPSASet() shell helper
- SERVER-57284 Wait for config commitment in reconfig_for_psa_set_shell.js
- SERVER-57605 Expose Decimal128 equality comparison helper to shell
- SERVER-57938 Skip polygon validation for stored GeoJSON when query has $geoIntersect and a 2dsphere index
- SERVER-58047 $toHashedIndexKey expression doesn't add any dependencies
- 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-58122 Replace searching logs for invariant failure with failpoint usage in resync_majority_member.js
- SERVER-58139 Avoid leaking state from NetworkInterfaceTest::CancelLocally
- SERVER-58148 mirrored_reads.js assertion does not consider mirrored read failure
- SERVER-58183 _applyPrepareTransaction does not ensure prepareConflictBehavior is kIgnoreConflictAcceptWrites on retry attempts
- SERVER-58203 improve $unionWith stage
- SERVER-58583 Query analysis for mongocryptd does not handle expressive projections in find
- SERVER-58777 Inserts and updates disagree on whether an empty subdocument is a level of nesting
- SERVER-58780 [v4.4] Ensure that _shouldSetStableTimestamp gets restored to true if replSetInitiate fails
- SERVER-59010 Fix SSL off build, OCSPManager shouldn't be used when ssl = off
- SERVER-59074 Do not acquire storage tickets just to set/wait on oplog visibility
- SERVER-59120 Create unit tests for commitChunksMerge
- SERVER-59143 hard fail if "--ninja" tool option is used with ninja module in place
- SERVER-59190 IndexAccessMethod can be destructed during index build bulk load yield
- SERVER-59294 Check action type for oidReset
- SERVER-59299 Improve $match stage
- SERVER-59425 Ninja fails to install archive targets locally
- SERVER-59456 Start the LDAPReaper threadpool
- SERVER-59476 validate_commit_message does not allow wiredtiger imports to be reverted
- SERVER-59651 replsettest runCommandWithRetry should handle slow configs
- SERVER-59725 Remove push task from extra RHEL 6.2 variants
- SERVER-59804 Using a separate branch for YCSB in system_perf.yml
- SERVER-59866 Stop FCV from waiting for majority when currentCommittedSnapshot is dropped
- SERVER-59867 Split horizon mappings in ReplSetConfig/MemberConfig should be serialized deterministically
- SERVER-59876 Large delays in returning from libcrypto.so while establishing egress connections
- SERVER-60025 queue document crashes the server due to producing invalid runtime object
- SERVER-60062 Fix duplicate uuid and server description deep copy found in topology description clone
- SERVER-60085 Cap number of fallback test suites at number of tests in suite
- SERVER-60290 Update Windows external auth test distro
- SERVER-60299 Backport PCRE bugfix for Bugzilla #2613
- SERVER-60406 $searchMeta fails on unsharded collection in sharded cluster when there are no search results
- WT-5270 Create wtperf script for evergreen
- WT-6193 Re-enable VLCS testing in format-test
- WT-6669 Enable VLCS coverage and checkpoint tests in evergreen
- WT-6900 Write "schema" subpage for Architecture Guide
- WT-6903 Write "dhandle/btree" subpage for Architecture Guide
- WT-6907 Write "snapshots" subpage for Architecture Guide
- WT-6909 Eviction architecture guide
- WT-6913 file system and os interface architecture guide
- WT-7169 Commit ts should not be lesser than the last durable ts in test_timestamp22.py
- WT-7294 Re-enable VLCS evergreen endianness tests
- WT-7392 Added evicted flag to dhandle for use by session sweep
- WT-7601 Fix typo in operation tracking documentation
- WT-7695 Dump entire tree when key out-of-order found in __cursor_key_order_check_row
- WT-7745 Add macro to identify uris for btree objects
- WT-7757 Skip obsolete leaf pages without having to read them
- WT-7844 Add tiered_abort stress test for tiered storage.
- WT-7902 Retry the alter command after a system wide checkpoint
- WT-7914 Update the documentation only when required
- WT-7942 Release timestamp lock in test/format when all_durable timestamp is not found
- WT-7949 Change local store cache and bucket directories to be relative to WT_HOME
- WT-7957 Tiered storage should look in local system for objects
- WT-7959 Skipped_pages is less than expected_pages_skipped in test_cursor17
- WT-7980 Create interface to "log:" cursor which switches log files before returning them
- WT-7987 Create Unit Test to check compact does not rewrite overflow items
- WT-7989 Compact quits when running at the same time as a system checkpoint
- WT-7992 Provide API to return the last key in a table regardless of visibility
- WT-7993 If gathering handles and not in aggressive eviction mode, have eviction sleep to let checkpoint grab a contentious spinlock.
- WT-8001 Fix Inconsistent API behaviour when setting global oldest and stable timestamps
- WT-8007 Update script to correctly generate new test for the CPP test suite framework
- WT-8011 Add format support for randomly choosing RS or VLCS
- WT-8017 Re-enable VLCS format stress testing in evergreen.
- WT-8019 VLCS snapshot-isolation search mismatch
- WT-8022 Verify WT_CURSOR.modify return values in format test program
- WT-8023 Use global transaction information to assess if a session has active transaction
- WT-8024 Add link text to cross-references in Arch Guide
- WT-8034 Use the PR branch when docs are compiled in PR testing
- WT-8035 Handle prefix enabled lexicographical comparisons for string key formats
- WT-8036 Added connection panic flag in two assert statements in wt_evict_thread_run and _wt_evict_thread_stop.
- WT-8039 Add a new flag for API check instead of clearing prepared flag which may incorrectly force a roll back
- WT-8041 Rollback to stable unpacks values repeatedly
- WT-8042 Create an evergreen job to run test/checkpoint variation
- WT-8043 Tidy the "ripcip" argument into the visibility code
- WT-8044 Prefix enabled search near only returns matching keys
- WT-8048 Remove split_8 timing stress configuration
- WT-8055 Fix issue when compact quits when running at the same time as a checkpoint
- WT-8057 Add a test to verify that changing compact is not resulting in data loss
- WT-8059 Add a check in salvage when no overflow items are found
- WT-8068 Improve __rollback_row_modify control flow
- WT-8069 Coverity analysis defect 120706: Redundant test
- WT-8070 Remove discrepancy between prefix_key and prefix_search
- WT-8075 Coverity analysis defect 120712: 'Constant' variable guards dead code
- WT-8077 Mark the page dirty once the prepared updates are resolved
- WT-8078 Implement tiered storage local retention caching
- WT-8079 Add breakpoint to verify error macros, clean up API processing
- WT-8081 Fix tiered hook functions to provide default for config string
- WT-8086 Create cpp test for prefix search near entries
- WT-8092 Prefix early exit when keys are present in the insert list
- WT-8094 Fix use after free in csv extractor
- WT-8101 Enable diagnostic mode for the CPP tests in evergreen
- WT-8103 Skip a dhandle if it isn't a btree
- WT-8104 Fix memory leaks noted by ASAN
- WT-8108 Use temporary files and rename in local store
- WT-8112 Skip null check, per coverity
- WT-8113 Remove dead code, per coverity
- WT-8115 Define macros only when necessary in cpp files
- WT-8119 Add targeted compact testing to the existing testing framework
- WT-8121 Create a long running stress test which inserts a large amount of data over a long period
- WT-8125 Update hs_cleanup cppsuite test to use the new thread_context logic
- WT-8126 Mark btree as dirty only if not newly created when instantiating a deleted row-store leaf page
- WT-8146 Stop the tracking component when a CPP test ends
- WT-8148 Fix comment typo in util_verify.c
- WT-8161 Reduce verbosity of CMake Evergreen smoke
- WT-8162 Refactor uses of SMOKE arg in 'define_c_test' helper
- WT-8164 Disable rollback_to_stable10 python test on Windows
- WT-8171 Implement a C style test in the CPP testing framework
- WT-8193 Wrong corner case in VLCS rollback-to-stable
4.4.9 Changelog
Security
SERVER-57716 Partial certificate chain in PEM causes validation failure in OCSP
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-44316 Log message in InitialSyncer for setting begin applying timestamp is incorrect
- SERVER-59212 Make sure node stepped down before waiting for catchup takeover in catchup_takeover_with_higher_config.js
- SERVER-59478 Move serverStatus command before taking RSTL in catchup_takeover_with_higher_config.js
Query
SERVER-57178 add regression test for multikey compound index
Storage
SERVER-56877 insert operations may fail to set index to multikey after aborted multikey catalog update
Build and Packaging
WT-7830 Migrate the python setup scripts to use cmake
Internals
- SERVER-49435 uassert in NetworkInterfaceTL::setTimer can cause server to crash if connection future not immediately ready
- SERVER-53069 Disable death tests on address and memory sanitizer variants
- SERVER-53479 Wait for mirrored operations in mirror_reads.js
- SERVER-53849 Move away from getLog in timestamped_reads_wait_for_prepare_oplog_visibility.js
- SERVER-55589 replSetMaintenance command does not take the RSTL
- SERVER-56580 Promote build-tools=next to stable
- SERVER-57262 Allow nodes to vote for candidates with higher config
- SERVER-57268 add multikey query to validate_multikey_restart.js
- SERVER-57360 Log additional debug info for the "invariant (_requests.empty());" in ~LockerImpl
- SERVER-57630 Enable SSL_OP_NO_RENEGOTIATION on Ubuntu 18.04 when running against OpenSSL 1.1.1
- SERVER-57752 Test terminating mongod during a clean shutdown checkpoint
- SERVER-57893 Make rsm_horizon_change.js resilient to network failures
- SERVER-58051 Mongod.exe does not release file handles on rotated logs on windows 10
- SERVER-58169 Log timestamps info on hitting invariants around stable timestamp calculation
- SERVER-58184 Checkpoint thread causes assertions when raced with recovering prepared transactions on startup
- SERVER-58280 initial sync hangs on hiding dropped index when index builds are active
- SERVER-58402 Increase timeout of shutdown command in shutdown_primary.js
- SERVER-58581 Add SEARCH_META variable that populates from mongot
- SERVER-58582 Create $documents stage and implement collectionless unionWith
- SERVER-58588 Implement $searchMeta stage
- SERVER-58594 ReplicationCoordinatorImpl::handleHeartbeatResponse_forTest doesn't use _mutex when reading _rsConfig
- SERVER-58676 Ban pipelines that set SEARCH_META variable in sharded collections
- SERVER-58813 Robustify jstests/multiversion/hashed_index_bad_keys_cleanup.js
- SERVER-58886 Allow 'vars' result to be returned from a sharded search query but fail on SEARCH_META access
- SERVER-59135 Make mongocryptd targets in MSIs depend on libsasl2
- SERVER-59188 Coverity analysis defect 120391: Uninitialized scalar field
- 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-59469 Add missing space in burn_in_tags list of variants
- SERVER-59573 Add setParameter which can be used to restore inactive cursor timeout in sessions
- WT-6755 Documentation: populate developer glossary
- WT-6902 Metadata subpage for Architecture Guide
- WT-6910 Write "history store" subpage for Architecture Guide
- WT-6911 Write "block manager" subpage for Architecture Guide
- WT-6914 Write "database files" subpage for Architecture Guide
- WT-6915 Write "log files" subpage for Architecture Guide
- WT-7006 Write Connection subpage for Architecture Guide
- WT-7007 Backup architecture guide page
- WT-7198 Fix test_backup15 failure with backup mismatch
- WT-7352 Fix test_hs01 conflict between concurrent operations in cursor modify
- WT-7363 Add support for dumping history store output in hex format
- WT-7521 Remove excess ckplist invalidations
- WT-7592 Remove log_flush("sync=background") support
- WT-7599 Update the CONFIG file based on the release that is about to run for compatibility tests
- WT-7663 Change local store extension to allow only readonly FS operations
- WT-7673 Investigate and fix manydbs test failure on Windows
- WT-7703 Fix timeout in test_checkpoint_snapshot04
- WT-7718 Rename 'build_cmake'
- WT-7732 Add a timeout configuration for flush_tier
- WT-7758 Force evict a page when the update chain is too long
- WT-7787 Don't read pages for checkpoint cleanup when the cache is in aggressive mode
- WT-7789 Change tiered python tests to fail without extension library
- WT-7817 Make tiered storage address cookies backward compatible
- WT-7838 Ability for ordered timestamp assertion to do more than a log message
- WT-7842 Remove explicit ulimit -n call in many-collection-test
- WT-7860 Improve code coverage reporting
- WT-7864 Add support to run.py for running lists/ranges of scenarios in a test
- WT-7865 Disable timeout assert while waiting for eviction to quiesce prior to RTS and test
- WT-7866 Update cache_hs_insert limits in cppsuite-hs-cleanup-stress
- WT-7870 Fix measurement of cyclomatic code complexity
- WT-7871 Remove comment that is no longer true
- WT-7874 Remove two other stale comments
- WT-7876 Update rollback to stable test to use correct boolean values and update statistic checking logic
- WT-7880 Fix history store record issue when the update following the prepared update is in history store
- WT-7882 Fix discrepancy for wiredtiger.in on mongodb-4.4 branch
- WT-7883 Remove incorrect wt_free statement
- WT-7889 Find/replace existing uses of WT with WiredTiger in reference guide
- WT-7890 Fix CMake syntax error in config_lib
- WT-7891 Remove doc typos
- WT-7893 Remove ignored message from wiredtiger_open in test_encrypt08
- WT-7895 Fix arch-data-file.dox documentation build failure
- WT-7897 Enable verbose logging for test_backup15 to aid debugging
- WT-7900 Fix insertion of new records in test format for column-store
- WT-7901 test suite cleanup
- WT-7905 Fix incorrect builtin behaviour for builds in CMake
- WT-7907 Add dependencies to swig module definition in CMake build
- WT-7908 Make variable-length column store work again with the static tests
- WT-7909 Create a new method to check for running user transactions before starting rollback-to-stable operation
- WT-7918 Support setting a prepare timestamp at current read timestamp
- WT-7928 VLCS checkpoint and additional test suite improvements
- WT-7931 Evicting modifies using the evict cursor in test_multiple_older_readers_with_multiple_mixed_mode() to ensure that eviction happens.
- WT-7934 Upload perf results from many-collection test to Altas
- WT-7935 Add arm64 implementation of rdtsc equivalent instruction
- WT-7936 Update the format.sh script to run recovery tests
- WT-7937 Fix s_docs to use sh, not bash syntax
- WT-7938 Fix rollback-to-stable memory leak on error
- WT-7940 Update mongod path for many-coll test
- WT-7941 Add an Evergreen task to test abort/recovery using test/format
- WT-7943 Do not assert timestamps when rolling back a prepared transactions
- WT-7945 Move rollback handling to the operation layer in the cppsuite.
- WT-7947 Allow CMake to take in a specific Python version
- WT-7952 Minor docs build fixes
- WT-7953 Teach s_string to not look inside getopt option lists.
- WT-7955 Copy format.sh and CONFIG.stress to the test/format build directory with CMake
- WT-7956 RTS to skip deleted or stable RLE cells
- WT-7961 Sometimes lag oldest timestamp in timestamp_abort.
- WT-7964 Fix rollback to stable incorrectly not rolling back updates at snap_max
- WT-7965 Update connection base write generation number at the end of recovery checkpoint
- WT-7968 In timestamp_abort skip setting timestamps when all_durable moves backwards
- WT-7970 Set the stable timestamp before starting the checkpointer and clock threads
- WT-7974 More column-store fixes and tests
- WT-7984 Fix a bug that could cause a checkpoint to omit a page of data
- WT-7994 Add docs compile task to PR testing
- WT-7995 Fix the global visibility that it cannot go beyond checkpoint visibility
- WT-7996 More column-store C testing
- WT-7998 Minor fixes on Cache subpage of Architecture Guide
- WT-7999 Fix the assert to handle an update in the middle with max stop timestamp
- WT-8005 Fix a prepare commit bug that could leave the history store entry unresolved
- WT-8006 sync/checkpoint cleanup code isn't appropriate for VLCS
4.4.8 Changelog
Security
SERVER-57727 Race conditions in x509_invalid.js
Sharding
- SERVER-6036 Disable cursor timeout for cursors that belong to a session
- SERVER-52906 moveChunk after failed migration that rolled back cloning indexes can hang indefinitely due to missing shard key index
- SERVER-57850 Increase timeout when waiting for migration on authCommands.js
Replication
- SERVER-37904 Allow a node to override the cluster chaining (enabled/disabled) setting
- SERVER-58164 When group insert fails, the error type is not printed in logs.
- SERVER-58258 Wait for initial sync to clear state before asserting 'replSetGetStatus' reply has no 'initialSync' field
Query
SERVER-58127 Fix benchRun() memory leak for parsing benchRun() args under exception
Storage
- SERVER-49714 Oplog visibility thread may read from unowned memory when multiple oplog collections present
- SERVER-50287 drop_index.js fails when run in passthrough suite with stepdown
Build and Packaging
SERVER-54729 MongoDB Enterprise Debian/Ubuntu packages should depend on libsasl2-modules and libsasl2-modules-gssapi-mit
Internals
- SERVER-56424 improve index build invariant message for system error ENOSPC "28: No space left on device"
- SERVER-56620 Nodes should explicitly clear arbiter durableOpTimeAndWalltime
- 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-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-58936 Unique index constraints may not be enforced
- WT-6280 Fail eviction if out of order handling races with checkpoint
- WT-6729 Quiesce eviction prior running rollback to stable's active transaction check
- WT-6782 test_prepare_hs02 WT_ROLLBACK failure: conflict between concurrent operations
- WT-7231 Add CMake build and tests into Evergreen
- WT-7279 Allow multiple terminate calls for storage source extension
- WT-7343 Write a script that executes many-collection-test.py
- WT-7383 Add framework for new hs_cleanup test and refactor workload generator and database operation
- WT-7473 Resolve "TODO: tiered" comments in code
- WT-7507 Update salvage for a history store and timestamp world
- WT-7520 Add start and stop values to automatic flag generation code
- WT-7524 Refactor functions to obtain checkpoint list; Clear delete on skipping checkpoints
- WT-7539 Add a configuration option that allows the user to specify debug modes.
- WT-7543 Pass in the correct test name when constructing the default config path
- WT-7553 Loosen the restrictions around evicting fast-truncate pages to avoid cache-stuck failures
- WT-7556 Fix test_rollback_to_stable10 failure cache_hs_ondisk is 0
- WT-7583 Coverity analysis defect 114074: Logically dead code (rework)
- WT-7585 Fix cyclomatic-complexity test failure
- WT-7589 Fix reopening connection after a flush_tier in tiered tests
- WT-7603 Sort statistics to fix JSON output
- WT-7605 Drop support for million-collection-test
- WT-7609 Report on time taken to start and shutdown the database in many-coll-test
- WT-7616 Create a pass or fail test based on many collection workgen workload
- WT-7619 Add a new optimization to skip pages in cursor traversal when all entries on the page are deleted
- WT-7626 We only ensure update restore eviction happened in test debug mode09
- WT-7628 Return an error message when supplied invalid command line args in the test framework
- WT-7