For AI agents: a documentation index is available at https://www.mongodb.com/docs/llms.txt — markdown versions of all pages are available by appending .md to any URL path.

9.0 Changelog

Important

MongoDB 9.1 Availability

MongoDB 9.1 is production ready and is being incrementally rolled out to MongoDB Atlas clusters that use the Latest Version With Auto Upgrades option.

Availability for the remainder of MongoDB Atlas, MongoDB Enterprise Advanced, and MongoDB Community is coming soon.

SERVER-135406 Disable change stream multiversion tests

  • SERVER-134723 Fix crash if sync source resolver fails to find sync source for catchup

  • SERVER-134972 Improve log message when failing to apply batch of oplog entries

  • SERVER-135598 [v9.0] Fix failing tests from revert of SERVER-113184

  • SERVER-135249 Prevent change streams metrics exceptions from blocking serverStatus completion

  • SERVER-135633 Fix flaky updateLookup test

  • SERVER-136184 Require release Evergreen distros when the Bazel build wrapper uses release configurations

  • SERVER-136464 Isolate server and crypt package artifacts

  • SERVER-136667 Move PPC64LE CI builds to ARM64 hosts

  • SERVER-137293 Remove maxTimeMS restrictions on PBRT tests

  • SERVER-95479 Allow skipping rebuilding indexes during startup on failed initial syncs

  • SERVER-109479 Core analysis task is not aware of the fallback download links for multiversion binaries/debug symbols

  • SERVER-123024 Remove devcontainer tests from 8.3 staging branch

  • SERVER-126814 $bucket on untracked viewless timeseries can optimize the pipeline on mongos before prepending $_internalUnpackBucket

  • SERVER-129387 Optimize $queryStats for top-k metrics.workingTimeMillis.sum sort + limit pattern

  • SERVER-129849 Fix mongod shutdown hang waiting for search task executor

  • SERVER-131338 Refactor resmoke.bzl to anticipate custom py_binary

  • SERVER-131339 Use custom py_binary for resmoke instead of py_test to anticipate coverage impl

  • SERVER-131654 Tolerate calling cmc without secondaryCheckMode for multiversion suites

  • SERVER-132098 Upgrade timelib and timezone data files to 2026e

  • SERVER-132514 Consolidate Evergreen retry setup and fix retries never applying

  • SERVER-132633 Retry replSetStepUp in remove_newly_added_field_after_finishing_initial_sync.js

  • SERVER-132823 Harden remaining FCV concurrency workload teardowns after SERVER-125400

  • SERVER-133744 Tolerate file shrinkage in SimulateCrash hook's copy_file

  • SERVER-133956 Support higher shard_count for resmoke_suite_test

  • SERVER-134003 Remove redundant _recipientCtx.getState() read in resharding recipient change-streams-monitor completion path

  • SERVER-134070 Release held intents when locks are yielded

  • SERVER-134081 Express user-index plan spins forever when an index entry references a missing record

  • SERVER-134356 Reduce SlotBasedStageBuilder::buildGroup stack frame and max number of DocumentSource stages pushed to SBE

  • SERVER-134400 Add adaptive retry to change_stream_future_start_time_new_shard

  • SERVER-134475 Avoid activate_version_tasks race in activate_task.py

  • SERVER-134485 QueuedAdmissionWithLargeMaxTimeMSSucceeds may start sleeping after mock clock is advanced, causing a hang

  • SERVER-134495 make keys_collection_non_deprioritizable.js less timing sensitive

  • SERVER-134519 Mongos may fail to populate CollectionUUIDMismatch properly if dbPrimary returns a different error

  • SERVER-134546 Fix flaky BloomFilterWithStringKeys unit test

  • SERVER-134555 Translate queries on an empty-string metaField instead of requiring a non-empty metaField

  • SERVER-134625 Enforce correct query shape output from extensions to support reparseability

  • SERVER-134664 maxEstimatedScanBytes query rejection is not logged at default verbosity

  • SERVER-134716 Consume Mothra teams via S3

  • SERVER-134954 Fix race in NetworkInterfaceTest.TimeoutDuringConnectionHandshake

  • SERVER-134991 Add completion log for chunk migration

  • SERVER-135001 TransactionCoordinator can log "errors" after single-shard transactions

  • SERVER-135196 Remove patch-only kernel 6.19 buildvariants (other than rseq-check)

  • SERVER-135202 Make gRPC concurrent connection unit tests use a larger timeout

  • SERVER-135206 $convert to binData fails on a document of exactly BSONObjMaxUserSize because RCString rejects the boundary size

  • SERVER-135348 rewrite TicketHolderTestTick.WaitForTicketDeadlineBetweenTimeoutWindows to make it not timing depe

  • SERVER-135517 Skip metadata consistency check if snapshot predates fcv change

  • SERVER-135564 Address hang in BlockingResultsMerger unit test

  • SERVER-135600 Queued operations should participate in query memory load shedding

  • SERVER-135619 Bump mongot-extension version to v2.0.7

  • SERVER-135621 Add context metadata to GenerateAndCheckPerfResults failures

  • SERVER-135622 Disable lookup unwind hash join

  • SERVER-135656 Add metrics for change streams shard-targeting V2 state machine, control events, and placement history

  • SERVER-135720 Disable mongor tests

  • SERVER-135732 [v9.0] Make internal_search_id_lookup_ddl_concurrency.js align with current behavior

  • SERVER-135803 Fix UnorderedTicketSemaphore timing out after a permit becomes available

  • SERVER-136032 Bump mongot-extension version to v2.0.8

  • SERVER-136123 transaction_aborted_under_cache_pressure.js still flakes after SERVER-135094 fix: assertion misses NoSuchTransaction outcome

  • SERVER-136176 Backport cross compile for zseries machines

  • SERVER-136195 Add test tags

  • SERVER-136302 Retain traverseF in SBE $elemMatch MatchFrames

  • SERVER-136318 timeseries_insert_mixed_schema_docs.js bucket count assertion can fail under stepdown + viewless timeseries FCV upgrade/downgrade

  • SERVER-136499 Rename task selection tags

  • SERVER-136502 Abandon IndexBuildsCoordinator::onStepUp if the stepup is abandoned

  • SERVER-136507 Path arrayness constraints are not re-checked on PlanExecutor restore

  • SERVER-136534 Add internalEnablePathArraynessTraverseFElision query execution knob

  • SERVER-136570 Add multiversion exclusion for timeseries_empty_metafield_write.js

  • SERVER-136595 Update PGO profiles

  • SERVER-136649 Convert a test-only RSTL call to IR

  • SERVER-136721 Fix race in TaskRunnerTest

  • SERVER-136923 Use target architecture in cross-compiled server buildInfo

  • SERVER-137011 Tighten skipping metadata consistency check only if snapshot has no authoritative shards enabled

  • SERVER-137027 ObservableMutex's Timer::getTime() performs a syscall on non-x86 and non-arm64 builds

  • SERVER-137085 Update PGO profiles

  • SERVER-137133 wait for resharding cleanup and replication before comparing magic restore dbhashes

  • SERVER-137256 retry connections when verifying repl dbhash

  • SERVER-138312 Require prebuilt cryptography wheels and sandbox Python build caches

  • SERVER-131327 checkMetadataConsistency may return MissingShardKeyIndex false positive when migrating the first chunk to a shard

  • SERVER-132059 Block new ShardServerCatalogCacheLoader loads from starting on Authoritative Shards

  • SERVER-132175 checkMetadataConsistency may return SnapshotUnavailable from failed internal snapshot read

  • SERVER-134453 The transition to CSRS test hook can fail to step up a new primary due to starvation from test writes

  • SERVER-134571 Avoid slow removeShard in *_with_balancer_and_config_transitions_and_add_remove_shard

  • SERVER-133198 Handle stale primary member data case in sync source selection

  • SERVER-135078 [v9.0] Revert SERVER-128221 add initialSyncWaitForSyncSourceLastStableRecoveryTs to tests

  • SERVER-135081 [v9.0] Revert SERVER-125964 Apply initial sync oplog entries from initiating set oplog entry if the set recently initiated

  • SERVER-127745 Resharding recipient service deadlock on rapid stepdown then stepup

  • SERVER-132733 $out commit in replica set concurrent to viewless timeseries FCV upgrade may return NamespaceExists error

  • SERVER-134017 SBE $_internalSearchIdLookup tripwires on kNotHandled with no fallback

  • WT-17366 Order the row-store internal page key against the reference's home page

  • WT-18069 [Reconciliation] unit-test-xsan: LeakSanitizer leak of checkpoint reconcile multi array (row-store internal page)

  • WT-18089 Data race in __wt_cursor_dhandle_incr_use

  • WT-18120 Prevent eviction walk starvation for a tree dominating cache usage

  • WT-18242 Add diagnostics when prepared update resolution fails to find a key

  • WT-18592 failed: compile on macos-14-arm64 [wiredtiger @ 13caa84a]

