4.4 Changelog
On this page
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
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-7629 Run clang format on .cxx files in the codebase.
WT-7632 Fix invalid argument in test_rollback_to_stable14