WT-18540 Recovery fails with EINVAL after salvaging leftover journal tail on macOS

  • SERVER-131869 Retry write conflicts when dropping unfinished indexes during startup recovery

  • SERVER-133399 Ignore hermetic-container generated paths

  • SERVER-133486 Stop mongod hanging in shutdown under TSAN

  • SERVER-133693 Retry on MaxTimeMSExpired in blockUntilIndexQueryable

  • SERVER-134025 Preserve primary build command for package provenance

  • SERVER-134580 Presign custom build delivery URLs for 7 days

  • SERVER-134698 Deliver custom builds to version-addressed paths with a manifest

  • WT-18279 Update SWIG Python typemaps to use Python 3 C API

  • SERVER-114161 Re-enable test findAndModify explain test case for legacy timeseries collections

  • SERVER-114507 $out targeting moved unsharded collection should create the new collection on the same shard

  • SERVER-120440 Documentation Updates Replica Set Write Block

  • SERVER-123695 waitAfterCommandFinishesExecution failPoint's activation count can be incremented multiple times per access

  • SERVER-125754 Reduce SessionRuntimeInfoMap lock contention

  • SERVER-125921 Sharded timeseries collMod can abort without releasing participant critical sections

  • SERVER-127486 Harden geo code against GeoColl inputs with strict-winding polygons

  • SERVER-127898 Retry CSRS demotion related InvalidOptions failures in replica_sets_transition_to_csrs suite

  • SERVER-127946 Renew all test certs for 7.x, 8.x, 9.x

  • SERVER-129223 Investigate calling _shardsvrCheckMetadataConsistencySecondaryParticipant on lagged secondaries

  • SERVER-130426 Investigate why allowChunkOperation flag need to be set on commitCollectionMetadataLocally()

  • SERVER-130807 Re-enable shard key index check on secondaries

  • SERVER-131102 Delayed secondaries throw InconsistentShardCatalogCollectionMetadata on initial sync suites

  • SERVER-131168 tassert 9690601 doesn't hold for CMC on secondaries

  • SERVER-131174 Skip query knob PBTs on checkMetadataConsistency

  • SERVER-131175 checkMetadataConsistency hook missing backgroundSessionCollectionDrop yml parameter in disagg passthrough suites

  • SERVER-131207 Improve resmoke_test parallelism in large bazel test invocations

  • SERVER-131259 Install query settings command hooks in crud_bm fixture

  • SERVER-131262 Populate Locker debugInfo with OperationContext state in getGlobalLockManager()->dump()

  • SERVER-131323 Exclude internalQueryPlannerUseMultiplannerForSingleSolutions from query knob correctness PBT and mark it test-only

  • SERVER-131329 Tag query_settings_knob_validation_pbt.js as config_shard_incompatible

  • SERVER-131396 Propagate stepdown data to CheckMetadataConsistencyInBackground for MalformedTimeseriesBucketsCollection skip

  • SERVER-131436 Make CMC on secondaries read at a consistent timestamp when comparing shard and global catalogs

  • SERVER-131441 Fix DDL fuzzer compilation

  • SERVER-131464 Change value for heartbeatIntervalMillis in jepsen

  • SERVER-131524 pqs_stage_memory_knob_spill.js flaky on debug/sanitizer variants due to forced $group spilling

  • SERVER-131526 Remove duplicate attribute from log line in metadata consistency util

  • SERVER-131531 Exclude query_settings_knob_validation_pbt from analyze_shard_key_jscore_passthrough

  • SERVER-131581 Up the heartbeatIntervalMillis in Antithesis fixture

  • SERVER-131591 Fix upload machinery for old style jepsen tests

  • SERVER-131625 Add Ubuntu 26.04 support for Server.

  • SERVER-131685 Tag max_time_ms.js as resource_intensive

  • SERVER-131779 Add linux the kernel 7.0.14 exemption for ubuntu

  • SERVER-131821 Shutdown the TracerProvider instead of just closing the tracer

  • SERVER-131913 Disabled general mirrored reads during targeted tests

  • SERVER-132037 Resolve bsoncolumn decoder discrepancy in handling 8609800

  • SERVER-132078 [test only] Add new parameter to control when chunk migrations are allowed to proceed when recipient PIT history may be lost

  • SERVER-132083 _shardsvrMoveRange should fail with a StaleConfig when targeting an old donor

  • SERVER-132096 Cap test span writes in span_telemetry_context_impl_test

  • SERVER-132121 Retry write conflicts during setFeatureCompatibilityVersion

  • SERVER-132128 Fix FCV gating on durable shard inconsistencies check in check metadata consistencies

  • SERVER-132216 set_fcv_prepared_transaction.js: do not call setFCV on a single shard

  • SERVER-132225 Don't set minSnapshotHistoryWindowInSeconds to zero on move_stale_mongos.js

  • SERVER-132274 Exclude trivially_empty_queries.js from add_remove shard suites

  • SERVER-132359 Bump db contrib tool version

  • SERVER-132360 spawn a ticket wait in runTicketWaitTimeoutTest not return within 60s

  • SERVER-132383 Inconsistent defaultClientBaseBackoffMillis/defaultClientMaxBackoffMillis crashes server via BackoffWithJitter invariant

  • SERVER-132392 Strip migrationRecipientPITHistoryToPreserveInSecs from multiversion binaries that predate it

  • SERVER-132425 Lower block_replica_set_writes.js total runtime

  • SERVER-132440 Otel metrics and traces shutdown is not thread-safe

  • SERVER-132483 Extract non casual-consistent commands from timeseries_reads_setFCV.js

  • SERVER-132511 Add requires_large_host tag to compile_mongor

  • SERVER-132566 Fix NetworkInterfaceMock cancellation race that can hang transaction coordinator tests

  • SERVER-132638 count with limit 0 fails on a view but works on a collection

  • SERVER-132641 Two jstests from SERVER-128128 are flaky on transient routing errors

  • SERVER-132654 Make BeginOperationRollsBackOnPersistFailure more robust

  • SERVER-132667 Antithesis image build fails cloning 10gen/QA because the GitHub token expires during the build

  • SERVER-132706 Reduce concurrency on aubsan variants of replica_sets_reconfig_kill_stepdown_terminate_jscore_passthrough

  • SERVER-132726 moveChunk should not return InterruptedDueToReplStateChange from a healthy primary

  • SERVER-132736 transaction_aborted_under_cache_pressure.js leaks sessions at teardown and the cache-pressure detector rarely fires under WT-18120's improved eviction

  • SERVER-132752 Authoritative DDLs may commit to config.shard.catalog.chunks before its indexes are created

  • SERVER-132756 Relax egress metrics counter equality assertion in auth_client_metrics.js

  • SERVER-132777 QueuedAdmissionWithLargeMaxTimeMSSucceeds is racy

  • SERVER-132797 Ongoing migration errors added as an acceptable error in move_chunk_errors.js

  • SERVER-132806 checkMetadataConsistency reports spurious CollectionOptionsMismatch during a collMod on a sharded timeseries collection

  • SERVER-132813 exactCE hangs for $changeStream

  • SERVER-132817 [v9.0] Enable search_two_shard_memory_tracking_disabled.js on hybrid search disabled

  • SERVER-132857 Adapt kernel compatiblity error message to new known fixed versions

  • SERVER-132906 Improve handling of migrationRecipientPITHistoryToPreserveInSecs

  • SERVER-132922 WaitForTicketDeadlineBetweenTimeoutWindows unit test timing issue under stress

  • SERVER-133021 authoritative_collection_metadata_vs_ddls doesn't wait for replication in a test

  • SERVER-133049 Map "last-patch" to fcvConstants.latest instead of shellVersion() in MongoRunner.binVersionSubs

  • SERVER-133061 Make range_deletion_maxkey_guard.js more robust

  • SERVER-133067 ReshardingCoordinator StepDownStepUpEachTransition test can deadlock itself

  • SERVER-133148 Avoid using semi-initialized opCtx when retrying getMores

  • SERVER-133171 Fix core analysis for when file name has a space

  • SERVER-133182 Disable bulk_write_getMore.js in sharding upgrade/downgrade suites with unsharded collections

  • SERVER-133218 Fix chained-replication hang in check_metadata_consistency collMod test check_metadata_consistency_collmod_frozen_chunk_operations.js

  • SERVER-133231 Fix read_pref_cmd.js to wait for replica set before running profile

  • SERVER-133233 index_killop_after_stepdown.js checks the index is built on the stepped-down node before the new primary's commitIndexBuild has replicated to it

  • SERVER-133277 Make add_shard_block_setFCV.js a no passthrough test

  • SERVER-133278 Disable fsyncLock tests in sharding CSRS stepdown suites

  • SERVER-133295 Rebuild tests with debug info from resmoke_suite_test result tasks

  • SERVER-133298 Drop redundant bazel cquery from burn-in end-to-end test

  • SERVER-133366 Increase instance size of rhel8-debug-aubsan-roll-back-incremental-feature-flags variant

  • SERVER-133367 Collmod usages of checkAllowMigrationsOnConfigServer can leave chunk operations disabled on shards

  • SERVER-133431 Retry CheckReplDBHash on transient legacy timeseries buckets access failures

  • SERVER-133518 StepUp hangs when a stale in-memory chunk operation blocks recovery of a persisted recipient

  • SERVER-133530 Sort records in ClusteredRecordStore unit test

  • SERVER-133558 Make SessionCatalog::KillToken RAII so a dropped kill token cannot wedge a session

  • SERVER-133587 Prevent StaleConfig error in placement_conflict_time.js

  • SERVER-133591 cbr_shard_filter.js fails when featureFlagGetExecutorDeferredEngineChoice is off because an empty shard triggers zero-CE fallback to multiplanning

  • SERVER-133614 Timeseries catalog helpers pass boost::none instead of the open snapshot's read timestamp to establishConsistentCollection

  • SERVER-133659 Allow updating allowDeletions on an active replica set write block

  • SERVER-133661 Add change stream updateLookup test coverage for clustered collections

  • SERVER-133672 Raise defaultClientMaxRetryAttempts in sharding_csrs_continuous_config_stepdown

  • SERVER-133690 Delete multi_statement_write_aborts_on_failover.js

  • SERVER-133696 Use $count instead of $out in agg_match.js

  • SERVER-133733 Add metric for RSWB reporting if deletes are blocked or allowed

  • SERVER-133745 Avoid checkLogEntryRWC to match Slow in-progress query logs that lack applied writeConcern.w

  • SERVER-133749 Ensure that the priority port is listening before running tests in priority_port_metrics.js

  • SERVER-133787 Update PGO profiles

  • SERVER-133803 primary_casts_vote_on_stepdown.js fails: assert.eq expected term N+1, got N+2

  • SERVER-133806 Check CS in chunk operation coordinators

  • SERVER-133858 Some MigrationBlockingOperationCoordinatorV2Test cases are racy

  • SERVER-133890 Run with_mongot_extension suites under {A,UB}SAN

  • SERVER-133911 Create and include Jira ticket in pull request title for MONGO_VERSION bump PRs

  • SERVER-133947 Restore the previous RSWB allowDeletions configuration when an in-place update rolls back

  • SERVER-133979 Anchor the libzstd TSAN suppression

  • SERVER-133988 Deadlock between resharding initialization, chunk migration commit, and setFCV

  • SERVER-134011 grpc_core_test fails spuriously when server fails to bind

  • SERVER-134077 Query stats supplemental metrics are only recorded when the initial batch exhausts the cursor

  • SERVER-134080 Support non-scalar _id lookups in SbeSingleDocumentLookupExecutor

  • SERVER-134082 Initialize the Python venv before applying custom build version overrides

  • SERVER-134104 ShardsvrDropDatabaseParticipantCommand strips the mayBypassWriteBlocking flag

  • SERVER-134109 Update PGO profiles

  • SERVER-134189 Release artifact tasks fail before checkout with custom build version overrides

  • SERVER-134438 MovePrimary stucks if the target is a draining node

  • SERVER-134439 Fix $graphLookup $_internalFromPipeline serialization asymmetry

  • SERVER-134533 Starting shard draining during movePrimary can cause metadata inconsistencies

  • SERVER-134581 Harden updateLookup and $_internalSearchIdLookup enrichment testing with per-engine lookup metrics

  • SERVER-134686 $_internalSearchIdLookup reports orphaned documents on _id-sharded collections (shard filter dropped for shard-local lookups)

  • SERVER-134714 Fix potential std::terminate in MovePrimaryCoordinator

  • SERVER-134719 Update performance microbenchmark thresholds

  • SERVER-134745 Sharded local change-stream updateLookup fails getMore with NamespaceNotFound when the database was dropped, instead of a null fullDocument

  • SERVER-134768 Reduce buildSort stack frame size to reduce likelihood of stack overflow with some PGO profiles

  • SERVER-134772 Fix sharded_search_network_interruption.js against a real mongot

  • SERVER-134811 [v9.0] Revert ARM64 PGO and BOLT profile data to the Aug 24 refresh

  • SERVER-134952 updateLookup change stream returns null fullDocument for updates on a shard-local/uncataloged database

  • SERVER-135507 Exclude agg_lookup_in_txn from running in step-down suites

  • SERVER-135529 [v9.0] Revert SERVER-128307

  • SERVER-135622 Disable lookup unwind hash join

  • SERVER-136272 Docker image fails to boot on Ubuntu 26.04.1 LTS, on 9.0.x and 8.3.x but not 8.2.

  • WT-15887 test_prepare_hs03 assert_ckpt_matches fails

  • WT-17597 [Checkpoint] test_timestamp_abort_stress: crash in __ckpt_valid_blk_mods during checkpoint metadata load

  • WT-18362 Checkpoint and stat logging reopen handles closed in parallel by sweep

  • SERVER-135076 [v9.0] Revert SERVER-127512 Fix index_build_killop_secondary_before_commit for in-memory suite

  • SERVER-135077 [v9.0] Revert SERVER-128307 Fix hanging during initial sync in atlas_initialsync_workflows.js

  • SERVER-135079 [v9.0] Revert SERVER-128583 Fix flakiness in resync_majority_member.js

  • SERVER-135080 [v9.0] Revert SERVER-125965 Wait for stable timestamp to advance in initial sync

  • WT-17366 Order the row-store internal page key against the reference's home page

  • WT-18069 [Reconciliation] unit-test-xsan: LeakSanitizer leak of checkpoint reconcile multi array (row-store internal page)

  • WT-18120 Prevent eviction walk starvation for a tree dominating cache usage

  • WT-18242 Add diagnostics when prepared update resolution fails to find a key

WT-18279 Update SWIG Python typemaps to use Python 3 C API

  • SERVER-107128 Define trace context propagation in OP_MSG

  • SERVER-129272 [Join Optimization] Join plan cache admin commands + FTDC metrics

  • SERVER-131787 Include debug symbols for tasks on rseq variants

  • SERVER-134438 MovePrimary stucks if the target is a draining node

  • SERVER-134714 Fix potential std::terminate in MovePrimaryCoordinator

  • WT-15887 test_prepare_hs03 assert_ckpt_matches fails

  • WT-18362 Checkpoint and stat logging reopen handles closed in parallel by sweep

  • WT-18474 Skip disaggregated storage scenarios in the Python suite on the 9.0 branch

SERVER-36681 Dotted path {$ne: null} against array of scalars returns incorrect results

  • SERVER-132101 fix release package testing regex

  • SERVER-134008 Avoid cryptography sdist during Poetry bootstrap on s390x and ppc64le

  • SERVER-134063 Shred collection validator constants during parsing

  • SERVER-134109 Update PGO profiles

  • SERVER-134189 Release artifact tasks fail before checkout with custom build version overrides