MongoDB Changelog

What's new in MongoDB 4.0.24

Apr 16, 2021
  • Issues fixed:
  • SERVER-54710 Large number of $or clauses can create profiling entry exceeding max BSON size, causing the query to fail when it should not
  • SERVER-54136 Make the authenticate command respect enforceUserClusterSeparation
  • SERVER-53566 Investigate and reproduce “opCtx != nullptr && _opCtx == nullptr” invariant
  • SERVER-45836 Provide more LDAP details (like server IP) at default log level
  • SERVER-35649 Nodes removed due to isSelf failure should re-attempt to find themselves
  • WT-7028 Sweep thread shouldn’t lock during checkpoint gathering handles
  • All JIRA issues closed in 4.0.24

New in MongoDB 4.0.23 (Feb 18, 2021)

  • Sharding:
  • ARS::next() does not respect OperationContext deadline
  • The force-write of the history field to all chunks on FCV upgrade from 3.6 to 4.0 is unnecessary
  • Replication:
  • rollback node’s lastApplied > sync source’s lastApplied in rollback_after_enabling_majority_reads.js
  • Excuse arbiter_new_hostname.js from multiversion tests
  • rollback_all_op_types.js should ensure sync source’s lastApplied > rollback node’s lastApplied
  • lastCommittedTransaction section causes frequent schema changes that limit FTDC retention
  • Query:
  • Reduce memory footprint of plan cache entries
  • Add diagnostic logging to ClusterCursorManager
  • Storage:
  • During the eviction pressure, we should quit the compact operation instead of crashing the process
  • recoverOplogAsStandalone mode must not start oplog truncater thread
  • Operations:
  • [v4.0] Log start and end of changes to table log settings
  • Internals:
  • When stepping down, step up doesn’t filter out frozen nodes
  • Explain does not respect maxTimeMS
  • establishCursors() must always drain the AsyncRequestsSender::_baton
  • Periodic operation latency spikes every 5 minutes due to closing idle cached WT sessions
  • jstests/core/profile2.js fails when background operations are run against test database
  • Update assertion messages for dbhash check run by resmoke.py
  • Ignore newer mongo versions on older branches of setup_multiversion_mongodb.py

New in MongoDB 4.0.15 (Jan 24, 2020)

  • Security:
  • SERVER-45309 Ensure bind credentials live longer than LDAP operations
  • Sharding:
  • SERVER-33597 Make allow_partial_results.js, return_partial_shards_down.js start shards as replica sets
  • SERVER-36865 make fsm workloads that extend kill_rooted_or.js more robust in the sharded concurrency suites, or blacklist them
  • SERVER-43195 Add namespace to ChunkManager ShardKeyNotFound failure in order to better diagnose failures.
  • SERVER-44341 Do not choose only first shard of all shards associated with a zone when pre-splitting during shard collection
  • SERVER-45100 Make the BatchWriteExecutor retry multi-writes only against unsuccessful shards
  • Replication:
  • SERVER-35407 ReplicationCoordinatorExternalState and data replication must not be started after shutdown
  • SERVER-44061 Race while setting replication maintenance mode.
  • SERVER-44503 Race in replsets/auth2.js
  • SERVER-45396 fix the “me” field in isMaster responses when using splithorizon
  • Query:
  • SERVER-42565 Aggregations and find commands sort missing fields differently
  • SERVER-45152 Negation of inequality on array can trip invariant
  • Aggregation:
  • SERVER-44733 Change stream should throw ChangeStreamFatalError if a single shard cannot be targeted for updateLookup
  • Storage
  • SERVER-43910 include Client/OpCtx information in LockManager::dump() output
  • SERVER-44796 Adjust nojournal startup warning to be more compelling
  • Operations:
  • SERVER-45290 Remove upstream metadata from v4.2’s third party library manifest
  • Build and Packaging
  • SERVER-44550 Remove mobile specific embedded commands
  • SERVER-45346 Ubuntu 18.04 package testing task fails to install openssl
  • Internals:
  • SERVER-34844 Relax expectations in apply_batches_totalMillis
  • SERVER-37406 A stashed Locker should keep information about the owning transaction
  • SERVER-39131 Refactor storage engine lock file support
  • SERVER-43210 jstests/sharding/kill_sessions.js doesn’t wait for operation to be killed.
  • SERVER-43246 Add a log line for when a cursor is reaped due to logical session cleanup
  • SERVER-43349 Incorrect serialization for $elemMatch $not $ne
  • SERVER-44578 Remove unused db_raii and server_status libs from storage_wiredtiger_core’s LIBDEPS_PRIVATE
  • SERVER-44828 Correct logic to re-compute dependencies after absorbing a $sort into query layer
  • SERVER-45472 Ensure RoleGraph can serialize authentication restrictions to BSON
  • WT-4636 Fix strace in syscall test
  • WT-5042 Reduce configuration parsing overhead from checkpoints
  • WT-5106 Remove temporary files in clang-format script
  • WT-5112 Handling goto labels with multiple words in s_goto.py
  • WT-5120 Checkpoint hangs when reconciliation doesn’t release the eviction generation
  • WT-5125 Adding new stats for eviction target strategy
  • WT-5135 Change lookaside file inserts to use cursor.insert
  • WT-5169 WT_REF_LIMBO pages cannot support fast (leaf-page only) searches
  • WT-5196 Data mismatch failures with test/checkpoint after enabling LAS sweep
  • WT-5218 Improve eviction to differentiate between clean and dirty pages with WT_CACHE_EVICT_NOKEEP readgen
  • WT-5239 Fix syscall failure about metadata file open
  • WT-5247 Ensure that only idempotent modify operations are logged
  • WT-5277 Cursor key out-of-order detected in the lookaside file
  • WT-5297 syscall.py fail on mongodb-4.0

New in MongoDB 4.0.7 (Mar 22, 2019)

  • Security:
  • SERVER-36606 Remove size limits on BSON audit events
  • SERVER-39202 Improve deterministic calculation of key container names
  • SERVER-39571 mongod cannot verify certificates from the CNG provider
  • Sharding:
  • SERVER-36901 sh.status() “Last reported error:” is actually 5th Latest error message
  • SERVER-36958 Parts of the _configsvrShardCollection command do not retry on network errors
  • SERVER-37591 MigrationSourceManager is not exception safe before startClone completes
  • SERVER-38192 Ignore duplicate key error from refreshLogicalSessionCacheNow
  • SERVER-38205 Optimize splitVector for the jumbo-chunk case
  • SERVER-38387 agg_out.js concurrency workload always fails to shard the output collection
  • SERVER-39203 failcommand_ignores_internal.js fails against mongod 3.6
  • SERVER-39847 Migrating session info can trigger fassert when destination shard has transaction history truncated by oplog
  • SERVER-40010 Shard secondaries with 4.0 binary and 3.6 FCV are calling _flushDatabaseCacheUpdates
  • Replication:
  • SERVER-35663 Replication recovery does not update the logical clock
  • SERVER-37179 Wait for specified write concern whenever commitTransaction returns a NoSuchTransaction error
  • SERVER-37274 commands_that_accept_wc tests can give secondaries priority zero
  • SERVER-37569 prohibit MapReduce on sessions with txnNumbers
  • SERVER-37846 writeConcern can be satisfied with an arbiter if the write was committed
  • SERVER-38297 Killing session on a secondary currently applying prepare oplog entry can fassert
  • SERVER-38354 Allow shutdown error when reading last applied optime on startup
  • SERVER-38722 CollectionCloner should handle QueryPlanKilled on collection drop
  • SERVER-39215 Fix aggregation_currentop.js such that we don’t compare timestamps generated from 2 different sources (mozjs & server).
  • SERVER-39286 server_write_concern_metrics.js must use requires_journaling tag
  • SERVER-39490 opWriteConcernCounters can cause undefined behavior due to overflow
  • SERVER-39641 Blacklist max_time_ms.js from read concern linearizable passthrough
  • Query:
  • SERVER-13779 Allow $not to be applied to $regex (currently only /regex/ syntax is allowed)
  • SERVER-36910 Reduce severity or remove log message for PlanExecutor::DEAD error during find
  • SERVER-38764 External sorter should use 64-bit integers for file offsets
  • SERVER-39210 Add debug logging to change_streams/shell_helper.js
  • SERVER-39472 Backport changes to apply_ops_concurrent_non_atomic.js to account for HMAC key inserts in 3.6 and 4.0.
  • SERVER-39650 Ensure internal options cannot be specified in a raw aggregate command sent to mongos
  • SERVER-39771 TextMatchExpression crashes instead of serializing in some cases
  • Aggregation:
  • SERVER-31098 Wrong ns in system.profile for aggregation query
  • SERVER-35740 Report high-water-mark resume token with each (possibly empty) change stream batch
  • SERVER-38408 Return postBatchResumeToken from all mongoD change streams
  • SERVER-38410 Allow ARM to consume postBatchResumeToken for merging
  • SERVER-38411 Propagate postBatchResumeToken through mongoS to client
  • SERVER-38412 Allow resuming from a high-water-mark resume token
  • SERVER-38413 Always set an initial postBatchResumeToken
  • SERVER-38414 Upgrade/Downgrade testing for change stream high water mark
  • SERVER-38942 Improve robustness of postBatchResumeToken integration tests
  • SERVER-38975 Single-collection high water marks omit UUID on shards where the collection does not exist
  • SERVER-39166 $graphLookup should force a pipeline to split in sharded cluster
  • SERVER-39322 Backport timelib fix for incorrect snprintf invocation with static buffer
  • SERVER-39394 Views collation check should traverse through nested $lookup pipelines
  • SERVER-39410 Re-enable batching in DSCursor for change stream cursors
  • SERVER-39487 Aggregation operator $sqrt output for NumberDecimal is the same as $exp
  • SERVER-39612 Validate fields in $geoNear
  • SERVER-40094 Do not prematurely reject resume attempt in DSShardCheckResumability
  • JavaScript:
  • SERVER-39481 Remove unused C++ injected JS constructors
  • Storage:
  • SERVER-17010 Reduce file handle usage in File based Sorter
  • SERVER-35449 Return the oldest read timestamp used by any open transaction
  • SERVER-35732 Hyphenated database names do not work with dbStats.fsUsedSize / TotalSize
  • SERVER-38555 cappedTruncateAfter must not set oldest timestamp during startup recovery when enableMajorityReadConcern=false
  • SERVER-38745 MigrationDestinationManager assigns incorrect timestamps while building multiple indexes
  • SERVER-38801 Cope with large BSON blobs in queryable’s listDirectory call.
  • SERVER-38833 A failure to timestamp a storage transaction requires restarting the transaction
  • SERVER-39106 GlobalLock acquisition should throw when ticket acquisition times out if there is a max lock timeout and no deadline
  • SERVER-39259 Mobile SE: Adjust SQLite Pragmas for Improved Performance
  • SERVER-39719 Ensure that a node performing an initial sync from a secondary with a in-progress index build creates the index before initial sync is done
  • SERVER-39723 Change listIndexes command behavior to show in-progress index builds
  • SERVER-39773 decrease number of updates in rollback_wt_cache_full.js
  • SERVER-39871 Make catalog_raii_test more resistant to clock issues on Windows
  • SERVER-39922 Fix lock stats suboperation tests for mobile
  • Operations:
  • SERVER-34422 Expose metrics on idle versus active client threads
  • SERVER-37155 Improve the LDAP server logging
  • SERVER-38038 mongo shell should be linked with ErrorExtraInfo derivatives
  • SERVER-38530 Add getResumeToken shell helper
  • SERVER-39093 Cannot use TLS with readPreference={mode: “secondary”} without specifying –ssl to mongo shell
  • Build and Packaging:
  • SERVER-33958 When using thin archives the –cache=nolinked mode should push thin archives to the cache
  • SERVER-35356 Add release process builder for embedded SDKs
  • SERVER-35737 install_compass fails on MacOS
  • SERVER-39354 Remove SCons cache pruning from prior branches
  • SERVER-39483 Stripped binaries and .debug files should not be cached
  • Tools:
  • TOOLS-2030 mongodump does not dump system.js collections
  • TOOLS-2109 Build Tools with Go 1.11
  • TOOLS-2166 mongoimport –uri logs incorrect connected hosts
  • Internals:
  • SERVER-35138 service_state_machine.cpp should log a backtrace if there’s an uncaught exception
  • SERVER-35551 Mongobridge nodes don’t remember their network partition configuration after a restart
  • SERVER-36231 Mongos write path doesn’t look for retryable write concern errors
  • SERVER-37183 BSONElement::safeNumberLong is not safe
  • SERVER-37382 printShardingStatus.js races with ShardingUptimeReporter thread
  • SERVER-37620 Improve watchdog_test reliability
  • SERVER-38319 DBClientRS should propagate URI options through all paths
  • SERVER-38538 Improve thread safety of PeriodicRunnerImpl
  • SERVER-38674 –ssl=off builds emit a scons warning
  • SERVER-38697 Powercycle kill by PID might try to kill the wrong process
  • SERVER-38725 Maven central release automation cannot close sonatype repository (401 unauthorized)
  • SERVER-38746 Provide reason for transaction abort
  • SERVER-38748 Background indexes created through applyOps should run on the command thread
  • SERVER-38789 Accept connection failure on Windows in ssl_alert_reporting.js
  • SERVER-38816 Use generate.tasks for required tasks over target runtime
  • SERVER-38837 Make periodic_runner_impl_test more lenient in OnePausableJobResumesCorrectly
  • SERVER-38933 currentOp is not resilient to drop shard
  • SERVER-38954 Increase query execution time for the test case in max_time_ms.js that expects it to hit the time limit
  • SERVER-39009 Make bulldlogger credentials location configurable via environment variable
  • SERVER-39014 Incorrect error reported while re-installing with the Windows MSI
  • SERVER-39019 $elemMatch $ne serialization is incorrect, doesn’t roundtrip
  • SERVER-39031 Make SCons default –jobs to CPU count
  • SERVER-39056 Further refine readWriteAnyDatabase
  • SERVER-39058 Synchronize user set modification in AuthorizationSession with Client
  • SERVER-39127 Use generate.tasks for already converted tasks on all variants
  • SERVER-39128 Avoid double-authentication during connect from mongo shell
  • SERVER-39138 New test suites do not handle excludes properly when dividing suites
  • SERVER-39212 waitForSecondaries in background dbhash check must wait for lastApplied to reach clusterTime when enableMajorityReadConcern=false
  • SERVER-39232 Allow commands that do not require auth to refresh sessions
  • SERVER-39284 Better handle timeouts for generated tasks with repeated execution
  • SERVER-39303 Coverity analysis defect 105263: Dereference after null check
  • SERVER-39386 Specifically use the version of the android NDK that we want to use
  • SERVER-39421 Fix opCtx and baton waits
  • SERVER-39564 burn_in_tests.py doesn’t run tests in the configuration for *_gen Evergreen tasks
  • SERVER-39590 improve port_options.js logfile polling
  • SERVER-39686 Clean up cloud_nightly project file
  • SERVER-39746 System-Performance: Write project in runtime.yml
  • SERVER-39779 Don’t override timeouts if not all test have history
  • SERVER-39822 Improve watchdog_test.exe test reliability
  • SERVER-39823 Free Monitoring may ignore re-register requests on secondaries
  • SERVER-39830 Race in PeriodicRunnerImpl between start() and stop()
  • SERVER-39900 change_streams_resume_at_same_clustertime.js should not assume same that multi-update across shards are performed at the same clusterTime
  • SERVER-39946 Handle splitting tasks with only filtered test history
  • SERVER-40034 Set setup_group_can_fail_task to true for compile-related task groups
  • SERVER-40076 Tag JavaScript tests with the reason they’re unable to run in Atlas
  • SERVER-40195 Pin all Gradle dependencies
  • TOOLS-1906 Ignore mongorestore error “x509 certificate routines:X509_STORE_add_cert:cert already in hash table”
  • TOOLS-2158 mongodump failing on Windows with “error opening system CA store: Access is denied.”
  • TOOLS-2167 Add CGO flags for building on Windows
  • TOOLS-2168 Add CGO flags for building on MacOS
  • TOOLS-2210 Build with tools with Address Space Layout Randomised (ASLR) flags enabled
  • WT-4447 Add prototype implementation allowing limiting of IO per subsystem
  • WT-4483 Improve caching of small updates to large values
  • WT-4518 Give applications a chance to handle panic before API panic returns
  • WT-4522 Update WiredTiger copyrights to 2019
  • WT-4528 Retry Windows functions on access denied
  • WT-4532 Fix null pointer access to WT_DATA_HANDLE in __wt_page_in_func
  • WT-4547 Consolidate capacity and block manager bytes written
  • WT-4562 Coverity: possible divide by zero conn_capacity:434
  • WT-4576 Coverity warning in conn_capacity.c
  • WT-4615 Sync backup file before returning backup cursor

New in MongoDB 4.0.3 (Oct 3, 2018)

  • Security:
  • SERVER-35418 Allow specifying CAs for incoming and outgoing connections separately
  • SERVER-36456 MongoD does not support kerberos on Windows
  • SERVER-36827 Warning about “No SSL certificate validation can be performed” is misleading
  • Sharding:
  • SERVER-30841 Lower the amount of metadata refresh logging
  • SERVER-34500 Use causal consistency in database_versioning_upgrade_downgrade.js test when reading from secondary after setFCV
  • SERVER-35222 Crash on the config server at expired session cleanup
  • SERVER-35755 CollectionLock acquisition in shard_filtering_metadata_refresh.cpp can cause server to terminate on stepdown
  • SERVER-35773 MetadataManager directly calls into the CatalogCache
  • SERVER-36054 Get rid of ScopedCollectionMetadata’s operator bool
  • SERVER-36116 Get rid of CollectionShardingState::resetAll
  • SERVER-36130 Migration status reports verify connection strings – but those can change
  • SERVER-36164 Decouple ScopedCollectionMetadata from MetadataManager
  • SERVER-36332 CursorNotFound error in GetMore on a secondary with sessions
  • SERVER-36433 NamespaceSerializer lock should be used during drop database
  • SERVER-36634 Change FCV check to check for CommandNotFound in _shardsvrShardCollection and write to config after creating collections on non-primary shards
  • SERVER-37050 wait for replication in session_collection_auto_healing
  • Replication:
  • SERVER-35616 Oplog query on initial syncing node can cause segmentation fault
  • SERVER-35793 Write concurrency test to verify server-wide transactions metrics tracking
  • SERVER-35821 readConcern:snapshot transactions need a read timestamp <= WT’s all_committed point
  • SERVER-36127 use w:majority instead of w:2 in apply_batch_only_goes_forward.js
  • SERVER-36470 Prevent change_stream_failover.js to elect a new primary which is the same as old primary after old primary steps down.
  • SERVER-36503 Skip dry-run election during election handoff
  • SERVER-36539 Test that DBClientCursor sends getMore for exhaust cursor if moreToCome is not set
  • SERVER-36565 Killing a session with a transaction can cause the thread to throw WriteConflictError
  • SERVER-36746 A failed step down attempt shouldn’t unconditionally reset LeaderMode to kMaster
  • SERVER-36846 TransactionsMetrics unit test should sleep a bit when trying to assert elapsed time > 0
  • SERVER-36975 Fix race condition in read_concern_snapshot_catalog_invalidation.js
  • SERVER-36982 Reintroduce enableMajorityReadConcern:false server parameter
  • SERVER-36985 Test single replica set transactions immediately after a rollbackViaRefetch
  • SERVER-37010 Prevent unexpected elections in initial_sync4.js and initial_sync_rename_collection*.js
  • SERVER-37048 Hold global intent lock whenever accessing the oplog collection pointer
  • SERVER-37105 Make it clear from the stack trace whether a command is running in a transaction
  • SERVER-37147 sessions_collection_auto_healing.js should use 2 node replica set
  • SERVER-37152 Increase write concern timeouts for writes expected to succeed in tags.js
  • Query:
  • SERVER-13946 Consider putting skip stages below fetch stages
  • SERVER-36212 getMore should not enforce that session id matches until FCV is 4.0
  • SERVER-36299 Implement support for exhaust cursors with OP_MSG in DBClientCursor
  • SERVER-36435 Increase maxTimeMS timeout in awaitdata_getmore_cmd.js
  • SERVER-36453 Fix race condition in aggregation_cursor_invalidations.js
  • SERVER-36944 applyOps does not permit unknown field names when creating a v:1 index
  • SERVER-36951 applyOps should work with a createIndexes command without a UUID
  • Aggregation:
  • SERVER-36993 mongod crash: Invariant failure indexedOr src/mongo/db/query/index_tag.cpp 237
  • Storage:
  • SERVER-34577 read_after_optime.js fails on mongoe
  • SERVER-34606 Test (and possibly fix) behavior around majority commit point and oplog truncation
  • SERVER-35657 Do not delay journal flushes when operations are waiting for oplog visibility
  • SERVER-35780 renameCollection across databases incorrectly timestamps metadata for secondary index builds
  • SERVER-36400 Explicitly destroy the client on exiting the run body of each BackgroundJob
  • SERVER-36531 Lock acquisition may throw despite presence of UninterruptibleLockGuard when WT tickets are exhausted
  • SERVER-36879 write regression test for stuck cache issue during rollback
  • SERVER-36961 createIndexes command should check if index already exists with weak lock
  • SERVER-36969 initial_sync_wt_cache_full.js takes too long to complete on slow hosts
  • SERVER-37002 dropping a collection with long index names via rename fails under MMAPv1
  • SERVER-37121 Retry timestamping secondary background index builds
  • WiredTiger:
  • SERVER-19815 Make repair more robust with the WiredTiger storage engine
  • Operations:
  • SERVER-27588 Warning to disable defrag of transparent_hugepages when thp is disabled
  • SERVER-33606 mongo shell startSession() should fail if the server doesn’t support logical sessions
  • SERVER-34864 String-valued fields should not participate in schema change detection in ftdc
  • SERVER-35989 Mongo shell needs a countDocuments function
  • Build and Packaging:
  • SERVER-29908 Libraries db/s/sharding and db/query/query are directly cyclic
  • SERVER-33911 Allow overriding global link model for specific targets
  • SERVER-33912 Remove –disable-warnings-as-errors from embedded builds
  • SERVER-34007 Relicense Embedded SDK Builds
  • SERVER-35078 Build embedded SDK with bitcode
  • SERVER-35184 Enable link-time-optimization for embedded SDK builders
  • SERVER-36884 Update curator version on stable branches
  • SERVER-36943 Build embedded targets with -Wl,-object_path_lto
  • SERVER-37138 Revert to always building with bitcode
  • SERVER-37157 Create unified darwin builder for embedded
  • SERVER-37251 Revert to stable channel for Android NDK setup
  • Tools:
  • SERVER-30997 mongo cli –password is masked, but not when using mongodb:// connection string
  • TOOLS-2035 mongofiles_write_concern_mongos.js fails on server unstable
  • Internals:
  • SERVER-28990 when started with –repair mongod should not try to bind to a port
  • SERVER-33908 Add pre and post invocation background activity hooks to CAPI implementation
  • SERVER-33978 References to sudo in evergreen.yml should use ${set_sudo}
  • SERVER-34120 scoped connection not being returned to the pool
  • SERVER-34711 Enable burn_in_tests to understand Evergreen task selectors
  • SERVER-34798 Replace subclasses of ServiceContext with decorations and flexible initialization code
  • SERVER-35216 Expose ReplicaSetManager refresh period to the mongo shell
  • SERVER-35233 Powercycle remote collection validation does not skip views
  • SERVER-35284 C++ “death test” unit tests should fork before constructing the test fixture, not after.
  • SERVER-35517 Add failpoint mechanism to the mongo shell
  • SERVER-35585 Make PeriodicRunner jobs be pausable/resumable
  • SERVER-35629 Use WiredTiger salvage API for repairing metadata files
  • SERVER-35630 Missing or corrupt data files should cause MongoDB to exit with an error message to run repair
  • SERVER-35696 Provide a way to restore idents known by WiredTiger, but unknown to the _mdb_catalog
  • SERVER-35731 Prevent a repaired node from re-joining a replica set
  • SERVER-35782 Repair should move aside unsalvageable data files and create empty ones in their place
  • SERVER-35784 Fix ambiguously named test fixture in commands_test.cpp
  • SERVER-35800 resmoke.py should retry getting a build_id and test_id from logkeeper
  • SERVER-35985 sessions_test and sharding_catalog_manager_test don’t destroy all Clients before destroying the ServiceContext
  • SERVER-36019 Create script to collect resource utilization of Android application
  • SERVER-36069 Vendor mongoebench-compatible JSON config files from mongodb/mongo-perf into src/third_party
  • SERVER-36076 Create new resmoke.py test suite for running mongoebench on a desktop
  • SERVER-36077 Create new resmoke.py test suite for running mongoebench on an Android device
  • SERVER-36078 Integrate adb resource monitor into mongoebench test suite for Android
  • SERVER-36084 Remove sharding runtime from embedded
  • SERVER-36162 Powercycle - ensure internal crash command has been executed on the remote host
  • SERVER-36169 Resmoke: bare raise outside except in the stepdown hook
  • SERVER-36258 Perform construction of ServiceContext after execution of mongo initializers, not during
  • SERVER-36347 Make parse_zone_info.js handle new error message from ServiceContext refactor
  • SERVER-36351 ServiceContextMongoDTest doesn’t persist TempDir correctly
  • SERVER-36474 Cannot initiate a replica set if free monitoring is disabled at command-line
  • SERVER-36621 A call to log() in capi_test.cpp does not print to stdout
  • SERVER-36691 Only recover orphaned collection idents when starting with repair, not after an unclean shutdown
  • SERVER-36702 SCons to be able to install binaries as darwin framework
  • SERVER-36703 SCons to be able to link against darwin frameworks
  • SERVER-36704 Embedded to support logical sessions the same way as standalone mongod
  • SERVER-36722 Add remote maven repository for embedded AAR/JAR
  • SERVER-36725 periodic_runner_impl_test should manually call tearDown
  • SERVER-36732 Wait for all secondaries to be up and electable in election handoff jstests
  • SERVER-36747 Add a small time delay to “jstests/ssl/ssl_client_certificate_warning_suppression.js”
  • SERVER-36749 Remove race in Service Executor Adaptive shutdown
  • SERVER-36757 Generate and extract mongoebench-compatible JSON config files to consistent locations
  • SERVER-36761 Add requires_replication tag to disk/repair_invalidates_replica_set_config.js
  • SERVER-36768 Orphaned collection recovery should allow recovered collections to be renamed
  • SERVER-36783 Run the secondary_reads_passthrough task of enterprise-rhel-62-64-bit-inmem on rhel62-large
  • SERVER-36836 v4.0 fsm workload “yield_group.js” should accept “InternalError” as a possible outcome of the group command
  • SERVER-36842 Core dump not generated after invariant failure in powercycle hosts
  • SERVER-36869 fsm capped collection checks should only make 1 query for assertions
  • SERVER-36897 OplogReader.hasNext can return false -> true, confusing checkOplogs
  • SERVER-36906 Connection state now allowed to be kConnectionStateUnknown
  • SERVER-36919 Add server setParameter tlsWithholdClientCertificate (bool)
  • SERVER-36942 Differentiate invalid hostname from invalid certificate
  • SERVER-36947 Enable test commands for perf micro benchmarks
  • SERVER-36980 Remove old aggregation fuzzer from evergreen
  • SERVER-36987 ChunkVersion::minorVersion truncates to 16 bit
  • SERVER-37013 mongoebench-compatible JSON config files attempt to read from views without using “find” command
  • SERVER-37041 Update eval blacklists on older branches to account for differences in tests across branches
  • SERVER-37042 Handle exceptions from cursor.next in ReplSetTest
  • SERVER-37071 Blacklist set7.js and max_doc_size.js from retryable_writes_jscore_stepdown_passthrough
  • SERVER-37127 Update baseline comparison for sys-perf
  • SERVER-37149 Remove deadlock in ScheduleBeforeStartupTest
  • SERVER-37156 benchRun should wait for the worker threads it spawns to exit
  • SERVER-37170 mongos fails to start with error ‘DuplicateKey SetWiredTigerCustomizationHooks’ on dynamic builds
  • SERVER-37216 Android Multiarch builder can’t publish to mavenLocal
  • SERVER-37256 Add missing index_access_methods dependency to storage_wiredtiger_recovery_unit_test
  • TOOLS-1989 Switch evergreen intensive testing to match server priority buildversions
  • TOOLS-2050 oplog_rename_test fails on Windows due to access violation error
  • TOOLS-2099 Tools jstests failing on replica set shutdown
  • WT-3735 Add a workgen workload that generates a lot of page splits
  • WT-3736 Add statistics to measure contention on lookaside cursor
  • WT-3879 Disallow checkpoint from evicting metadata pages
  • WT-3894 Timestamp queue implementation and statistics improvements
  • WT-4090 Low priority reads
  • WT-4104 Fix test/format failure during comparing data content with berkeley db
  • WT-4119 Avoid restarts updating / removing during a column store scan
  • WT-4131 Rename lookaside to cache overflow
  • WT-4144 Fix rollback_to_stable with lookaside history
  • WT-4154 Surface the oldest read timestamp
  • WT-4156 Add new wiredtiger_salvage top level API
  • WT-4176 Expose a WT_SESSION.query_timestamp method
  • WT-4177 Backup cursor open should force a log file switch
  • WT-4185 Don’t remove all lookaside entries when reading a page
  • WT-4211 Add automated test for long running prepared transactions
  • WT-4212 Update lookaside schema to handle prepared transactions
  • WT-4216 Use separate counters for page_swap yield and sleep
  • WT-4218 Change eviction to evict prepared updates
  • WT-4225 Automate a backup test that simulates volume snapshot via dd
  • WT-4231 Fix ctags index of functions with attributes
  • WT-4233 Change log corruption errors to warnings and truncate log
  • WT-4239 Don’t allow checkpoints to perform insert-splits in the tree
  • WT-4241 GNU-stack section should never be conditionally compiled out
  • WT-4243 Fix lookaside sweep to not remove required entries
  • WT-4246 Change transaction update list to support indirect references
  • WT-4248 Fix checkpoints in schema_abort for slow machines
  • WT-4249 Attempt to discard dirty page during verify operation
  • WT-4251 Prepared updates cannot be discarded
  • WT-4252 Btree debug functions can leak scratch buffers on error.
  • WT-4253 Btree debug function to do blind reads doesn’t handle row-store internal pages
  • WT-4256 Loosen check during rollback_to_stable
  • WT-4257 Don’t assume timestamps from lookaside are aligned in memory
  • WT-4259 Restore ref to the previous state rather than MEM when eviction fails
  • WT-4261 Test salvage of out-of-sync metadata/turtle files
  • WT-4262 Lock deleted children in eviction of internal pages
  • WT-4263 Use the right tree when copying a key for a lookaside write
  • WT-4264 Compaction can race with page modifications
  • WT-4267 fixed-length column store operations can corrupt data
  • WT-4268 Random abort should wait until record files exist before starting timer
  • WT-4270 Add an operation field to know where threads hang
  • WT-4272 Increase startup timeout to 30 seconds for slow I/O systems
  • WT-4274 Fix memory leak in wt4156_metadata_salvage test
  • WT-4277 Make truncate in column stores more efficient
  • WT-4281 Shorten runtime of Python test suite
  • WT-4282 Don’t transition pages from limbo to mem unless required
  • WT-4283 Restore WT_ERROR and use a corrupt flag
  • WT-4284 Print a verbose message in recovery on error too
  • WT-4285 Fix wt4156_metadata_salvage Coverity/lint complaints
  • WT-4286 Column store should skip end-of-table checks if there’s an exact match
  • WT-4288 Don’t let return value of closing conn overwrite WT_TRY_SALVAGE
  • WT-4289 Update WT_DATA_CORRUPTION to WT_TRY_SALVAGE in test_txn19.py
  • WT-4291 Fix test_txn19.py error detection by looking for WT_ERROR
  • WT-4292 Add call to testutil_cleanup to avoid memory leak
  • WT-4300 Setting the update timestamp can overwrite the WT_REF.addr field
  • WT-4301 WT_CURSOR.reserve operations can leak memory when committed
  • WT-4305 Add a gating variable for long running prepare support
  • WT-4306 Fix mode if metadata pages need eviction
  • WT-4308 Insert split during sync should not free blocks
  • WT-4321 Disable the random direct I/O test
  • WT-4325 Add a WiredTiger-local version of the qsort(3) call

New in MongoDB 3.6.2 (Mar 23, 2018)

  • Security:
  • SERVER-31625 The contents of {USER} needs to be escaped when querying for the groups using LDAP server
  • Sharding:
  • SERVER-28992 Cleanup mongos write commands execution
  • SERVER-31982 Shard does not call config commit chunk migration command with majority writeConcern nor checks for writeConcern errors.
  • SERVER-32202 Do not clear the cached sharding filtering information on replication state changes
  • SERVER-32255 UUIDs may be absent from shard secondary local collections
  • SERVER-32480 Remove CatalogCache retrieval methods, which take StringData
  • SERVER-32529 Requiring replSet for shards breaks Queryable Backup
  • Replication:
  • SERVER-30626 Remove TopologyCoordinator interface
  • SERVER-31267 CollectionCloner fails if collection is dropped between getMore calls
  • SERVER-31684 QueryPlanKilled (operation exceeded time limit) in $changeStream with updateLookup
  • SERVER-31749 Clarify the reason temporary unique collection names are made
  • SERVER-32098 Disallow operations on drop-pending collections through applyOps
  • SERVER-32136 initial_sync_drop_collection.js should wait for system to stablize after restarting node
  • SERVER-32224 Disable chaining in initial_sync_drop_collection.js
  • Aggregation:
  • SERVER-32282 Aggregation text search returns text score even if it wasn’t requested when targeting multiple shards in a sharded cluster
  • SERVER-32430 DocumentSourceSort sorts array documents incorrectly if there is a non-simple collation
  • Storage:
  • SERVER-29909 Libraries db/db_raii and db/s/sharding are directly cyclic
  • SERVER-31750 Always log renameCollections in our tests
  • SERVER-32242 Fix race in CompatibleFirstStress lock manager test
  • SERVER-32315 Remove IndexObserver
  • Operations:
  • SERVER-32396 mongo shell failed to connect with 3.6 connection string SRV
  • Build and Packaging:
  • SERVER-31875 Fix long link times on OS X by passing -no_deduplicate to the linker
  • SERVER-32415 MongoDB msi installer for Compass contains a typo
  • Internals:
  • SERVER-30538 check that oplogTruncateAfterPoint is correct in PeriodicKillSecondaries hook
  • SERVER-31972 Reduce the number of iterations for the toggle_feature_compatibility.js workload
  • SERVER-31997 Add additional unittesting for CompatibleFirst policy
  • SERVER-32091 Powercycle - remove mongod.lock file for MMAPV1 test
  • SERVER-32145 Avoid dropping lock before cleaning up DocumentSourceCursor’s PlanExecutor
  • SERVER-32246 PID file permission on v3.6 make it not not monitorable using pid file
  • SERVER-32497 implicitly_retry_on_database_drop_pending.js calls tojson() inside of a loop
  • SERVER-32500 Disable the sharding Evergreen task on the Enterprise OS X 10.10 MMAPv1 builder

New in MongoDB 3.6.1 (Mar 23, 2018)

  • Sharding:
  • SERVER-29397 Invariant failure on config server when inserting tag into config.tags
  • SERVER-30226 Force the recipient shard to refresh its metadata after migration commit
  • SERVER-30768 Primary queries using maxTimeMS cause temporary shard write unavailability if ExceededTimeLimit
  • SERVER-31056 Remove all usages of the default constructor of ScopedCollectionMetadata outside of MetadataManager
  • SERVER-31627 ShardingTest.checkUUIDsConsistentAcrossCluster can fail to see collection in config.cache.collections
  • SERVER-31865 setFCV on config server should only generate UUIDs for non-dropped sharded collections
  • SERVER-31984 A migration will simply report “Data transfer error” when we have rich error details on the destination shard that are logged but not returned to the user
  • SERVER-32043 Disallow users from creating new indexes in config.transactions
  • SERVER-32055 Improve multi thread performance for retryable writes
  • SERVER-32123 Enable sign range optimization for clusterTime
  • SERVER-32149 ShardingCatalogManager::getDatabasesForShard should check if query was successful
  • SERVER-32372 Mongos crashes on bulk inserts which size are slightly bigger than maxBsonObjectSize
  • SERVER-32385 “CommandNotFound: no such command” in mongodb logs on 3.6
  • Replication:
  • SERVER-30457 Cancel catchup takeover if primary caught up according to heartbeats
  • SERVER-31990 Rollback can abort on long collection names.
  • SERVER-32085 $changeStream reports incorrect documentKey for unsharded collections that become sharded
  • SERVER-32114 Delete unused rollback code
  • SERVER-32131 ChangeStreams lookup_post_image.js test makes assumptions that don’t hold up in secondary read passthrough
  • SERVER-32159 fix typo in sync_tail.cpp fillWriterVectorsAndLastestSessionRecords()
  • SERVER-32167 do a second majority write on oldPrimary before committed read in read_committed_after_rollback.js
  • SERVER-32178 Do not use IDL on oldest oplog entry
  • Query:
  • SERVER-31978 Add an invariant that DocumentSourceCloseCursor does not execute on a mongod for a sharded $changeStream
  • SERVER-32046 Arrays of certain NumberDecimals can trigger an invariant failure
  • SERVER-32109 $rename does not update value if existing “to” field has the same numeric value but different type.
  • SERVER-32173 Add deprecation warning to “snapshot” option on queries
  • Write Operations:
  • SERVER-8538 Deprecate $atomic/isolated update option
  • SERVER-32048 Updates using a numeric path component may cause index entries not to be created
  • Aggregation:
  • SERVER-31731 Test that mongos accepts a –timeZoneInfo parameter, and can correctly execute expressions using time zones
  • SERVER-31885 changeStream cursor is not returned on a mongos when the database does not exist.
  • Storage:
  • SERVER-31304 remove SnapshotName class
  • SERVER-31906 Test that applyOps can clone admin.system.version preserving its UUID
  • SERVER-31952 return error if collMod provides a UUID that does not match the UUID of the collection specified
  • SERVER-32022 allow enableMajorityReadConcern=false to work
  • SERVER-32118 applyOps view creation should not assign UUID
  • SERVER-32226 oldest_timestamp should track the last applied time, during initial sync
  • Operations:
  • SERVER-29453 Disallow removing the featureCompatibilityVersion document
  • Build and Packaging:
  • SERVER-32211 install_compass experience on OSX needs improvement
  • SERVER-32286 Remove Type=forking from Debian SystemD service file
  • Tools:
  • TOOLS-1895 qa-dump-restore-archiving oplog_rollover_test.js
  • Internals:
  • SERVER-30770 system_perf.yml: Use new DSI interface and cleanup
  • SERVER-31194 Add a version of retryable_writes_jscore_passthrough.yml with stepdowns
  • SERVER-31225 The mongod process forks before listening for connections
  • SERVER-31660 Bring BSONObj parsers back for IDL generated commands
  • SERVER-31791 UUIDs should be added to local collections for replica sets only on clean startup
  • SERVER-31808 HostAndPort for replSetInitiate() no longer finds hostname for localhost
  • SERVER-31845 WT performance regression with write retryability enabled
  • SERVER-31864 applyOps command with UUID containing op must require granular privileges
  • SERVER-32053 explain3.js should assert that its writes succeed
  • SERVER-32073 Improve signal given by list_local_sessions.js
  • SERVER-32087 Run test stage of sys-perf and mongo-perf failures should lead to red evergreen boxes
  • SERVER-32105 Require shard servers and config servers to be started with –replSet or ‘replSetName’
  • SERVER-32106 Migration of txn oplog entries can trigger fassert in secondary replication
  • SERVER-32164 Shell SRV implementation does not allow authSource from TXT records to be used
  • SERVER-32238 Revert erroneous high error codes
  • TOOLS-1688 Evergreen tests broken in master
  • TOOLS-1827 Implement Initial DNS Seedlist discovery spec
  • TOOLS-1861 build.sh script doesn’t abort on error
  • TOOLS-1878 qa-tests-unstable force_table_scan.js
  • TOOLS-1880 qa-tests-unstable no_primary_error_code.js
  • TOOLS-1881 qa-tests-unstable no_sharded_secondary_reads.js
  • WT-3079 Make sure eviction visits all trees
  • WT-3776 Cursor remove operation unpins page too early
  • WT-3786 Transactions with timestamps should read their writes

New in MongoDB 3.4.14 (Mar 23, 2018)

  • SERVER-28151: Authentication database should be synced first during an initial sync.
  • SERVER-32886: Unnecessary sleeps during chunk migration.
  • SERVER-32933: Allow mongod to start when unable to reach LDAP server.

New in MongoDB 3.4.13 (Mar 23, 2018)

  • SERVER-33238: Prevent WiredTiger read ticket count from going negative.

New in MongoDB 3.4.12 (Mar 23, 2018)

  • SERVER-31437: Fix parsing of mongo host/db connect string.
  • SERVER-32875: Don’t stall ftdc due to running out of tickets.
  • SERVER-33089: Unable to start queryable mongod because it failed to regenerate index for admin.system.users.

New in MongoDB 3.4.11 (Mar 23, 2018)

  • SERVER-19605: Oplog timeout should be configurable.
  • SERVER-19919: Chunks that exceed 250000 docs but are under half chunk size get marked as jumbo.
  • SERVER-29293: Recipient shard fails to abort migration on stepdown.
  • SERVER-32001: unindexing a key in a partial unique index may cause server crash

New in MongoDB 3.4.10 (Mar 23, 2018)

  • SERVER-15723: Avoid G_X lock for rename_collection within database
  • SERVER-31049: View with collation doesn’t work as expected in sharded cluster
  • SERVER-29287: Upgrade pcre to 8.41
  • SERVER-31204: Calling shardCollection after enableSharding may fail if executed against different mongos

New in MongoDB 3.4.9 (Sep 12, 2017)

  • Sharding:
  • SERVER-20392 Sharding an existing small collection results in large number of chunks
  • SERVER-30183 a moveChunk that joins the active moveChunk on a shard may not respect its waitForDelete
  • SERVER-30487 RangeDeleter holds WT transaction open while waiting for majority
  • SERVER-30636 RangeDeleter assert failed because of replication lag
  • Replication:
  • SERVER-28277 Need to increase timeout in read_committed_with_catalog_changes.js
  • SERVER-29802 Non-atomic applyOps command should not take out a global exclusive lock
  • SERVER-30554 relax locking mode in applyOps when applying CRUD-only ops non-atomically
  • Query:
  • SERVER-30189 Reduce calls to allocator for large $in expressions
  • Write Operations
  • SERVER-27317 Inserting a document with a Decimal128 value when featureCompatibilityVersion is 3.2 results in a closed socket
  • JavaScript:
  • SERVER-30875 Add support for a “no-owned bson” mode for JS Scopes
  • SERVER-30971 Use of “scope” field in mapReduce triggers BSONObj ownership error
  • Storage:
  • SERVER-26239 Improve handling of WT_CACHE_FULL for inMemory storage engine
  • SERVER-30490 Compile RocksDB with USE_RTTI=1
  • SERVER-30790 ServerStatus on WiredTiger accesses the storage engine without any locks
  • Build and Packaging:
  • SERVER-29686 Remove /var/lib/mongodb from mongodb-org[-unstable] deb metapackage
  • SERVER-30562 avoid running many duplicate ARM64 tests for the community build
  • Internals:
  • SERVER-26377 Skip running FSM workloads that use the compact command on the LSM build variant
  • SERVER-26824 Skip FSM workloads which rely on nUpserted or nRemoved when Balancer is enabled
  • SERVER-28824 Unhandled hang analyzer exception escapes loop to get threads from each process
  • SERVER-29431 initialsync.js does not verify that initial sync succeeds
  • SERVER-29714 Add Exception Message to Validate_Locale.cpp
  • SERVER-30509 Update Evergreen API URL in burn_in_tests.py
  • SERVER-30643 Performance regression with SSL
  • WT-3329 With a uniform workload and a number of small collections, eviction does a poor job of selecting candidates for eviction.
  • WT-3438 Don’t tune eviction thread count when the count is fixed
  • WT-3499 Checkpoint can miss not yet committed item

New in MongoDB 3.5.12 Dev (Sep 8, 2017)

  • New Feature: SERVER-1243: New operator to update all matching items in an array
  • New Feature: SERVER-831: Positional Operator Matching Nested Arrays
  • Bug: SERVER-25059: URL support needs to support percent-encoding (escape sequences)
  • New Feature: SERVER-27089: Extend the update subsystem to support more expressive updates to array fields
  • Task: SERVER-30503: Redesign Moose storage structure
  • New Feature: SERVER-30564: Run embedded CAPI and transport layer tests in iOS simulator on evergreen
  • Bug: SERVER-30502: --disableJavaScriptJIT does not disable JIT
  • Bug: SERVER-20392: Sharding an existing small collection results in large number of chunks
  • Task: SERVER-29096: Set readPreference to secondary in causally_consistent_jscore_passthrough suite
  • Task: SERVER-29140: Return 'invalidate' entries and close the cursor on relevant drop, dropDatabase, and renameCollection oplog entries
  • Task: SERVER-29131: Support resumeAfter option to $changeNotication to control where to start returning notifications from, which always errors if no entry with the given resumeToken exists
  • Task: SERVER-29144: Filter out notifications from oplogEntries with 'fromMigrate":true
  • Task: SERVER-29203: Implement the SessionsCollection for sharded clusters
  • Task: SERVER-29202: Implement the SessionsCollection for replica sets
  • Task: SERVER-28964: Ensure OP_MSG handlers abandon connections in error cases required by the spec
  • Task: SERVER-28772: Create PushNode/PushAllNode
  • Task: SERVER-28793: Create primary mode unit tests for ShardServerCatalogCacheLoader once all the pieces are committed
  • Task: SERVER-28777: Always parse update expression as an UpdateNode tree when featureCompatibilityVersion=3.6
  • Bug: SERVER-28824: Unhandled hang analyzer exception escapes loop to get threads from each process
  • Improvement: SERVER-28648: Unittests should work if 'localhost' canonicalizes to other hostname
  • Bug: SERVER-29337: jstests/sharding/linearizable_read_concern.js should wait for shardIdentity to replicate to all secondaries before issuing secondary reads
  • Improvement: SERVER-29429: Pick a sane default for maxConnecting in sharding task executor
  • Improvement: SERVER-29422: Respect version.json in Evergreen patch builds
  • Task: SERVER-29502: Require the vote from the current primary in the election dry-run of catchup takeover
  • Task: SERVER-28510: Make Ingress and Egress networking layer support fire and forget over OP_MSG
  • Task: SERVER-28301: Add stats about the session record cache to the serverStatus command
  • New Feature: SERVER-28335: Implement the refreshSessions command
  • New Feature: SERVER-28338: Implement the killSessions command
  • Task: SERVER-28388: Improve lifetime handling of diagnosticMessage from LDAP operations
  • Improvement: SERVER-13061: Raise write batch limit to 100,000 ops and prevent oversized errors
  • Task: SERVER-13362: Need better messaging in BSONElement::chk() errors
  • Improvement: SERVER-24897: Configure Diffie-Hellman parameters for OpenSSL
  • Bug: SERVER-25855: Increase more timeouts in mongos_cache_invalidation.js
  • Improvement: SERVER-19541: Add option to resmoke.py to connect to an existing deployment
  • Task: SERVER-30566: Unwind SERVER-28190
  • Improvement: SERVER-30565: burn_in_tests.py shouldn't cause compile task to fail
  • Task: SERVER-30562: avoid running many duplicate ARM64 tests for the community build
  • Improvement: SERVER-30560: Support IDL serialization to OpMsgRequest document sequences
  • Improvement: SERVER-30558: Remove Solaris builds from master
  • Task: SERVER-30555: Roll Back to Checkpoint: drop the local.replset.checkpointTimestamp collection when we shut down in fCV 3.4
  • Improvement: SERVER-30554: relax locking mode in applyOps when applying CRUD-only ops non-atomically
  • Task: SERVER-30549: Ignore shardVersion on shard secondaries until 3.6 feature compatibility version is set
  • Bug: SERVER-30601: Coverity analysis defect 101964: PW.USELESS_TYPE_QUALIFIER_ON_RETURN_TYPE
  • Bug: SERVER-30589: Don't add stable timestamp candidates when in master slave mode
  • Bug: SERVER-30584: Sessions collection should not send refresh if there are no records
  • Bug: SERVER-30571: EphemeralForTest oplogStartHack segfaults if startingPosition is behind oplog
  • Task: SERVER-30593: Add 'available' as a valid read concern level
  • Task: SERVER-30588: Support binding all IPs associated with a hostname
  • Task: SERVER-30580: Unify implementations of Status and DBException
  • Bug: SERVER-30570: Coverity analysis defect 101918: PW.PARAMETER_HIDDEN
  • Bug: SERVER-30569: Coverity analysis defect 101928: Arguments in wrong order
  • Bug: SERVER-30574: remote_operations.py fails to handle ssh_options, quoting in operations and Windows files
  • Task: SERVER-30541: Roll Back to Checkpoint: Remove "rollback " log message prefixes
  • Improvement: SERVER-30536: disallow applyOps non-atomic mode when preCondition flag is used
  • Improvement: SERVER-30535: Consistent names for ServiceExecutorAdaptive metrics
  • Task: SERVER-30534: Create a _configsvrDropCollection command
  • Bug: SERVER-30528: createIndexes should ignore NamespaceNotFound uasserts during InitialSync
  • Task: SERVER-30743: Remove shell functions used for now obsoleted db.upgradeCheck()
  • Bug: SERVER-30720: Integer overflow in SharedBuffer::grow_reallocate
  • Task: SERVER-30521: in syncApply, throw NamespaceNotFound rather than returning a status on missing database
  • Improvement: SERVER-30520: SecureRandom::create() should return a unique_ptr
  • Bug: SERVER-30524: dateFromParts expects "milliseconds" instead of "millisecond"
  • Task: SERVER-30516: Reduce concurrency for Windows compile_all builds to avoid OOM failures
  • Task: SERVER-30512: Ensure all changeStreams field names match the spec
  • Task: SERVER-30509: Update Evergreen API URL in burn_in_tests.py
  • Task: SERVER-30506: Rename $changeNotification to $changeStreams
  • Improvement: SERVER-30507: Python git module should not use the '--work-tree' option
  • Task: SERVER-30501: Create rollback logging component
  • Bug: SERVER-30499: Only update sessions with a transaction number
  • Bug: SERVER-30500: don't assign UUIDs to system.indexes on collMod/upgrade
  • Bug: SERVER-30495: Remove erroneous percent sign in test lifecycle update JIRA issues
  • Bug: SERVER-30625: Reconnect node after calling waitForState shell helper in case the state transition closes connections
  • Bug: SERVER-30616: fix race in AbstractOplogFetcherTest::OplogFetcherReturnsOperationFailedIfExecutorFailsToScheduleFind
  • Improvement: SERVER-30619: Update Evergreen API URL in buildscripts/test_failures.py
  • Task: SERVER-30604: Mount EC2 instance drive for /data
  • Bug: SERVER-30627: Avoid network errors in restartServerReplication() in catchup takeover JS tests.
  • Bug: SERVER-30614: missing_key.js should check its inserts and commands
  • Bug: SERVER-30673: get last error command should be marked doesn't requireAuth
  • Improvement: SERVER-30670: Add clusterType TestData to generational fuzzer yml tests.
  • Improvement: SERVER-30651: Parallelize calls to the Evergreen API in update_test_lifecycle.py
  • Bug: SERVER-30703: make _configsvrShardCollection return the newly sharded collection's UUID
  • Bug: SERVER-30698: make the distinct command deterministically versioned on mongos for sharded collections
  • Bug: SERVER-30661: Build with --wiredtiger=off fails on master branch
  • Task: SERVER-30658: Add DBLevelLocking check to storage engine API
  • Improvement: SERVER-30646: Fix dbCheck health log entries
  • Bug: SERVER-30712: ClusterAggregate::aggPassthrough() should pass RetryPolicy::kIdempotent to handle transient network/failover errors
  • Task: SERVER-30706: Create specializations of AtomicWord that are lock-free for eligible user define dtypes
  • Bug: SERVER-30688: Using multiple changeStream cursors causes a segfault
  • Task: SERVER-30702: Stop printing stack traces in masserts
  • Bug: SERVER-30665: applyOps collMod handling should only allow nonexistent UUIDs for UUID upgrade collMods
  • Improvement: SERVER-30654: Add retry mechanism for failed API calls in test_failures module
  • Bug: SERVER-30648: Set GlobalLockAcquisitionTracker after we waitForLock
  • Bug: SERVER-30490: Compile RocksDB with USE_RTTI=1
  • Improvement: SERVER-30480: Update aggregation explain format to provide details of merge location
  • Task: SERVER-30479: Make async builder run daily
  • Bug: SERVER-30473: Denial of service from wild
  • Bug: SERVER-30362: JavaScript DBCollection.toString() stops working
  • Task: SERVER-30328: Have WT encryption at rest allow multiple wiredtiger_open/close calls in a single mongod process lifetime.
  • Bug: SERVER-30295: Connect FCV to WiredTiger compatibility version
  • Bug: SERVER-30234: Create embedded CAPI tests for CRUD operations
  • Improvement: SERVER-30230: Detailed error message when mongod fails to start to because systemLog.path points to a directory
  • Improvement: SERVER-30351: Add a traverseRecordStore() function in the RecordStoreValidateAdaptor
  • Task: SERVER-30319: When requesting only 1 thread for initial sync, use the 'find' command instead of 'parallelCollectionScan'
  • Improvement: SERVER-30302: Add explicit configuration object for UpdateSequenceGenerator
  • Task: SERVER-30335: Roll Back to Checkpoint: Call setInitialDataTimestamp at startup
  • Improvement: SERVER-30301: Add explicit configuration object for DocumentStructureEnumerator
  • Improvement: SERVER-30378: Add asynchronous writing facility
  • Improvement: SERVER-30379: Add health log
  • Improvement: SERVER-30353: Create an index observer to notify us of changes made to index and document keys
  • Improvement: SERVER-30352: Add a new class that will keep track of the index inconsistencies during validation
  • New Feature: SERVER-30327: Introduce ScalarGenerator interface for creating values of different BSON types in idempotency testing
  • Task: SERVER-30324: Move logic of removeShard to _configsvrRemoveShard
  • Task: SERVER-30310: Have WiredTigerKVEngine implement StorageEngine::setStableTimestamp/setInitialDataTimestamp
  • Task: SERVER-30081: Add a WiredTigerKVEngine "recovery" method that reconciles the _mdb_catalog and WT tables.
  • Task: SERVER-30046: Add support for $expr constant expressions to ComparisonMatchExpression
  • Bug: SERVER-29990: OP_MSG with duplicate field '$logicalTime'
  • Bug: SERVER-30057: Remove $logicalTime from core/set_param1.js test
  • Bug: SERVER-30040: ServiceStateMachine should redact exceptions before logging
  • Task: SERVER-30034: Create a $_internalSchemaMatchArrayElement MatchExpression
  • Task: SERVER-30076: Use the UUID of the config.transactions collection for rollback via refetch
  • Task: SERVER-29987: Make all non-write operations take readConcern
  • Bug: SERVER-30269: Bump ASIO to capture bug fixes
  • Improvement: SERVER-30265: Abstract enabling virtualenv in etc/evergreen.yml
  • Bug: SERVER-30266: ShardServerCatalogCacheLoader may drop collections causing failures in test validation
  • Task: SERVER-30281: Properly clear in-memory transaction table state after rollback
  • Bug: SERVER-30289: Ensure parallel shell in change_notification.js has started before running getMore it will wait for
  • Improvement: SERVER-30254: Make ThreadPool::join finish remaining tasks on a pristine thread instead of inline
  • Bug: SERVER-30183: a moveChunk that joins the active moveChunk on a shard may not respect its waitForDelete
  • Improvement: SERVER-30189: Reduce calls to allocator for large $in expressions
  • Task: SERVER-30175: Extend the JSON Schema parser to handle restriction keywords for scalars
  • Task: SERVER-29939: Update sequence generation for testing oplog idempotency
  • Task: SERVER-29944: Implement a basic idempotency checker for testing oplog idempotency
  • Bug: SERVER-29915: SCRAM-SHA-1 mechanism should respect "y" in gs2-cbind-flag
  • Task: SERVER-29893: Roll Back to Checkpoint: Rename recovery code and make it accessible to both startup and rollback
  • Task: SERVER-29898: Roll Back to Checkpoint: Call recoverToStableTimestamp() under the global X lock
  • Task: SERVER-29897: Roll Back to Checkpoint: Increment the rollback ID
  • Task: SERVER-29894: Roll Back to Checkpoint: Start oplog application during recovery at checkpoint timestamp
  • Task: SERVER-29891: Roll Back to Checkpoint: Call setStableTimestamp() when commit point or last applied changes
  • Task: SERVER-29896: Roll Back to Checkpoint: Write the common point to the oplog truncate after point
  • Improvement: SERVER-29802: Non-atomic applyOps command should not take out a global exclusive lock
  • Task: SERVER-29797: Capability to invoke Hang_analyzer on a remote host
  • Bug: SERVER-29768: Primary does not need to do a complete chunk metadata read in ShardServerCatalogCacheLoader
  • Improvement: SERVER-29743: IDL should generate a default constructor
  • Task: SERVER-29756: Unit tests for OpMsg parsing and serialization
  • Improvement: SERVER-30468: Speed up checking for duplicate error codes
  • Bug: SERVER-30380: $lookup 'let' variables should be available to all nested sub-pipelines
  • Bug: SERVER-30467: Extend $_internalSchemaMinLength and $_internalSchemaMaxLength to count lengths of Unicode strings
  • Task: SERVER-30437: Stop the shard chunk loader from scheduling persistence tasks with mixed version chunks
  • Bug: SERVER-30424: Coverity analysis defect 101903: Dereference before null check
  • Task: SERVER-30443: Create PeriodicBalancerSettingsRefresher on the ServiceContext
  • Task: SERVER-30432: add logicalSessionTimeoutMinutes to isMaster results
  • Task: SERVER-30407: Make findAndModify retryable
  • Bug: SERVER-30445: A non-full validation should also return the number of invalid documents/objects
  • Bug: SERVER-30418: continuous stepdown override should catch the ManualInterventionRequired error code for mapReduce in addition to shardCollection
  • Improvement: SERVER-30401: Simplify UpdateLeafNode::apply interface
  • Bug: SERVER-30394: ftdc file_manager generates an incorrect absolute diagnostic data path for mongos if the logpath is a relative path
  • Improvement: SERVER-29672: Move the CatalogCacheLoader out of the CatalogCache and make it an independent component
  • Bug: SERVER-29694: Read-only shards should not try to persist the collection routing information locally
  • Bug: SERVER-29686: Remove /var/lib/mongodb from mongodb-org[-unstable] deb metapackage
  • Task: SERVER-29667: Fix document refetch step in UUID enabled rollback
  • Bug: SERVER-29641: checkReplicatedDataHashes() throws a TypeError when replSetTest uses mongobridge
  • Improvement: SERVER-29670: Create a server parameter for specifying the level of CollectionCloner parallelization
  • Task: SERVER-29637: make shards obtain UUID for sharded collections from config server on setFeatureCompatibilityVersion: 3.6
  • Task: SERVER-30147: Add collection task queue flush functionality to ShardServerCatalogCacheLoader and replace certain uses of waitForCollectionVersion
  • Task: SERVER-30146: Evergreen scripts for remote hosts: ssh & scp
  • Task: SERVER-30122: Evergreen functions to spawn and terminate EC2 instances
  • Task: SERVER-29586: Create a $_internalSchemaAllElemMatchFromIndex MatchExpression
  • Improvement: SERVER-29617: Use the AsyncResultsMerger to copy documents in CollectionCloner instead of Fetcher
  • Improvement: SERVER-29524: sys-perf: Call infrastructure_provisioning.py instead of infrastructure_provisioning.sh
  • Task: SERVER-29593: Integrate the official JSON Schema test corpus into the unit tests
  • Improvement: SERVER-22760: Sharded aggregation pipelines which involve taking a simple union should merge on mongos
  • Bug: SERVER-27738: Positional operator ($) can choose wrong array element when there is a numerical path component
  • Bug: SERVER-27411: session cache concurrency issues at shutdown
  • Bug: SERVER-27826: Increase the timeout SSLTest.prototype.connectWorked from 30 to 600 seconds.
  • New Feature: SERVER-20782: Support causal consistency with secondary reads in sharded, replicated MongoDB clusters
  • Bug: SERVER-22829: WiredTiger data files world-readable
  • Improvement: SERVER-24550: Error out when db.createUser() is used with wrong syntax
  • Bug: SERVER-30531: nonexistent tests blacklisted
  • Bug: SERVER-30630: Remote hang_analyzer invoked during timeout phase even when the task doesn't have remote processes
  • Improvement: SERVER-30350: Move the RecordStoreValidateAdaptor into its own file from CollectionImpl
  • Improvement: SERVER-30299: MSVC outputs warning 'Call to 'std::copy' with parameters that may be unsafe' in unordered_fast_key_table.h
  • Improvement: SERVER-29974: Comment in checkAuthForRenameCollectionCommand doesn't match behavior
  • Improvement: SERVER-30453: Remove the record_store_validate_adaptor library and move its source into the catalog library
  • Bug: SERVER-30529: serviceExecutorTaskStats totaltimeExecutingMicros should be totalTimeExecutingMicros
  • Bug: SERVER-30527: serviceExecutorTaskStats tasksExecutng should be tasksExecuting
  • Task: SERVER-30721: Remove uses of CIDRException in favor of uassert()

New in MongoDB 3.4.7 (Sep 8, 2017)

  • Fixed in this release:
  • SERVER-29282: BSON Document Size can be exceeded when grouping inserts on SECONDARY nodes
  • SERVER-29568: Enable configuration of OpenSSL cipher suite via setParameter
  • SERVER-29817: Optimize incremental update performance of ChunkManager and CollectionMetadata

New in MongoDB 3.2.10 (Oct 7, 2016)

  • SERVER-25974: When WT cache utilization is full, application threads can stall for an extended period of time.
  • SERVER-20306: MongoDB with WiredTiger may experience excessive memory fragmentation, leading to swapping and/or out-of-memory errors.
  • SERVER-16801: When updating a field of one numerical type to the same number of different numerical type, update operation considers it as a noop.

New in MongoDB 3.2.9 (Aug 17, 2016)

  • SERVER-7285: Support systemd in future compatible Ubuntu distributions.
  • WT-2798: Create operations on WiredTiger when journaling is disabled may lead to inconsistent data in the event of a crash.
  • SERVER-17856: On mongod instances, users can run currentOp and killOp on own operations.

New in MongoDB 3.2.8 (Aug 17, 2016)

  • Issues fixed:
  • SERVER-18329: Debian 8(Jessie) packages.
  • SERVER-24580: Improve performance when WiredTiger cache is full.
  • WT-2696: Race condition on unclean shutdown may miss log records with large updates.
  • WT-2706: Race condition on log file switch can cause missing log records.
  • All issues closed in 3.2.8

New in MongoDB 3.2.7 (Jun 28, 2016)

  • SERVER-24054: JS segmentation fault on load of certain NaNs.
  • SERVER-24058: Connection pool asio doesn’t honor setup timeouts.
  • SERVER-24117: Mongo binaries ELF stack has become executable.
  • All issues closed in 3.2.7

New in MongoDB 3.2.6 (Jun 28, 2016)

  • SERVER-22970: Background index build may result in extra index key entries that do not correspond to indexed documents.
  • SERVER-22043: mongo shell method count() ignores read preference.
  • All issues closed in 3.2.6

New in MongoDB 3.2.5 (Jun 28, 2016)

  • SERVER-22964: IX GlobalLock held while waiting for WiredTiger cache eviction.
  • SERVER-22831: Low query rate with heavy cache pressure and an idle collection.
  • SERVER-21681: Include index size stats for in-memory storage engine.
  • All issues closed in 3.2.5

New in MongoDB 3.2.4 (Mar 11, 2016)

  • Fixed issue with setting optime when running with journaling disabled: SERVER-22495, SERVER-22728
  • Have read concern majority reflect journaled state on the primary: SERVER-22269
  • Fixed issue where specifying replication.enableMajorityReadConcern implied true regardless of the actual boolean value: SERVER-22683
  • Fixed issue causing segfault when running aggregation that includes $lookup: SERVER-22537

New in MongoDB 3.2.3 (Feb 18, 2016)

  • Highlights:
  • Fixed issue with MMAPv1 journaling where the “last sequence number” file (lsn file) may be ahead of what is synced to the data files: SERVER-22261.
  • Fixed issue where in some cases, insert operations fails to add the _id field to large documents: SERVER-22167.
  • Increased timeout for querying oplog to 1 minute: SERVER-22456.

New in MongoDB 3.2.1 (Feb 18, 2016)

  • Highlights:
  • Fixed error where during a regular shutdown of a replica set, secondaries may mark certain replicated but yet to be applied operations as successfully applied: SERVER-21868.
  • Improve insert workload performance with WiredTiger on Windows: SERVER-20262.
  • Fixed long-running transactions during chunk moves: SERVER-21366
  • Fixed issues:
  • Task TOOLS-1025: Update tests to conform to ReplSetTest changes
  • Task TOOLS-1021: Change mongo-tools evergreen config to use MongoDB 3.2 for master branch tests
  • Bug TOOLS-1013: stat_discover.js test is flaky (again)
  • Bug TOOLS-1002: oplog_rollover test is flaky
  • Bug TOOLS-982: Missing "from" text in mongorestore status message
  • Improvement TOOLS-954: Add bypassDocumentValidation option to mongorestore and mongoimport
  • Bug TOOLS-944: write concern mongos tests are flaky
  • Task SERVER-22009: Turn on regression tracking for DSI tests on 3.2
  • Task SERVER-22008: Turn on regression tracking for performance projects on 3.2
  • Bug SERVER-21999: sys-perf: fix issue with EVG log file name
  • Bug SERVER-21996: Increase stability of autodiscover_config_rs_from_secondary.js test
  • Bug SERVER-21971: Not possible to elect a primary if non-voting member is ahead (PV0)
  • Bug SERVER-21961: Get rid of the annoying error message in post-step for perf.yml & system_perf.yml
  • Bug SERVER-21955: CleanEveryN hook isn't compatible with MasterSlaveFixture
  • Improvement SERVER-21950: Run concurrency suite on compile variants for DEBUG builds
  • Bug SERVER-21930: Restart oplog query if oplog entries are not monotonically increasing
  • Bug SERVER-21923: ReplSetTest.awaitSecondaryNodes does not propagate supplied timeout
  • Bug SERVER-21920: Use enhanced WiredTiger next_random cursors for oplog stones
  • Bug SERVER-21901: CheckReplDBHash checks the wrong node when dumping docs from missing collections
  • Task SERVER-21893: JS tests that use dbHash incorrectly check number of collections
  • Bug SERVER-21891: perf.yml dependency check misconfigured for misc-wt-mmap-repl-comp
  • New Feature SERVER-21890: Create a flag to allow server realm to be specified explicitly on Windows
  • Bug SERVER-21885: capped_truncate.js cannot be run with --repeat
  • Improvement SERVER-21872: WiredTiger changes for 3.2.1
  • Bug SERVER-21871: Do not run min_optime_recovery.js on ephemeralForTest storageEngine
  • Bug SERVER-21870: Missing space in error message
  • Bug SERVER-21868: Shutdown may not be handled correctly on secondary nodes
  • Bug SERVER-21867: WiredTiger oplog cursor can return repeated segments
  • Bug SERVER-21864: streamline artifact signing procedure to support coherent release process
  • Bug SERVER-21852: kill_cursors.js fails in small_oplog* configurations
  • Bug SERVER-21849: Fix timestamp compare in min_optime_recovery.js
  • Bug SERVER-21848: bulk write operations on config/admin triggers invariant failure
  • Improvement SERVER-21847: log range of operations read from sync source during replication
  • Bug SERVER-21835: Prevent CappedPositionLost workload failures with indexed_insert_base_capped.js
  • Task SERVER-21824: Disable kmip.js test in ESE suite; re-enable once fixed
  • Bug SERVER-21796: fix startup_log.js test to handle git describe versioning
  • Bug SERVER-21795: Do not reschedule more than one liveness timeout callback at a time
  • New Feature SERVER-21793: create v3.2 branch and update evergreen configuration
  • Bug SERVER-21792: Performance regression with directio enabled on Windows with WiredTiger
  • Task SERVER-21786: Fix code coverage gaps in s/query directory exposed by code coverage tool
  • Bug SERVER-21781: Nightly packages are in the wrong repo directories
  • Bug SERVER-21772: findAndModify not captured by Profiler
  • Task SERVER-21768: Remove the 'numCollections' field from dbHash's response
  • Task SERVER-21763: Track "compare" task for performance results as regular regression tasks.
  • Bug SERVER-21752: slow2_wt fails by exhausting host machine's memory
  • Bug SERVER-21750: getMore command does not set "nreturned" operation counter
  • Task SERVER-21737: remove deprecated release process configuration from master branch evergreen configuration
  • Task SERVER-21725: Enable the analysis script move
  • Bug SERVER-21724: Backup role can't read system.profile
  • Improvement SERVER-21719: Add initiateTimeout rsOption for ShardingTest
  • Improvement SERVER-21714: Increase replSetTest.initiate() timeout for FSM tests
  • Bug SERVER-21706: Certain parameters to mapReduce trigger segmentation fault in a sharded cluster
  • Bug SERVER-21704: JS Test single_node_config_server_smoke has race condition
  • Bug SERVER-21667: do not set lastop on clients used by replication on secondaries
  • Task SERVER-21665: Suppress tar output in jstestfuzz tasks
  • Task SERVER-21638: Audit and improve logging in new find/getMore commands code
  • Task SERVER-21637: Add mixed version tests for find/getMore commands
  • Task SERVER-21602: Reduce execution time of cursor_timeout.js
  • Task SERVER-21600: Increase test coverage for killCursors command and OP_KILLCURSORS
  • Task SERVER-21586: Investigate v3.0 mongos and v3.2 cluster compatibility issues in jstests/sharding
  • Bug SERVER-21545: collMod and invalid parameter triggers fassert on dropCollection on mmapv1
  • Bug SERVER-21536: Invariant failure in executor/connection_pool.cpp
  • Task SERVER-21516: Remove dbStats command from readConcern testing override
  • Task SERVER-21500: Include the name of the FSM workload in the WorkloadFailure description
  • Improvement SERVER-21450: Modify MongoRunner to add enableMajorityReadConcern flag based on jsTestOptions
  • Improvement SERVER-21426: Add writeConcern support to benchRun
  • Improvement SERVER-21384: Expand testing for in memory storage engines
  • Improvement SERVER-21248: jstests for fast-failover correctness
  • Task SERVER-21214: Dump config server data when the sharded concurrency suites fail
  • Task SERVER-21164: Change assert to throw in rslib.js's wait loop
  • Task SERVER-21139: Add more basic tests for drop collection
  • Task SERVER-21138: Add more basic tests for dropDatabase
  • Task SERVER-21137: Add more basic tests for movePrimary
  • Task SERVER-21136: Add more basic tests for enableSharding
  • Task SERVER-21135: Add more basic tests for sharded implicit database creation
  • Task SERVER-21134: Add more basic tests for shardCollection
  • Task SERVER-21133: Add more basic test for mergeChunk
  • Task SERVER-21132: Add more basic tests for moveChunk
  • Task SERVER-21076: Write tests to ensure that operations using DBDirectClient handle shard versioning properly
  • Task SERVER-20824: Test for sharding state recovery

New in MongoDB 3.2.0 (Feb 18, 2016)

  • Highlights:
  • New pluggable storage engines optimized for in-memory computing and the most security-sensitive applications
  • Faster business insight with enhanced real-time analytics and search, coupled with seamless connectivity to industry-standard SQL-based BI tools for sophisticated data exploration
  • Simplified data governance with document validation, coupled with GUI-based schema discovery and visualization
  • Improved operational efficiency with enhanced management platforms, continuous uptime across distributed, multi-region deployments, and zero-downtime upgrades

New in MongoDB 3.0.6 (Oct 6, 2015)

  • Improvements to WiredTiger Stability SERVER-19751, SERVER-19673, and SERVER-19573.
  • Fixed issue with the interaction between SSL and Auditing. SERVER-19538.
  • Fixed issue with aggregation $sort on sharded systems SERVER-19464.

New in MongoDB 3.0.5 (Oct 6, 2015)

  • Improvements to WiredTiger for capped collections and replication (SERVER-19178, SERVER-18875 and SERVER-19513).
  • Additional WiredTiger improvements for performance (SERVER-19189) and improvements related to cache and session use (SERVER-18829 SERVER-17836).
  • Performance improvements for longer running queries, particularly $text and $near queries SERVER-18926.

New in MongoDB 3.0.4 (Oct 6, 2015)

  • Fix missed writes with concurrent inserts during chunk migration from shards with WiredTiger primaries: SERVER-18822
  • Resolve write conflicts with multi-update updates with upsert=true with the Wired Tiger Storage engine: SERVER-18213
  • Fix case where secondary reads could block replication: SERVER-18190
  • Improve performance on Windows with WiredTiger and documents larger than 16kb: SERVER-18079
  • Fix issue where WiredTiger data files are not correctly recovered following unexpected system restarts: SERVER-18316

New in MongoDB 3.0.3 (May 23, 2015)

  • Deprecate db.eval() and add warnings: SERVER-17453
  • Fix potential for abrupt termination with the Windows service stop operation: SERVER-17802
  • Fix crash caused by update with a key too large to index on WiredTiger and RocksDB storage engines: SERVER-17882
  • Remove inconsistent support for mapReduce in eval environment: SERVER-17889

New in MongoDB 3.0.2 (May 23, 2015)

  • Fix inefficient query plans for 2d $nearSphere: SERVER-17469
  • Fix problem starting mongod during repair operations with WiredTiger: SERVER-17652 and SERVER-17729
  • Resolved invalid compression stream error with WiredTiger and zlib block compression: SERVER-17713
  • Fix memory use issue for inserts into large indexed arrays: SERVER-17616

New in MongoDB 3.0.1 (Mar 18, 2015)

  • Fixed race condition in WiredTiger between inserts and checkpoints that could result in lost records: SERVER-17506.
  • Resolved issue in WiredTiger’s capped collections implementing that caused a server crash: SERVER-17345.
  • Fixed issue is initial sync with duplicate _id entries: SERVER-17487.
  • Fixed deadlock condition in MMAPv1 between the journal lock and the oplog collection lock: SERVER-17416.

New in MongoDB 3.0.0 (Mar 10, 2015)

  • Key features include support for the WiredTiger storage engine, pluggable storage engine API, SCRAM-SHA-1 authentication mechanism, and improved explain functionality.
  • MongoDB Ops Manager, which includes Automation, Backup, and Monitoring, is now also available. See the Ops Manager documentation and the Ops Manager release notes for more information.
  • Major Changes:
  • Pluggable Storage Engine API - MongoDB 3.0 introduces a pluggable storage engine API that allows third parties to develop storage engines for MongoDB.
  • WiredTiger - MongoDB 3.0 introduces support for the WiredTiger storage engine. With the support for WiredTiger, MongoDB now supports two storage engines:
  • MMAPv1, the storage engine available in previous versions of MongoDB and the default storage engine for MongoDB 3.0, and
  • WiredTiger, available only in the 64-bit versions of MongoDB 3.0.
  • WiredTiger Usage:
  • WiredTiger is an alternate to the default MMAPv1 storage engine. WiredTiger supports all MongoDB features, including operations that report on server, database, and collection statistics. Switching to WiredTiger, however, requires a change to the on-disk storage format. For instructions on changing the storage engine to WiredTiger, see the appropriate sections in the Upgrade MongoDB to 3.0 documentation.
  • MongoDB 3.0 replica sets and sharded clusters can have members with different storage engines; however, performance can vary according to workload. For details, see the appropriate sections in the Upgrade MongoDB to 3.0 documentation.
  • The WiredTiger storage engine requires the latest official MongoDB drivers. For more information, see WiredTiger and Driver Version Compatibility.
  • WiredTiger Configuration:
  • To configure the behavior and properties of the WiredTiger storage engine, see storage.wiredTiger configuration options. You can set WiredTiger options on the command line.
  • WiredTiger Concurrency and Compression:
  • The 3.0 WiredTiger storage engine provides document-level locking and compression.
  • By default, WiredTiger compresses collection data using the snappy compression library. WiredTiger uses prefix compression on all indexes by default.
  • MMAPv1 Improvements:
  • MMAPv1 Concurrency Improvement - In version 3.0, the MMAPv1 storage engine adds support for collection-level locking.
  • MMAPv1 Configuration Changes - To support multiple storage engines, some configuration settings for MMAPv1 have changed. See Configuration File Options Changes.
  • MMAPv1 Record Allocation Behavior Changes - MongoDB 3.0 no longer implements dynamic record allocation and deprecates paddingFactor. The default allocation strategy for collections in instances that use MMAPv1 is power of 2 allocation, which has been improved to better handle large document sizes. In 3.0, the usePowerOf2Sizes flag is ignored, so the power of 2 strategy is used for all collections that do not have noPadding flag set.
  • For collections with workloads that consist only of inserts or in-place updates (such as incrementing counters), you can disable the power of 2 strategy. To disable the power of 2 strategy for a collection, use the collMod command with the noPadding flag or the db.createCollection() method with the noPadding option.
  • Warning:
  • Do not set noPadding if the workload includes removes or any updates that may cause documents to grow. For more information, see No Padding Allocation Strategy.
  • When low on disk space, MongoDB 3.0 no longer errors on all writes but only when the required disk allocation fails. As such, MongoDB now allows in-place updates and removes when low on disk space.
  • Replica Sets:
  • Increased Number of Replica Set Members - In MongoDB 3.0, replica sets can have up to 50 members. [1] The following drivers support the larger replica sets:
  • C# (.NET) Driver 1.10
  • Java Driver 2.13
  • Python Driver (PyMongo) 3.0+
  • Ruby Driver 2.0+
  • Node.JS Driver 2.0+
  • Because the C, C++, Perl, PHP, and earlier versions of the Ruby, Python, and Node.JS drivers discover and monitor replica set members serially, these drivers are not suitable for use with large replica sets.
  • Pymongo 3.0, the Ruby Driver 2.0, and the Node.JS Driver 2.0 are currently in development.
  • The maximum number of voting members remains at 7.
  • Replica Set Step Down Behavior Changes:
  • The process that a primary member of a replica set uses to step down has the following changes:
  • Before stepping down, replSetStepDown will attempt to terminate long running user operations that would block the primary from stepping down, such as an index build, a write operation or a map-reduce job.
  • To help prevent rollbacks, the replSetStepDown will wait for an electable secondary to catch up to the state of the primary before stepping down. Previously, a primary would wait for a secondary to catch up to within 10 seconds of the primary (i.e. a secondary with a replication lag of 10 seconds or less) before stepping down.
  • replSetStepDown now allows users to specify a secondaryCatchUpPeriodSecs parameter to specify how long the primary should wait for a secondary to catch up before stepping down.
  • Other Replica Set Operational Changes:
  • Initial sync builds indexes more efficiently for each collection and applies oplog entries in batches using threads.
  • Definition of w: “majority” write concern changed to mean majority of voting nodes.
  • Stronger restrictions on Replica Set Configuration. For details, see Replica Set Configuration Validation.
  • For pre-existing collections on secondary members, MongoDB 3.0 no longer automatically builds missing _id indexes.
  • Sharded Clusters:
  • MongoDB 3.0 provides the following enhancements to sharded clusters:
  • Adds a new sh.removeTagRange() helper to improve management of sharded collections with tags. The new sh.removeTagRange() method acts as a complement to sh.addTagRange().
  • Provides a more predictable read preference behavior. mongos instances no longer pin connections to members of replica sets when performing read operations. Instead, mongos reevaluates read preferences for every operation to provide a more predictable read preference behavior when read preferences change.
  • Provides a new writeConcern setting to configure the write concern of chunk migration operations. You can configure the writeConcern setting for the balancer as well as for moveChunk and cleanupOrphaned commands.
  • Improves visibility of balancer operations. sh.status() includes information about the state of the balancer. See sh.status() for details.
  • Security Improvements:
  • MongoDB 3.0 includes the following security enhancements:
  • Adds a new SCRAM-SHA-1 challenge-response user authentication mechanism.
  • Increases restrictions when using the Localhost Exception to access MongoDB. For details, see Localhost Exception Changed.
  • Security Changes:
  • Improvements:
  • New Query Introspection System - MongoDB 3.0 includes a new query introspection system that provides an improved output format and a finer-grained introspection into both query plan and query execution.
  • For details, see the new db.collection.explain() method and the new explain command as well as the updated cursor.explain() method.
  • For information on the format of the new output, see Explain Results.
  • Enhanced Logging - To improve usability of the log messages for diagnosis, MongoDB categorizes some log messages under specific components, or operations, and provides the ability to set the verbosity level for these components. For information, see Log Messages.
  • MongoDB Tools Enhancements - All MongoDB tools are now written in Go and maintained as a separate project.
  • New options for parallelized mongodump and mongorestore. You can control the number of collections that mongorestore will restore at a time with the --numParallelCollections option.
  • New options -excludeCollection and --excludeCollectionsWithPrefix for mongodump to exclude collections.
  • mongorestore can now accept BSON data input from standard input in addition to reading BSON data from file.
  • mongostat and mongotop can now return output in JSON format with the --json option.
  • Added configurable write concern to mongoimport, mongorestore, and mongofiles. Use the --writeConcern option.
  • mongofiles now allows you to configure the GridFS prefix with the --prefix option so that you can use custom namespaces and store multiple GridFS namespaces in a single database.
  • MongoDB Tools Changes:
  • Indexes - Background index builds will no longer automatically interrupt if dropDatabase, drop, dropIndexes operations occur for the database or collection affected by the index builds. The dropDatabase, drop, and dropIndexes commands will still fail with the error message a background operation is currently running, as in 2.6.
  • If you specify multiple indexes to the createIndexes command, the command only scans the collection once, and if at least one index is to be built in the foreground, the operation will build all the specified indexes in the foreground.
  • For sharded collections, indexes can now cover queries that execute against the mongos if the index includes the shard key.
  • Indexes in Compatibility Changes in MongoDB 3.0:
  • Query Enhancements - MongoDB 3.0 includes the following query enhancements:
  • For geospatial queries, adds support for “big” polygons for $geoIntersects and $geoWithin queries. “Big” polygons are single-ringed GeoJSON polygons with areas greater than that of a single hemisphere. See $geometry, $geoIntersects, and $geoWithin for details.
  • For aggregate(), adds a new $dateToString operator to facilitate converting a date to a formatted string.
  • Adds the $eq query operator to query for equality conditions.
  • 2d Indexes and Geospatial Near Queries:
  • Distributions - Most non-Enterprise MongoDB distributions now include support for SSL. Previously, only MongoDB Enterprise distributions came with SSL support included; for non-Enterprise distributions, you had to build MongoDB locally with the --ssl flag (i.e. scons --ssl).
  • MongoDB Enterprise Features:
  • Auditing - Auditing in MongoDB Enterprise can filter on any field in the audit message, including the fields returned in the param document. This enhancement, along with the auditAuthorizationSuccess parameter, enables auditing to filter on CRUD operations. However, enabling auditAuthorizationSuccess to audit of all authorization successes degrades performance more than auditing only the authorization failures.

New in MongoDB 3.0.0 RC 6 (Jan 24, 2015)

  • Bug SERVER-16959: Collection::updateDocument() issues an INVALIDATION_MUTATION after performing an in-place update (MMAP v1)
  • New Feature SERVER-16873: Need to call commitAndRestart before stashing RUs for getMore
  • Bug SERVER-15691: acquiring balancer lock may fail and get stuck with concurrent write traffic
  • Bug SERVER-16738: WiredTiger deadlock opening multiple cursors in parallel
  • Bug SERVER-16763: mongod terminate due to mongo::DBTryLockTimeoutException during longevity test with wiredTiger
  • Bug SERVER-16867: Server crashed during iiBench run using WiredTiger engine
  • Bug SERVER-16908: Performance Regression in Foreground Index Builds with MMAPv1
  • Bug SERVER-16750: Document never matching query predicate incorrectly returned by query if concurrently updated (WiredTiger)
  • Bug SERVER-16574: Do not call Explain::getPlanSummary on every insert/update, or eliminate its allocating behavior
  • Bug SERVER-16882: Enable debug wiredtiger flags in debug mongodb build
  • Bug SERVER-16807: Update on invalid loc fails in concurrent circumstances
  • Bug SERVER-15802: Query optimizer should always use equality predicate over unique index when possible
  • Improvement SERVER-16604: Improve integration with rocks
  • Bug SERVER-16837: Migrations should time out after 10 hrs waiting for replication
  • Bug SERVER-16065: Long flush pauses in MMAPv1
  • Bug SERVER-16922: Slow index build times on secondaries with Wired Tiger
  • Bug SERVER-16864: ttl_repl_secondary_disabled.js
  • Bug SERVER-16870: Suppress indexDetails from sharded collstats in shell
  • Bug SERVER-16907: pause repl6.js between restarts
  • Bug SERVER-16904: replsets/auth1.js auth error
  • Bug SERVER-16172: mongod --repair terminates before repair is attempted under WiredTiger
  • New Feature SERVER-16663: options requested in top-level SConstruct to support non-default libraries and includes
  • Bug SERVER-16797: Remove support for touch command for WiredTiger
  • Bug SERVER-15876: Add Collection level lock checks to appropriate entry points to storage engine
  • Sub-task SERVER-16658: SERVER-14707 C++ driver (server fork) methods getIndexSpecs()/getCollectionInfos() should iterate returned command cursor
  • Bug SERVER-13863: JS engines shouldn't be linked in to mongos or tools
  • Bug SERVER-17030: handle WCE in index builds
  • Bug SERVER-16822: Map reduce doesn't use scoped transaction which results in deadlock at eviction
  • Bug SERVER-16795: Recovery Unit invariant tripped when calling getMore through DBDirectClient
  • Bug SERVER-16886: Segmentation fault when loading data into WiredTiger.
  • Bug SERVER-16930: remove unnecessary fatal assertion when building multiple indexes concurrently via system.indexes writes
  • Bug SERVER-16749: Unhandled DBException in TTLMonitor terminates server
  • Bug SERVER-16880: Timer overflows at approximately 9223 seconds
  • Bug SERVER-16946: "it" not working in the javascript shell when getting next cursor batch
  • Bug SERVER-16278: Race between shutdown and fsync flush with WiredTiger
  • Bug SERVER-16970: WiredTiger index prefix compression configuration is not applied to creationString
  • New Feature SERVER-16957: Permit specification of boost library suffix search preference
  • Bug SERVER-14707: listCollections and listIndexes commands should return a cursor
  • Improvement SERVER-16943: Add test for compatibility of replset background index and renameCollection
  • Improvement SERVER-16708: Adjust Value::compare() to reflect changes to BSON::woCompare()
  • Bug SERVER-16717: unexpected WriteConflict exceptions with WiredTiger b-tree
  • Bug SERVER-16664: Segmentation fault on insert operation with Tiger engine / zlib compressor
  • Sub-task SERVER-16659: SERVER-14707 Cleanup pass for CursorManager/getMore()/listCollections/listIndexes
  • Bug SERVER-16954: Removing objects from under a geo $near query causes invalid memory access
  • Improvement SERVER-16887: PlanExecutor::_root should have type scoped_ptr
  • Bug SERVER-16337: WriteBatchExecutor's WriteConflictException not caught
  • Task SERVER-16786: oplog can go back in time after rollback/startup, when node clocks are not in sync (mms-qa)
  • Bug SERVER-16948: printSlaveReplicationInfo() appears broken in master
  • Bug SERVER-16697: MongoDb terminate when WT fault STATUS_STACK_OVERFLOW
  • Bug SERVER-16916: RecordId might be inserted more than once with unique index and dupsAllowed == true
  • Bug SERVER-16913: Return connections to pool on mongos when checking config servers up locally
  • Bug SERVER-15744: RocksDB storage engine does not pass all tests
  • Bug SERVER-16961: incrementally cleanup connections in mongos_rs_shard_failure_tolerance.js
  • Bug SERVER-16865: created checked_cast and use in hot spots
  • Bug SERVER-16925: Invariant fires during shutdown on secondary node (WiredTiger)
  • Bug SERVER-16688: DurableImpl::commitAndStopDurThread must wait for the durability thread to exit
  • Improvement SERVER-16782: Modify collection stats helper to optionally suppress index details
  • Improvement SERVER-16437: Simple index scans should work like CountScan
  • Bug SERVER-16994: Handle WriteConflictException when writing oplog on secondaries
  • Bug SERVER-17005: skip clearing tmp collection if it fails with WriteConflictException
  • Task SERVER-16878: Increased information to help debug stepdown.js test failure
  • Bug SERVER-16514: Consistently getting "exception: collection's metadata is undergoing changes" during a drop
  • Bug SERVER-15322: mongosniff erroneously displays the same string for source and destination IP addresses
  • Bug SERVER-16773: Performance degradation due to TCMalloc scalability
  • Bug SERVER-16092: Modifications to admin.system.users and admin.system.roles collections must be serialized
  • Bug SERVER-16901: upgrade_to_ssl_nossl.js
  • Improvement SERVER-16982: Optimize WiredTiger index cursor's pointsToSamePlaceAs() implementation
  • Bug SERVER-16607: Dropping collection during active aggregation operation can crash server
  • Task SERVER-15614: Implement locking statistics in db.currentOp and db.serverStatus
  • Bug SERVER-16881: Pause due to sudden 4GB increase in cached bytes under WiredTiger
  • Bug SERVER-16923: Profiler collection not created when using --profile
  • Improvement SERVER-17002: Improve AuthenticationFailure log message for mechanism mismatch
  • Bug SERVER-16672: Disallow NUL bytes in index names
  • Bug SERVER-17003: Check command status for WriteConflictException on secondaries and retry
  • Bug SERVER-16919: Oplog can grow much larger than configured size under WiredTiger
  • Bug SERVER-16655: Geo predicate is unable to use compound 2dsphere index if it is root of $or clause
  • Improvement SERVER-13256: Remove pch.h
  • Bug SERVER-16874: Need to reset ElapsedTracker after getMore
  • Bug SERVER-16676: Compact with WiredTiger does not rebuild indexes
  • Improvement SERVER-16643: extend existing THP warning to THP defrag setting
  • Bug SERVER-16461: Setting socket timeouts less than 1.0 seconds leads to setting no socket timeout on Windows
  • Bug SERVER-16747: KeyString should overflow to heap
  • Bug SERVER-16902: Possible memory leak in WT b-tree with zlib block compressor
  • Bug SERVER-16818: Add socket timeout to isSelf replication check
  • Improvement SERVER-16243: Suppress mmapv1 specific stats from db.serverStatus()
  • Bug SERVER-16906: storage engines without directoryperdb support should fail to start up with --directoryperdb
  • Bug SERVER-16639: Server restart with WiredTiger on full disk causes a segfault
  • Bug SERVER-16863: auth_no_pri.js
  • Bug SERVER-16793: when running db.getSlaveReplicationInfo() on secondary it treats "self" as "master"
  • Improvement SERVER-16875: Add disk jstests for directoryperdb with wiredtiger
  • Bug SERVER-16806: After 1 hour timeout, rangeDeleter incorrectly reports "timed out after 0 seconds"
  • Bug SERVER-16830: hint by index name breaks with explain()
  • Task SERVER-16850: Remove support for touch command for RocksDB
  • Bug SERVER-16601: findAndModify should report that remove and update options conflict
  • Bug SERVER-16988: db.listCommands has a bug
  • Improvement SERVER-16811: Only register wiredTiger factory once
  • Bug SERVER-16754: Confusing severity values when mongo shell start fails
  • Bug SERVER-16839: collStats command in mongos needs to be updated for new fields
  • Bug SERVER-16848: Shell's db.collection.totalSize() returns NAN on latest
  • Improvement SERVER-5399: Add "quit" as a synonym for "exit" in mongo command shell
  • Bug SERVER-17016: db.collection.createIndex() crashes with dev null storage engine

New in MongoDB 2.8.0 RC 5 (Jan 16, 2015)

  • Closed issues:
  • Bug SERVER-16733: mongos does not fail when different configdb string is used
  • Sub-task SERVER-16657: SERVER-14707 Implement authorization check for getMore/killCursors on cursors owned by global cursor manager
  • Bug SERVER-16817: --repair fails if there are multiple collections with outdated WT index versions
  • Bug SERVER-15539: Invariant failure keyOffset >= 0 during 16 thread write command remove operation
  • Bug SERVER-16775: Steady decline in performance in capped collections under wiredTiger
  • Bug SERVER-16351: Erroneous document returned in query (wt) (mms-dev)
  • Improvement SERVER-16632: Change WiredTiger index key format to no longer use BSON
  • Bug SERVER-16651: Mass deletions and updates (including TTL) completely starve insertions in replica set under WiredTiger
  • Bug SERVER-16694: Secondary hangs during shutdownServer()
  • Bug SERVER-16798: KeyString needs to support NUL bytes in Strings
  • Bug SERVER-3304: Change comparison order so all Dates sort before all Timestamps
  • Improvement SERVER-16567: extend data directory metadata to hold storage engine creation settings for startup validation
  • Bug SERVER-16274: secondary fasserts trying to replicate an index
  • Bug SERVER-14992: Query for Windows 7 File Allocation Fix, and other hotfixes
  • Task SERVER-16100: Clean up packaging scripts, remove hardcoded version from rpm spec files
  • Bug SERVER-16760: Coverity analysis defect 49690: Resource leak
  • Improvement SERVER-16030: Update sizeStorer data when collection validate is called
  • Bug SERVER-16767: Add cursor metrics to serverStatus in mongos
  • Bug SERVER-16415: mmapv1 replica multi collection insert is 70% slower vs no replication
  • Bug SERVER-16734: Remove storage.mmapv1.syncPeriodSecs and storage.wiredTiger.engineConfig.checkpointDelaySecs; use storage.syncPeriodSecs for both.
  • Bug SERVER-16706: Prevent_logOpRS from pushing primary's last optime back in time in doc-locking storage engines
  • Bug SERVER-3719: woCompare does not provide a total order over doubles and longs.
  • Bug SERVER-16660: sharding_system_namespaces.js incorrectly assumes that mongod supports wiredTiger
  • Bug SERVER-16707: WiredTiger cappedDeleteAsNeeded invariant failure
  • Bug SERVER-16673: fassert when multi-index build fails with WiredTiger
  • Bug SERVER-16724: Startup time under WiredTiger is extremely slow and gets worse as database grows
  • Bug SERVER-16675: getMore looks up doc with invalid RecordId, fails with "Didn't find RecordId in WiredTigerRecordStore"
  • Improvement SERVER-16742: KEEP_MUTATIONS stage is not needed for storage engines supporting doc-level locking
  • Sub-task SERVER-12833: SERVER-16100 Implement packaging for RC's and nightlies
  • Task SERVER-16764: Clean up replication code
  • Bug SERVER-16568: support "none" as a valid compressor option in WiredTiger
  • Bug SERVER-16687: MoveFile WiredTiger.turtle.set to WiredTiger.turtle: Broken pipe
  • Bug SERVER-16794: Invariant failure: WT_NOTFOUND error with concurrent removes and updates
  • Bug SERVER-16711: Do not create empty database while checking for collections
  • Bug SERVER-16106: Event Viewer (system) error when pressing power button on machine
  • Bug SERVER-16635: make sharding/mongos_no_replica_set_refresh.js test agnostic to who is elected primary
  • Bug SERVER-16753: Wrong component for commands
  • Bug SERVER-16692: Switching journalling off and on with WT not safe
  • Improvement SERVER-16602: Review WiredTiger default settings for engine and collections
  • Bug SERVER-16671: logging write conflicts at log level 0 is too aggressive
  • Improvement SERVER-16772: Eliminate redundant work in the update path
  • Improvement SERVER-15259: exitCleanly should not be called in error cases
  • New Feature SERVER-16744: Targeted community build packages and repo
  • Bug SERVER-16677: mongod.lock file should be present in data directory regardless of storage engine selected
  • Bug SERVER-16714: serverStatus command with oplog argument to config server returns error
  • Bug SERVER-16755: Global severity seems to overwrite component severity in some cases
  • Bug SERVER-16591: Deadlock due to KVDatabaseCatalogEntry doing blocking transactional operations under the _collectionsLock
  • Sub-task SERVER-12160: SERVER-16100 Allow packager.py and packager-enterprise.py to use arbitrary gitspecs instead of release tags
  • Bug SERVER-16615: Long database names will crash server during repair on mmapv1 when using directoryperdb
  • Bug SERVER-16667: Isolated writes with extreme latencies in replica set under WiredTiger
  • Bug SERVER-16260: Some commands no longer accept values of the Symbol BSON type
  • Bug SERVER-7804: compareElementValues for CodeWScope is broken
  • Improvement SERVER-16061: Remove support for "text" command
  • Improvement SERVER-16780: Missing auth test of cleanupOrphaned
  • Bug SERVER-16761: Coverity analysis defect 49668: PW.USELESS_TYPE_QUALIFIER_ON_RETURN_TYPE
  • Task SERVER-15541: Re-enable yielding
  • Bug SERVER-16748: consecutive replSetReconfig calls can trigger an invariant failure
  • Bug SERVER-16600: Windows: net stop service does not do clean shutdown
  • Bug SERVER-16684: Coverity analysis defect 49093: Unchecked dynamic_cast
  • Bug SERVER-16614: Windows: should allow users to install 2.6 and 2.8 enterprise versions
  • Improvement SERVER-16572: Add counter for calls to sched_yield in WiredTiger
  • Improvement SERVER-16683: Decrease mongos memory footprint when shards have several tags
  • Improvement SERVER-16580: Remove deprecated system collection references in JS tests
  • Bug SERVER-16623: Cannot allocate memory (wiredtiger) (mms-dev)
  • Bug SERVER-16502: CollectionInfoCache being written without exclusive lock
  • Bug SERVER-16834: Secondary nodes can hang during shutdown if BGSync::_buffer is full
  • Improvement SERVER-16777: Capped collection truncation behavior across storage engines is inconsistent
  • Improvement SERVER-16829: Expose tcmalloc runtime configuration options through setParameter mechanism
  • Task SERVER-16640: Long running queries on the secondary with WT
  • Bug SERVER-16517: Secondary on 2.8.0rc2 cannot keep up (insert-heavy, mmapv1) (mms-prod-queues)
  • Improvement SERVER-16483: Display collection name for the "Collection dropped or state deleted during yield of CollectionScan" warning
  • Bug SERVER-16716: Removing host string arg length limitation for mongo shell
  • Bug SERVER-16005: Inelegant abend when cannot bind() TCP 27017 at startup
  • Bug SERVER-16757: Incorrect query report for $explain
  • Bug SERVER-16649: mongos_rs_auth_shard_failure_tolerance.js should wait for writes to be replicated before shutting down the primary
  • Bug SERVER-16661: GlobalCursorIdCache leaks a SecureRandom
  • Bug SERVER-16705: leak in PortMessageServer::acceptMP
  • Bug SERVER-16740: Log contents instead of pointer address in shardCollection failure
  • Bug SERVER-16577: 2.8 doesn't have a field to report if query cache plan filters are used in explain
  • Task SERVER-16695: Move FSM tests into new test suites
  • Bug SERVER-16720: Init script in Red Hat fails if using YAML inline syntax
  • Bug SERVER-16723: display active commands in server status only when command metrics are available.
  • Improvement SERVER-16565: FsyncLock on WT should not imply "snapshotting" is OK
  • Improvement SERVER-16784: only enable the minimum necessary Scons tools
  • Bug SERVER-16721: Allow init script PIDFILEPATH to be configured via sysconfig
  • Bug SERVER-16275: MMAPv1 does not report when capped is false in colstats
  • Improvement SERVER-16682: remove duplicate sys/socket.h include from mongo/util/net/sock.h
  • Task SERVER-16778: Remove output to cerr in PlanRankingWorkPlansLongEnough

New in MongoDB 2.8.0 RC 4 (Dec 27, 2014)

  • Closed issues:
  • SERVER-16432: Chunk migration data structures not properly synchronized with storage engines that offer document-level locking
  • SERVER-16617: Performance regression has been introduced by f59a05c611d66a03c1fb8579b54569bfc2971374
  • SERVER-16237: Don't check the shard version if the primary server is down
  • SERVER-16624: Batch insert triggers deadlock-detection fassert
  • SERVER-16546: Mongod memory grows until killed with wiredTiger repl set with small oplog
  • SERVER-15798: Helpers::removeRange does not check if node is primary
  • SERVER-16179: lock manager timeout w/ stack trace
  • SERVER-16196: Add FSM-based concurrency tests to parallel suite
  • SERVER-16245: Expose index statistics for WiredTiger
  • SERVER-16392: ShardInfo should stop using mapped to get size estimate
  • SERVER-16390: Text stage fetches document twice if phrase or negation filter present
  • SERVER-16129: cloneCollection does not yield
  • SERVER-16406: New tests for big polygon
  • SERVER-16367: Add versioning info to WiredTiger
  • SERVER-16520: SERVER-14707 Allow creation of ClientCursor objects that are managed by a global registry
  • SERVER-14306: mongos can cause the in-memory sort limit to be hit on shards by requesting more results than needed
  • SERVER-16562: Extremely slow shutdown for WiredTiger (non-LSM)
  • SERVER-16534: SCRAM-SHA-1 auth mechanism should be allowed for __system@local user even if SCRAM-SHA-1 is not configured as an authMechanism
  • SERVER-16498: d_migrate.cpp should not rely on system.namespaces
  • SERVER-16633: Add timer to geo near stage to track execution time
  • SERVER-16457: WT verify and salvage operations failing with EBUSY
  • SERVER-16111: Store & display catalog creation metadata for WiredTiger collections & indexes
  • SERVER-16200: Profile and tune mmapv1 performance
  • SERVER-16523: SERVER-14707 listIndexes should leave a ClientCursor open if multiple batches needed
  • SERVER-16522: SERVER-14707 listCollections should leave a ClientCursor open if multiple batches needed
  • SERVER-16606: remove index blockCompressor and collection prefixCompression options
  • SERVER-16603: Fix rocks build
  • SERVER-16608: collStats scale argument does not apply to maxSize
  • SERVER-16081: init.d mongod startup script fails, with dirname message
  • SERVER-16197: "scons install" broken since tools rewrite
  • SERVER-16586: mongoperf crashes writing with MMF and syncDelay is other that 0-never
  • SERVER-16613: indexbg_restart_secondary.js

New in MongoDB 2.6.6 (Dec 10, 2014)

  • Fixed: Evaluating candidate query plans with concurrent writes on same collection may crash mongod SERVER-15580
  • Fixed: 2.6 mongod crashes with segfault when added to a 2.8 replica set with 12 or more members SERVER-16107
  • Fixed: $regex, $in and $sort with index returns too many results SERVER-15696
  • Change: moveChunk will fail if there is data on the target shard and an required index does not exist. SERVER-12472
  • Primary should abort if encountered problems writing to the oplog SERVER-12058
  • Closed issues:
  • SERVER-16324: Command execution log line displays "query not recording (too large)" instead of abbreviated command object
  • SERVER-16316: Remove unsupported behavior in shard3.js
  • SERVER-16291: Cannot set/list/clear index filters on the secondary
  • SERVER-16283: Can't start new wiredtiger node with log file or config file in data directory - false detection of old mmapv1 files
  • SERVER-16107: 2.6 mongod crashes with segfault when added to a 2.8 replica set with >= 12 nodes.
  • SERVER-16017: Suse11 enterprise packages fail due to unmet dependencies
  • SERVER-15994: listIndexes and listCollections can be run on secondaries without slaveOk bit
  • SERVER-15986: Starting with different storage engines in the same dbpath should error/warn
  • SERVER-15958: The "isMultiKey" value is not correct in the output of aggregation explain plan
  • SERVER-15899: Querying against path in document containing long array of subdocuments with nested arrays causes stack overflow
  • SERVER-15849: do not forward replication progress for nodes that are no longer part of a replica set
  • SERVER-15696: $regex, $in and $sort with index returns too many results
  • SERVER-15673: Disable SSLv3 ciphers
  • SERVER-15639: Text queries can return incorrect results and leak memory when multiple predicates given on same text index prefix field
  • SERVER-15632: MultiHostQueryOp::PendingQueryContext::doBlockingQuery can leak a cursor object
  • SERVER-15629: GeoParser::parseMulti{Line|Polygon} does not clear objects owned by out parameter
  • SERVER-15598: Ubuntu 14.04 Enterprise packages depend on unavailable libsnmp15 package
  • SERVER-15580: Evaluating candidate query plans with concurrent writes on same collection may crash mongod
  • SERVER-15552: Errors writing to temporary collections during mapReduce command execution should be operation-fatal
  • SERVER-15528: Distinct queries can scan many index keys without yielding read lock
  • SERVER-15515: New test for mixed version replSet, 2.4 primary, user updates
  • SERVER-15500: New test for system.user operations
  • SERVER-15491: SyncSourceFeedback can crash due to a SocketException in authenticateInternalUser
  • SERVER-15485: CanonicalQuery::canonicalize can leak a LiteParsedQuery
  • SERVER-15403: $min and $max equal errors in 2.6 but not in 2.4
  • SERVER-15318: copydb should not use exhaust flag when used against mongos
  • SERVER-15233: Cannot run planCacheListQueryShapes on a Secondary
  • SERVER-14886: Updates against paths composed with array index notation and positional operator fail with error
  • SERVER-14799: Count with hint doesn't work when hint is a document
  • SERVER-14763: Update jstests/sharding/split_large_key.js
  • SERVER-14728: Shard depends on string comparison of replica set connection string
  • SERVER-14506: special top chunk logic can move max chunk to a shard with incompatible tag
  • SERVER-14299: For sharded limit=N queries with sort, mongos can request >N results from shard
  • SERVER-14287: ensureIndex can abort reIndex and lose indexes
  • SERVER-14249: Add tests for querying oplog via mongodump using --dbpath
  • SERVER-14184: Unused preprocessor macros from s2 conflict on OS X Yosemite
  • SERVER-14080: SERVER-8752 Have migration result reported in the changelog correctly
  • SERVER-14057: Changing TTL expiration time with collMod does not correctly update index definition
  • SERVER-14015: S2 Compilation on GCC 4.9/Solaris fails
  • SERVER-13726: indexbg_drop.js
  • SERVER-13595: Red Hat init.d script error: YAML config file parsing
  • SERVER-13471: Increase log level of "did reduceInMemory" message in map/reduce
  • SERVER-12472: Fail MoveChunk if an index is needed on TO shard and data exists
  • SERVER-12061: Do not silently ignore read errors when syncing a replica set node
  • SERVER-12058: Primary should abort if encountered problems writing to the oplog
  • SERVER-10069: Improve errorcodes.py so it captures multiline messages

New in MongoDB 2.8.0 RC 1 (Nov 25, 2014)

  • Bug: tailable cursor may miss uncommitted documents
  • Bug: Deadlock with the WiredTiger storage engine between ListDatabases and DropCollection
  • Bug: replSetInitiate races with initial sync, resulting in no primary
  • Bug: WT Performance Regression for update of hot document on 2014-11-10 builds
  • Bug: Querying against path in document containing long array of subdocuments with nested arrays causes stack overflow
  • Bug: WriteConflict exception thrown in logOp during update
  • Bug: mongodump --repair not working under WiredTiger
  • Bug: After hitting open file limits - WT goes into a loop at shutdown and needs forced kill
  • Bug: Re-enable rollback_too_new.js with logic that doesn't violate WT oplog assumptions
  • Task: make maxSyncSourceLagSecs.js resilient against incorrect primary being elected
  • Bug: Hang during initial sync of 2.8.0-rc0 (wiredtiger)
  • Bug: Fail initial sync if cloner has index/data errors
  • Bug: Race in initiate causing no primary to be electable
  • Bug: Periodic throughput pauses during write load on WT
  • Bug: MongoD 2.8rc0 terminates with "WiredTigerRecordStore::insertRecord 12: Cannot allocate memory"
  • Bug: Improve namespace construction in commands
  • Improvement: invariant, not dassert on all CollectionMetadata reload codepaths
  • Bug: $explain query against sharded collection with 2.6 shard returns error
  • Bug: 2.8.0-rc0 shell can't auth to a 2.4 server
  • Bug: Input validation on the arguments to createCollection
  • Bug: geo_2d_explain.js is not deterministic
  • Improvement: createCollection shell helper should take noPadding param and warn on usePowerOf2Sizes
  • Improvement: Re-enable test from SERVER-10341
  • Bug: All callbacks invoked by WiredTiger (and other C) storage engines must terminate rather than propagate exceptions
  • Bug: geo_s2ordering.js depends on server performance
  • Bug: Rocks storage engine build break
  • Bug: Missing state change logging for replica set members
  • Improvement: Increase unit test coverage replica_set_config_checks functions
  • Bug: Make sure stepDown command can be interrupted with killop
  • Bug: Stacktrace in logs after creating collection with invalid options
  • Bug: Invariant failure when running explained update
  • Bug: tcmalloc issues with OS X 10.10
  • Task: explain shell helpers should retry using $explain if explain command fails on a mixed version sharded cluster
  • New Feature: Add configure time checks to enforce compiler minima
  • Bug: deadlock at shutdown
  • Bug: Uninitialized value used in SCRAM code
  • Bug: dropDatabase is slow and returns success immediately though it then blocks progress while running
  • Bug: Regex query returns incorrect results when index is present
  • Bug: $in count query with null array does not yield error on empty collection
  • Bug: misleading "closing cursor" message when retrying stale version
  • Improvement: consolidate WriteConflictException retry logging logic
  • Improvement: remove excessive log syncing in WT size storer
  • Bug: Contention on mutex protecting canAcceptWritesForDatabase access with WT
  • Bug: Server aborts when querying specific polygon/linestring intersections
  • Bug: Exponentially back off for write conflict exceptions.
  • Bug: Logically dead code in CachedPlanStage
  • Improvement: Add argument to replSetStepDown to allow users to specify how long to wait for secondaries to catch up
  • Improvement: Add replica set downgrade test.
  • Sub-task: SERVER-1241 Move audit message up and out of MMAPv1 layer
  • Bug: Make it possible to get the return code from startParallelShell
  • Bug: No error message for invalid config in mixed version replset
  • Bug: ResourceId constructors use operator% where they should use operator& for bit masking
  • Sub-task: SERVER-15541 Query stages should clear/set their OperationContext pointer in saveState()/restoreState()
  • Task: Disable getIteratorForRepair in WiredTiger
  • Bug: do not compare pointer addresses in WT Iterator::restoreState()
  • Improvement: Remove extra Timer and std::string in AutoGetCollectionForRead
  • Bug: CanonicalQuery leaks in mr::MapReduceCommand::run(), mr::State::finalReduce(), newRunQuery()
  • Bug: replSetStepDown without force argument will fail if secondaries are behind and there is any write load
  • Improvement: Server should not fassert on invalid wiredtiger config options
  • New Feature: Prevent starting a 2.8 server with 2.4 style users
  • Bug: WT show performance regression comparing to 10/31 build
  • Bug: drop queued WT idents on startup
  • Improvement: Add special WT_CONNECTION::reconfigure command
  • Improvement: reads often aren't possible while in fsync and lock mode
  • Improvement: Detect if JSThread threw JS or C++ exception
  • Sub-task: SERVER-1241 Reenable killall.js after implementing priorities for the shutdown X-lock thread
  • Bug: replication should stop on inShutdown
  • Bug: We need to call commitAndRestart on the active recovery unit before releasing our last lock
  • Sub-task: SERVER-15541 audit re-enabled yielding paths for sharding
  • Improvement: mongo::profile() shouldn't reuse BufBuilder when profile collection created
  • Bug: jsCore in small oplog failing during shutdown in ASAN build
  • Bug: rocks storage engine should deal with nested recovery units correctly
  • Bug: Add currentOpCtx command to the auth test suite
  • Task: unit test new majority write behavior in ReplicationCoordinator
  • Bug: Batched insert command does not yield
  • Improvement: Use WT bulk loader for foreground index builds
  • Bug: Segfault in prefetch worker when replicating an insert that creates a database implicitly
  • Bug: Lock manager should expose methods that separate enqueuing a lock request and waiting for it to be satisfied
  • Bug: Command parameters not redacted for LOG(2)
  • Task: Rename heap1 internal classes and filenames to inMemory
  • Bug: Enable Ulimit warning on Linux
  • Task: Unify implementation and error code usage of checkForInterrupt and checkForInterruptNoAssert
  • Improvement: Remove sharding_balance_randomorder1.js
  • Bug: Do not announce a 'yea' vote when not voting 'yea'
  • Task: Add storage engine config options to smoke.py and jstests
  • Bug: clear oplog before starting initial sync
  • Bug: remove _forceLegacyShardWriteMode from v2.8 mongos
  • Bug: exiting with SIGINT during WT initialization can fassert
  • Task: Remove LegacyReplicationCoordinator and rip out dead code
  • Bug: Shell method DBExplainQuery.count() should return the explain results, not 'this'
  • Task: Change wiredtiger engine name to wiredTiger for consistency
  • Bug: The "isMultiKey" value is not correct in the output of aggregation explain plan
  • Bug: listIndexes and listCollections can be run on secondaries without slaveOk bit
  • Improvement: Suppress non-applicable profiling data when using WT
  • Improvement: invariantOK that takes a status
  • Bug: Updates against paths composed with array index notation and positional operator fail with error
  • Bug: NamespaceString is inconsistently validating collection names
  • Improvement: Remove authenticate messages from --quiet logging
  • Improvement: Expose electionId on primary in isMaster
  • Improvement: Simplify log component names
  • Bug: Repeated "[ReplicationExecutor] could not find member to sync from" in healthy replica set
  • Bug: benchRun should not abort shell when worker threads fail to connect to server
  • Improvement: mongod --version shouldn't print date, severity, log component
  • Bug: no space in between collection and name for drop index errmsg
  • Bug: Windows service: net stop MongoDB gives an error even after stopping the service
  • Bug: Typo in '__system user/no --keyFile' error message

New in MongoDB 2.6.4 (Aug 12, 2014)

  • Fix for text index where under specific circumstances, in-place updates to a text-indexed field may result in incorrect/incomplete results SERVER-14738
  • Check the size of the split point before performing a manual split chunk operation SERVER-14431
  • Ensure read preferences are re-evaluated by drawing secondary connections from a global pool and releasing back to the pool at the end of a query/command SERVER-9788
  • Allow read from secondaries when both audit and authorization are enabled in a sharded cluster SERVER-14710

New in MongoDB 2.7.4 Development (Jul 28, 2014)

  • Bug SERVER-14556: Default dbpath for mongod --configsvr changes in 2.6
  • Bug SERVER-14311: skipping of index keys is not accounted for in plan ranking by the index scan stage
  • Bug SERVER-14431: Invalid chunk data after splitting on a key that's too large to index
  • Bug SERVER-14283: Parameters in installed config file are out of date
  • Bug SERVER-14538: use-after-free in mongo::profile
  • Improvement SERVER-14690: no_chaining.js is flakey
  • Task SERVER-14532: Improve logging in the case of plan ranker ties
  • Bug SERVER-14494: Dropping collection during active background index build on secondary triggers segfault
  • Bug SERVER-14505: cannot dropAllIndexes when index builds in progress assertion failure
  • Bug SERVER-14355: Failed to create capped collection for profiling
  • Bug SERVER-14212: Mongorestore: using --drop drops Admin users & roles
  • Bug SERVER-14024: Update fails when query contains part of a DBRef and results in an insert (upsert:true)
  • Bug SERVER-6687: Valgrind reports "Syscall param write(buf) points to uninitialised byte(s)" on config servers
  • Improvement SERVER-13648: better stats from migration cleanup
  • Bug SERVER-12750: mongos shouldn't accept initial query with "exhaust" flag set
  • Bug SERVER-14625: Query planner can construct incorrect bounds for negations inside $elemMatch
  • Bug SERVER-14607: hash intersection of fetched and non-fetched data can discard data from a result
  • Bug SERVER-14123: explain can create a too-large BSONObj
  • New Feature SERVER-14518: Allow disabling hostname validation for SSL
  • Bug SERVER-14665: Build failure for v2.6 in closeall.js caused by access violation reading _me
  • Bug SERVER-14284: jstests should not leave profiler enabled at test run end
  • Improvement SERVER-9561: Add HOST_ARCH and TARGET_ARCH (and other SCons MS vars) as Variables for MSVC build
  • Bug SERVER-14476: JSTests::invokeLogError log check is still flawed
  • Bug SERVER-14641: replication cannot keep up in zbigMapReduce.js
  • Bug SERVER-14599: Fix error that caused ReplicationExecutor::getWork to busy wait on some platforms
  • Improvement SERVER-14526: Introduce unittest macros that allow inspecting the exception thrown in ASSERT_THROWS.
  • Task SERVER-14587: Allow OIDs to be stored in unordered_maps
  • Improvement SERVER-14586: add toBSON methods to ReplicaSetConfig and MemberConfig classes
  • Bug SERVER-14522: add fassertFailedWithStatus to errorcodes.py
  • Improvement SERVER-14436: Implement new types to represent replica set configuration.
  • Bug SERVER-14581: mongod doesn't compile with cpu-profiler option
  • New Feature SERVER-14416: extend setParameter to accept BSON object
  • Improvement SERVER-14653: Allow streaming into ASSERT_TRUE and ASSERT_FALSE unittest macros
  • Task SERVER-14560: Add cancelHeartbeats
  • Improvement SERVER-14524: decompose jsobj.cpp
  • Improvement SERVER-14656: replSetSyncFrom helpers in topology coordinator
  • Improvement SERVER-14527: MongoDB servers processes should only setLastError when wire writes or write commands fail.
  • Improvement SERVER-12751: BSONBuilderBase is unused in the codebase
  • Sub-task SERVER-10448: Allow stats to be gathered directly from the execution stages
  • Sub-task SERVER-13641: Move killCurrentOp out of threadlocal
  • Improvement SERVER-14499: remove ReplicationStartSynchronizer
  • Improvement SERVER-14592: deinline bson-inl.h
  • Task SERVER-14517: Add doMemberHeartbeat
  • Task SERVER-14503: move hasDatabases from instance.cpp to heartbeat.cpp
  • Bug SERVER-14299: For sharded limit=N queries with sort, mongos can request >N results from shard
  • New Feature SERVER-11118: Add dateToString aggregation operator
  • Bug SERVER-14502: dereference of canonical query before NULL check in getExecutorIDHack()
  • Improvement SERVER-14528: Move HostAndPort::me functionality out of HostAndPort type.
  • Bug SERVER-14671: s2 fails to compile on clang
  • Improvement SERVER-14613: Refactor HeartbeatInfo and health
  • Improvement SERVER-14437: Implement new data structures to represent replica set tag information
  • Bug SERVER-14685: sharding/auth.js test is flaky
  • Improvement SERVER-14417: migrate QLOG to kQuery LogComponent
  • Improvement SERVER-14500: remove the replSet bool
  • Task SERVER-14652: Update tests for localhost exception
  • Task SERVER-14484: remove the replset portion of dbtest
  • Bug SERVER-14549: Race condition can cause replSetUpdatePosition command to be sent with information about nodes that the sync source doesn't yet know about
  • Sub-task SERVER-14624: Implement methods to validate replica set configuration changes
  • Task SERVER-14316: Remove addUser function from the shell
  • Improvement SERVER-14533: Break circular dependence in build system among foundation, network and lasterror libraries.
  • Bug SERVER-9986: Refactor $geoNear searches into new query framework
  • Bug SERVER-14645: Failure in rollback_cmd_unrollbackable.js
  • Bug SERVER-5436: IPv6 address ambiguity in HostPort syntax
  • New Feature SERVER-12512: Add role-based, selective audit logging.
  • Bug SERVER-14554: DBRef JS constructor does not accept $db with --js-engine=v8-3.25
  • New Feature SERVER-14415: log component hierarchy
  • Sub-task SERVER-14407: Get rid of query runners
  • Task SERVER-14420: Get rid of global replSettings object
  • Bug SERVER-11107: By default, mongod should not start with an expired or invalid server certificate
  • Improvement SERVER-6352: Add sh.removeTagRange(ns, min, max, tag)
  • Improvement SERVER-14041: enhance secondaryThrottle parameter
  • Task SERVER-14550: Stop maintaining the local.slaves collection
  • Improvement SERVER-14582: ReplSetTest.waitForIndicator should work with auth on even when primary is down
  • Sub-task SERVER-14591: Implement getLastErrorDefault inside replcoordinator
  • Task SERVER-14395: dur::startup() should only be called when using mmapv1 engine
  • Sub-task SERVER-14458: Add hybrid ReplicationCoordinator to facilitate the transition from the LegacyReplicationCoordinator to the new ReplicationCoordiantorImpl
  • Task SERVER-14559: Add processNewConfig workflow
  • Bug SERVER-13764: debug mechanisms report incorrect nscanned / nscannedObjects for updates
  • Improvement SERVER-14650: Rename ROLE_SOURCE_FIELD_NAME to ROLE_DB_FIELD_NAME
  • Improvement SERVER-14482: Add ability to append RegEx using BSONArrayBuilder
  • Improvement SERVER-4282: clean up log messages
  • Bug SERVER-13177: mongooplog crashes on assertion when it cannot connect to "from" host
  • Bug SERVER-13730: rs.help() link to REST interface is incorrect
  • Task SERVER-14536: Helgrind suppressions for race-prone counters.cpp code
  • Improvement SERVER-5668: Add appendBinData method to BSONArrayBuilder

New in MongoDB 2.7.3 Development (Jul 4, 2014)

  • Equality queries on _id with projection on _id may return orphan documents on sharded collections
  • Equality queries on _id with projection may return no results on sharded collections
  • stepdown during migration range delete can abort mongod
  • SEVERE server crash when $centerSphere has non-positive radian
  • negative opcounter values in serverStatus
  • do not aggressively pre-fetch data for parallelCollectionScan
  • SERVER-14135 replSetReconfig and initial config loading through the LegacyReplicationCoordinator
  • SERVER-14135 Move command processing into the ReplicationCoordinator
  • SERVER-14135 setLastOptime for slave replication tracking in LegacyReplicationCoordinator
  • SERVER-14135 awaitReplication in LegacyReplicationCoordinator
  • SERVER-14135 setLastOptime and awaitReplication in new Replication Coordinator
  • SERVER-14135 stepdown and shutdown functionality in LegacyReplicationCoordinator
  • Remove unused files in 2.7 branch
  • De-inline HostAndPort type, and remove dependencies on networking components.
  • Move HostAndPort::isSelf to a free function in the repl namespace
  • mongos does not respect secondary preferred after temporarily unavailable secondary
  • when a socket between mongos and mongod fails, close all connections immediately
  • Support for Debian 7 Enterprise .deb packages
  • Additional tests for setting fields with $ names
  • struct for ReplicationExecutor work callback parameter
  • Add StringData() method to BSONElement
  • Remove hardcoded Visual Studio solution and project files
  • Do not store native function pointer as a property in function prototype
  • Fix include-what-you-use fallout from de-inlining hostandport.h
  • make index_multi.js retry on connection failure
  • initial_sync3.js occasionally fails by calling insert on a non-primary node
  • mongorestore has no way to accept input from stdin
  • SERVER-10448 Explain Command for Explaining Count
  • clean quota api internally
  • mongoimport doesn't support $maxKey and $minKey extended JSON
  • Replace i686 in Linux-32 tarball filename and inner directory name with i386
  • Deprecate mongoutils namespace
  • Reenable sasl_authentication_session_test
  • remove getIndexPrefetchConfig calls from outside the repl namespace
  • eliminate isCurrentlyAReplSetPrimary
  • Improve errorcodes.py so it captures multiline messages
  • SERVER-1241 Prototype Lock Manager for document-level locking
  • SERVER-10448 Execution Explain for Find
  • Introduce HostAndPort::parse method
  • ConnectionString constructor should either work correctly or fail to compile when passed a single string.
  • avoid attempting to reconfig before node 3 comes back online in reconfig.js
  • better named logging with tracing
  • Primary should step down if encountered problems writing to the oplog
  • Introduce unittest::assertGet(StatusWith) method to facilitate testing functions that return StatusWith
  • Dead code in IDHackRunner::applyProjection
  • mongod fails when launched with misconfigured locale
  • mongoexport generates 'ObjectID', while the shell is using 'ObjectId'
  • canonicalizeClusterDN may synthesize an invalid iterator
  • Increase log level of "did reduceInMemory" message in map/reduce
  • rs.add could detect _id
  • Upstart configuration fails to start server if other instances are running
  • mongorestore parseMetadataFile passes non-null terminated string to 'fromjson'
  • convert HashTable::iterAll() to use boost::bind instead of function callback
  • Add ability to print/decode top level JSON Array
  • --use-system-yaml does not detect libyaml-cpp-dev
  • geoNear should not allow $natural
  • distinct command should validate input
  • ShardingTest and authutil js incorrectly handle keyfile authentication
  • Position of parameters within out {} object shouldn't matter
  • mongoperf crashes randomly when writing with MMF and record size >4k

New in MongoDB 2.6.3 (Jun 21, 2014)

  • Equality queries on _id with projection may return no results on sharded collections SERVER-14302.
  • Equality queries on _id with projection on _id may return orphan documents on sharded collections SERVER-14304.

New in MongoDB 2.6.2 (Jun 18, 2014)

  • Query plans with differing performance can tie during plan ranking SERVER-13675.
  • mongod may terminate if x.509 authentication certificate is invalid SERVER-13753.
  • Temporary map/reduce collections are incorrectly replicated to secondaries SERVER-13981.
  • mongos incorrectly targets multiple shards for nested field shard key predicates SERVER-14138.
  • rs.stepDown() during mapReduce causes fassert when writing to op log SERVER-14186.

New in MongoDB 2.7.2 Development (Jun 16, 2014)

  • Fixed:
  • $where inside of projection $elemMatch causes segmentation fault
  • Passing $where predicate to db.currentOp() crashes mongod
  • writeback listener may not get correct code back from ClientInfo::getLastError

New in MongoDB 2.6.2 RC 0 (Jun 3, 2014)

  • Fixed:
  • mapReduce replicates _inc temp collection without _id field
  • Plans with differing performance can tie during plan ranking
  • mongod may terminate if x.509 authentication certificate is invalid
  • Make sure user cache entry is up to date before using it to determine a user's roles in user management commands on mongos
  • We don't mark V1 users as probed on databases for which they do not have surrogate user documents
  • IndexBounds::endKeyInclusive not initialized by constructor
  • Unused snapshot history consuming significant heap space
  • sync2.js failed
  • Test suites with options tests fail when run with --nopreallocj
  • "Whole index scan" query solutions can use incompatible indexes, return incorrect results
  • Index bounds builder constructs invalid bounds for multiple negations joined by an $or
  • Cloner needs to detect failure to create collection
  • noscripting configuration option not available in YAML configuration file
  • Stack overflow when parsing deeply nested $not query
  • Insert field validation stops at first Timestamp field
  • ConvertToCapped on empty collection aborts after invariant() failure
  • Add new lsb file location for Debian 7.1
  • tags.js has been flakey due to change in its timeout when it was ported to use write commands
  • Distinct command on indexed field with geo predicate fails to execute
  • Unable to install mongodb-org-server 2.6.1-1 on RHEL5 via RPM
  • Mongodump cannot query oplog.$main or oplog.rs when using --dbpath
  • mongodb-enterprise is missing needed dependency list
  • Bounds should not be combined for $or queries that can use merge sort
  • MongoDB upgrade 2.4 to 2.6 check returns error in internal collections
  • Solaris builds depend on ILLUMOS libc
  • Some nested queries trigger an assertion error
  • CollectionOptions parser should skip "size"/"max" elements if values non-numeric
  • mongoexport crashes on large timestamps on Windows
  • Windows file locking related buildbot failures
  • The built-in roles "restore" doesn't have insert privileges on system.roles collection
  • Converting v8 internal object to JSON may crash
  • planSummary truncated at 255 characters
  • verify assert on empty $in clause and sort on second field in compound index
  • Catch exception thrown by getShardsForQuery for geo query
  • Results of $near query on compound multi-key 2dsphere index not sorted by distance
  • SSL-enabled server appears to not be sending the list of supported certificate issuers to the client
  • getRunner() returns a bad runner when mixing $or, sort, and NO_BLOCKING_SORT
  • non-top-level indexable $not triggers query planning bug
  • Queries containing $or may miss results if multiple clauses use the same index
  • Shell returns incorrect WriteResult for compatibility-mode upsert with non-OID equality pred on _id field
  • The "backup" auth role should allow running the "collstats" command
  • Moving large collection across databases with renameCollection triggers fatal assertion
  • Excessive freelist scanning for MaxBucket
  • connections_opened.js failure
  • setup_multiversion_mongodb.py doesn't download 2.4.10 because of non-numeric version sorting
  • ndeleted in system.profile documents reports 1 too few documents removed
  • "type 7" (OID) error when acquiring distributed lock for first time
  • Shell prints startup warning when auth enabled
  • Improved:
  • Need to expose better timing information in currentOps
  • awaitReplication() sometimes fails to get a config version from master causing test failures
  • Match x.509 cluster certificates per attribute instead of substring comparison
  • when 1st config server is non-responsive, some operations wait for network timeout
  • Add planSummary information to count command
  • log a message when shouldChangeSyncTarget() believes a node should change sync targets
  • Typo in error message for "compatibility mode"

New in MongoDB 2.7.1 Development (May 28, 2014)

  • Fixed:
  • mapReduce replicates _inc temp collection without _id field
  • mongod crashes when re-mapping above user address space of 8TB on Windows
  • VS 2013 32-bit binaries do not run on Windows XP
  • Make sure user cache entry is up to date before using it to determine a user's roles in user management commands on mongos
  • We don't mark V1 users as probed on databases for which they do not have surrogate user documents
  • IndexBounds::endKeyInclusive not initialized by constructor
  • The built-in roles "restore" doesn't have insert privileges on system.roles collection
  • Unused snapshot history consuming significant heap space
  • Bounds should not be combined for $or queries that can use merge sort
  • sync2.js failed
  • Converting v8 internal object to JSON may crash
  • Test suites with options tests fail when run with --nopreallocj
  • "Whole index scan" query solutions can use incompatible indexes, return incorrect results
  • Mongodump cannot query oplog.$main or oplog.rs when using --dbpath
  • Windows file locking related buildbot failures
  • Index bounds builder constructs invalid bounds for multiple negations joined by an $or
  • Insert field validation stops at first Timestamp field
  • Add new lsb file location for Debian 7.1
  • Some nested queries trigger an assertion error
  • Unable to install mongodb-org-server 2.6.1-1 on RHEL5 via RPM
  • CollectionOptions parser should skip "size"/"max" elements if values non-numeric
  • Shell returns incorrect WriteResult for compatibility-mode upsert with non-OID equality pred on _id field
  • Running resync before replset initializes can crash mongod
  • Coverity analysis defect 15490: Logically dead code
  • prevent updateUpstream from using a null connection
  • ExtentManager interface
  • Leave false config file switches in getCmdLineOpts.parsed
  • Red Hat init.d script error: YAML config file parsing
  • Coverity analysis defect 22903: Dereference null return value
  • Use RAII to prevent memory leaking in shard targeting
  • Improvement:
  • awaitReplication() sometimes fails to get a config version from master causing test failures
  • mongod could warn user if OS transparent huge pages feature is on
  • Match x.509 cluster certificates per attribute instead of substring comparison
  • log a message when shouldChangeSyncTarget() believes a node should change sync targets
  • Provide richer unwind information in logged stack traces on POSIX systems.
  • Improve user cache invalidation enforcement on mongos
  • User cache is invalidated too often and too crudely
  • Javascript code should throw instances of Error instead of strings.
  • On Windows, windows_basic.h should error if we don't have both NTDDI_VERSION and _WIN32_WINNT
  • relax merge chunk constraints
  • enable build on arm64 system
  • Provide implementation of AtomicWord in terms of std::atomic

New in MongoDB 2.6.1 (May 6, 2014)

  • Includes all the changes featured in the previous Beta versions

New in MongoDB 2.6.1 RC 0 (Apr 23, 2014)

  • Fixed:
  • Concurrent GETMORE and KILLCURSORS operations can cause race condition and server crash
  • Changing replica set configuration can crash running members
  • Array updates on documents with more than 128 BSON elements may crash mongod
  • Background index builds from a 2.6.0 primary fail to complete on 2.4.x secondaries
  • Using the OplogReplay flag with extra predicates can yield incorrect results
  • Replicated data definition commands will fail on secondaries during background index build
  • Sensitive credentials in startup options are not redacted and may be exposed
  • Upgrading from 2.4.x to 2.6.0 via yum clobbers configuration file
  • Cannot install MongoDB as a service on Windows
  • mongos does not generate _id for insert documents that are missing it
  • geoNear returns distance in meters for legacy points in 2.6
  • replset2.js can swallow assertion failures in test
  • stepdown_wrt_electable.js makes unsafe use of parallel shells and is unstable as a result
  • Ignore orphan documents in sharding_migrate_cursor1.js
  • some query stage constructors touch disk
  • mr_drop.js is flakey when run in parallel with other tests
  • Remove data in test array_shard_key.js
  • rollback5.js can fail due to poor assumptions it makes
  • Queries using tailable cursors only return one batch if combined with skip()
  • initial sharding with hashed shard key can result in duplicate split points
  • geonear command creating too-large BSONObjs
  • negation of $elemMatch value incorrect in 2.6
  • $where should not be allowed under $elemMatch
  • Improve wire API message validation
  • 2.6.0 does not recognize all sort orders provided by a compound index if the index has trailing fields
  • near queries must ensure legacy points are in bounds
  • $elemMatch using a compound multikey index can generate an incorrect plan
  • Creating index with same name but different spec in mixed version replicaset can abort replication
  • Yield policy for batch-inserts should be the same as for batch-updates/deletes
  • Large skip and and limit values can cause crash in blocking sort stage
  • Log rotation can overwrite previous log files
  • fix geo_borders.js
  • Wait for deletion after migration in feature2.js
  • Explode for sort should try reversing index scan direction
  • Write-error contains incorrect namespace when collection creation fails
  • Improved:
  • Addition of debug symbols has doubled compile time
  • getUser and getRole shell helpers shouldn't throw when user/role not found
  • Negations over multikey fields do not use the index

New in MongoDB 2.4.10 (Apr 5, 2014)

  • Fixed:
  • Two background index builds in parallel with unique key constraint violations crashes secondary
  • attempting to create a 10th index, with unique constraint violations corrupts db
  • Stopping a secondary in phase 2/3 of an index build corrupts the index
  • initSyncV1Index.js too close to timeout threshold; flapping test
  • mongod 2.4 should not start if unknown indexes present
  • Creating an index on system.indexes breaks initial sync of secondary
  • Version 2dsphere indexes
  • balancer aggressively retries when inconsistency is detected
  • sigxcpu not logged
  • Do not call relinquish() when not vetoing an election
  • Unable to move hashed shard key chunks created by numInitialChunks
  • Memory leak in md5sumFile shell utility method (coverity auto-detected)
  • replicaset nodes appear to be down during compact
  • Abnormal termination of concurrent index builds can lead to a corrupt index catalog
  • Bug in v8 memory allocator that causes long-running shell to crash
  • SNMP: MIB fails validation
  • MongoDB crash on startup on linux system when unable to check readahead due to limited permissions
  • Don't move chunks for non-empty hashed collection during shardCollection cmd
  • Improved:
  • GridFS chunks collection should lower chunk size to 255k
  • Value::coerceToString() shouldn't unconditionally construct a stringstream
  • Add more info when movePrimary fails in prefix_shard_key.js
  • Start election if more than one primary is online
  • upon clock skew detection, sync directly from a primary
  • add indexes to config.locks and lockpings collection for large numbers of sharded collections

New in MongoDB 2.6.0 RC 3 Development (Apr 3, 2014)

  • Fixed:
  • Invalid nested config values ignored
  • getCmdLineOpts.parsed showing journal field in wrong place

New in MongoDB 2.4.10 RC 0 (Mar 27, 2014)

  • Fixed:
  • _id with $prefix field causes replication failure due to unvalidated insert
  • Creating an index on system.indexes breaks initial sync of secondary
  • balancer aggressively retries when inconsistency is detected
  • replicaset nodes appear to be down during compact
  • sigxcpu not logged
  • Bug in v8 memory allocator that causes long-running shell to crash
  • Coverity analysis defect 10177: leaked_storage: Variable "f" going out of scope
  • Do not call relinquish() when not vetoing an election
  • Unable to move hashed shard key chunks created by numInitialChunks
  • SNMP: MIB fails validation
  • MongoDB crash on startup on linux system with a grsec patched kernel and grsec sysfs restrict activated
  • Two background index builds in parallel with unique key constraint violations crashes secondary
  • Stopping a secondary in phase 2/3 of an index build corrupts the index
  • Static Initalizer race condition with CreateDirectClient and server-side Javascript
  • attempting to create a 10th index, with unique constraint violations corrupts db
  • mongod 2.4 should not start if unknown indexes present
  • Version 2dsphere indexes
  • initSyncV1Index.js too close to timeout threshold; flapping test
  • KillOp of a background index after building a foreground index corrupts
  • Don't move chunks for non-empty hashed collection during shardCollection cmd
  • Improved:
  • Start election if more than one primary is online
  • Value::coerceToString() shouldn't unconditionally construct a stringstream
  • upon clock skew detection, sync directly from a primary
  • GridFS chunks collection should lower chunk size to 255k
  • add indexes to config.locks and lockpings collection for large numbers of sharded collections
  • Add more info when movePrimary fails in prefix_shard_key.js

New in MongoDB 2.6.0 RC 2 (Mar 22, 2014)

  • Fixed:
  • createIndexes command should be explicitly logged
  • performance regression wrt 2.4 on simple covered projections
  • rollback4.js fails to elect a new primary

New in MongoDB 2.6.0 RC 1 (Mar 7, 2014)

  • Fixed issues:
  • Equality queries on _id don't obey skip()
  • adding projection causes multiKey index query fall back to collection scan
  • Improvement:
  • Penalize ixisect during plan scoring so that it won't get chosen over faster single-index plans

New in MongoDB 2.6.0 RC 0 (Feb 22, 2014)

  • Fixed issues:
  • Improvement SERVER-8412: repairDatabase: no Cloner, and use multi index builder
  • Bug SERVER-12131: Tests for multi version dump and restore
  • Bug SERVER-11982: connection error when doing sharded cluster upgrade following recommended procedure

New in MongoDB 2.5.5 Development (Feb 1, 2014)

  • New:
  • New write operation method for insert, update, remove
  • Bug fixes:
  • SNMP Agent does not start
  • Add module suite support to smoke.py

New in MongoDB 2.4.9 (Jan 11, 2014)

  • Bug fixes:
  • misplaced openssl callback registration can cause crashes
  • clang compiled mongo shell crashes on exit with a stack trace in v8
  • logging in ~ReplicaSetMonitor() crashes
  • Non-numeric expiresAfterSeconds causes bad TTL query
  • Shell stops working after long autocomplete operation
  • Failure to rollback usePowerOf2Sizes should not cause fatal error
  • SERVER-11869 Support for non-client opTime in mongod GLE
  • $where inside of projection $elemMatch causes segmentation fault
  • Passing $where predicate to db.currentOp() crashes mongod
  • Cannot set false setParameter options in config file
  • textIndexVersion compatibility check not complete
  • writeback listener may not get correct code back from ClientInfo::getLastError
  • Mongos cannot do slaveOk queries when primary is down
  • New sharded connections to a namespace trigger setShardVersion on all shards
  • retry logic for read preferences should also apply on lazy recv() network failure
  • slaveok versioning logic in mongos should also apply to read prefs
  • Modifying collection options can cause restores of collection to fail

New in MongoDB 2.4.9 RC0 (Dec 28, 2013)

  • Fixes:
  • SERVER-11494: textIndexVersion compatibility check not complete
  • SERVER-11194: Non-numeric expiresAfterSeconds causes bad TTL query
  • SERVER-7246: Mongos cannot do slaveOk queries when primary is down

New in MongoDB 2.5.4 Development (Dec 2, 2013)

  • Fixed issues:
  • SERVER-11575: aggregation: optimize $sort on sharded setup to do a proper merge on mongos
  • SERVER-10493: Update tools to support backing up and restoring user data properly with new user format 2.6

New in MongoDB 2.4.8 (Nov 2, 2013)

  • Increase future compatibility for 2.6 authorization features SERVER-11478.
  • Fix dbhash cache issue for config servers SERVER-11421.

New in MongoDB 2.4.7 (Oct 22, 2013)

  • Bug fixes:
  • Do not veto if "primary" is the node trying to be elected
  • slaveOk bit ignored for unsharded aggregate
  • Improved:
  • Allow to skip initial count() in mapreduce

New in MongoDB 2.5.3 Development (Oct 19, 2013)

  • inconsistent naming for indexOnly between cursor.explain() and aggregation explain
  • Update $push + $sort should be able to sort by the whole array element
  • $anyElementTrue and $allElementsTrue operator for agg

New in MongoDB 2.4.7 RC0 (Oct 11, 2013)

  • Bug fixes:
  • Do not veto if "primary" is the node trying to be elected
  • slaveOk bit ignored for unsharded aggregate
  • Improved:
  • Allow to skip initial count() in mapreduce

New in MongoDB 2.5.2 Development (Aug 27, 2013)

  • New Feature:
  • aggregation: unsharded support $out
  • Sub-task:
  • Extend Aggregation Query Language to Support Complex Redactions
  • Set operations for Aggregation Framework $project

New in MongoDB 2.4.6 (Aug 21, 2013)

  • New Features:
  • Add a global flag to turn off the TTLMonitor thread
  • Improvements:
  • Add blockCheckSupported() features to Solaris/SmartOS build
  • Every write to journal costs additional seek to update file metadata
  • Display chunk version, not memory address, in non-default log line
  • Sanity check on "from" side that all cloned and modified documents were sent to TO side on commit
  • Bug fixes:
  • Sorting on chunks not applied in differ
  • Heatbeats can time out due to high network latency while fetching oplog batches. Was: buildbot: zbigMapReduce failing on Linux 64-bit DEBUG
  • File processinfo_darwin.cpp missing from mongo-cxx-driver
  • Missing PF_LOCAL symbol in Solaris 10
  • Solaris file relocation error: posix_fadvise
  • Missing external symbol strcasestr on Solaris 10
  • sharding/index1.js failure on V2.4 Linux 64-bit Subscription SUSE 11
  • buildbot: replset9.js failing on Linux RHEL 32-bit
  • buildbot-special: smoke JsobjTests::BufBuilderReallocLimit failing on Nightly Linux 64-bit SSL Ubuntu 1204
  • Shell displays "JavaScript execution failed: " before all JavaScript errors, adds "L" before line number
  • saslStart returns {ok: 1} instead of {ok:0, code: 2} when unsupported mechanism specified.
  • Server in replication set fluctuates between states SECONDARY and ROLLBACK if it can't rollback due to too much rollback data
  • balancer should stop when ConfigServerCheck indicates inconsistency
  • remapPrivateView: Solaris mmap() is not atomic
  • Failed SSL connection memory leak
  • On Solaris, link to backtrace() at run-time or emulate it if not found
  • js fails when balancer interferes
  • src/mongo/util/stacktrace.{cpp,h} are missing license headers
  • Very large documents can cause premature migration commit
  • Simple client fail with segmentation fault in mongoclient library
  • Fail if javascript field names have nulls
  • read_pref_cmd.js failed on multiple v2.4 builders
  • strcasestr emulation returns invalid pointer
  • mongo shell crashes with missing host
  • chaining.js timing out on OS X 10.5 64-bit, Windows 64-bit, Linux 64-bit
  • replication tests with auth fail on V2.4 Linux 64-bit Subscription SUSE 11
  • mongod always split at 250000 position
  • finding start cursor can get starved
  • remove2.js failed on special V2.4 Linux 64-bit SSL SUSE 11 Build #157
  • auto2.js failing on Win32 builder
  • chaining.js failed on Linux 64-bit subscription, "error doing query"
  • Do not change code pages in Windows version of mongo shell
  • Add more details on why a shard is 'unavailable' for balancing
  • Possible bug with SSL handshake

New in MongoDB 2.4.6 RC1 (Aug 13, 2013)

  • Fixed:
  • Possible bug with SSL handshake
  • Very large documents can cause premature migration commit
  • Improved:
  • Sanity check on "from" side that all cloned and modified documents were sent to TO side on commit

New in MongoDB 2.4.6 RC0 (Aug 10, 2013)

  • Improvements:
  • Sanity check on "from" side that all cloned and modified documents were sent to TO side on commit
  • Bug fixes:
  • batch limit check for _cloneLocs can fail when docs close to BSONObjMaxUserSize - 1024
  • Failed SSL connection memory leak

New in MongoDB 2.4.5 (Jul 4, 2013)

  • New Features:
  • use journal commit instead of fsync command for config server writes
  • Improvements:
  • Quota exceeded error (12501) should be in mongo log
  • Fix issues found in static analysis
  • add numeric code to getLastError error when primary steps down
  • Fixed:
  • No check for building identical background indexes concurrently
  • Strings with NUL bytes don't round-trip correctly from BSON JavaScript
  • Windows feature detection macros assume Vista aware SDK headers.
  • migrations should use better slave count to determine up-to-date
  • sharedclient tests failing to find libmongoclient.so
  • Call to Mongo() crashes v8
  • Solaris/SmartOS client program "authTest" fails with "relocation error: R_AMD64_PC32"
  • constructors.js failing in debug mode
  • lastHeartbeatRecv flaps between invalid and valid dates
  • Non-text fields in compound text index spec are re-ordered by reIndex or initial sync
  • Balancer round aborted with idle sharded collection
  • mongos with --upgrade and missing --auth flag prints "config servers not in sync" message
  • make dbhash take a list of collections to hash and mongos check should use it
  • Ghostsyncing does not retry after a network failure
  • chaining.js timing out on Windows 64-bit
  • map reduce doesn't seem to yield unless it finds matches
  • Add safety checks to V8 C++ bindings
  • scons --sharedclient mongoclient builds libmongoclient.a, no shared library build.
  • stepdown3.js failing on SSL special builder
  • Authenticating as internal user shouldn't require a database lock
  • smokeClient re-runs some tests with the same test name, breaking buildlogger
  • HexData(0, "000000000000000000000005") will throw
  • Assertion on unordered_fast_key_table_internal.h
  • Enterprise package should not require libgsasl

New in MongoDB 2.4.5 RC0 (Jun 26, 2013)

  • Bug fixes:
  • Assertion on unordered_fast_key_table_internal.h
  • scons --sharedclient mongoclient builds libmongoclient.a, no shared library build.
  • Add safety checks to V8 C++ bindings

New in MongoDB 2.4.4 (Jun 5, 2013)

  • db.createCollection creates undefined fields which cause mongorestore to fail
  • mongorestore should ignore undefined options
  • WriteConcern with tags>2 say the write timedout, when it didn't

New in MongoDB 2.4.4 RC0 (May 29, 2013)

  • Bug fixes:
  • mrShardedOutput.js failing on multiple platforms - ensure transferMods after commit
  • opReplicatedEnough should assert on step down
  • Improvement:
  • Display chunk version, not memory address, in non-default log line

New in MongoDB 2.5.0 Development (May 23, 2013)

  • Bug fixes:
  • Couldn't kill $where op in features3.js on RHEL 32
  • sharding_multiple_ns_rs.js use wait logic instead of sleep to make sure new primary is online
  • return_partial_shards_down.js turn off balancer before manual chunk moves

New in MongoDB 2.4.3 (Apr 24, 2013)

  • Bug fixes:
  • Shell ignores modified object's "_id" field
  • Phrase search won't match phrases that aren't space-delimited
  • Improvement:
  • Race condition in log rotation (was: SIGUSR1 should set a flag rather than doing rotation)

New in MongoDB 2.4.3 RC0 (Apr 19, 2013)

  • Fixed:
  • 'Cloning' a document in JavaScript can create an empty _bson field
  • Shell ignores modified "_id" field
  • Improved:
  • Invalid index on config.lockpings on the 2.4.1 config server

New in MongoDB 2.4.2 (Apr 18, 2013)

  • Fixed:
  • Mongod and mongos crash induced by many concurrent invocations of the getnonce command.
  • Field names can be repeated in JavaScript when the same value is set multiple times
  • db.replSetInfo() issue with converting OpTimes to seconds

New in MongoDB 2.4.2 RC0 (Apr 11, 2013)

  • Fixed:
  • replsetprio1.js failing consistently on Solaris in v2.4 branch
  • "Extra" fields added to lazy BSON V8 objects not order preserving
  • Improved:
  • sharding_migrateBigObject.js longer timeout for slow machines

New in MongoDB 2.4.1 (Mar 23, 2013)

  • Fixed:
  • Index changes lost during initial sync period

New in MongoDB 2.4.0 (Mar 19, 2013)

  • CHANGES:
  • Major Features:
  • Text Search
  • New Geospatial Indexes with GeoJSON and Improved Spherical Geometry
  • New Hashed Index and Sharding with a Hashed Shard Key
  • Hashed Index
  • Hashed Sharding
  • Security Improvements:
  • New Modular Authentication System with Support for Kerberos
  • Role Based Access Control and New Privilege Documents
  • Administration Changes:
  • --setParameter Option Available on the mongos and mongod Command Line
  • Changes to serverStatus Output Including Additional Metrics
  • Increased Chunk Migration Write Concern
  • BSON Document Validation Enabled by Default for mongod and mongorestore
  • Indexing Changes:
  • Support for Multiple Concurrent Index Builds
  • db.killOp() Can Now Kill Foreground Index Builds
  • Improved Validation of Index Types
  • Interface Changes:
  • $setOnInsert – New Update Operator
  • Limit Number of Elements in an Array
  • JavaScript Engine Changed to V8
  • Additional Limitations for Map-Reduce and $where Operations
  • Improvements to the Aggregation Framework:
  • $match queries now support the $geoWithin operator for bounded geospatial queries.
  • The new $geoNear pipeline stage to support geospatial queries.
  • $min operator only considers non-null and existing field values. If all the values for a field are null or are missing, the operator returns null for the minimum value.
  • For sort operations where the $sort stage immediately precedes a $limit in the pipeline, the MongoDB can perform a more efficient sort that does not require keeping the entire result set in memory.
  • The new $millisecond operator returns the millisecond portion of a date.
  • The new $concat operator concatenates array of strings.
  • NEW:
  • Developer Productivity:
  • Aggregation Framework refinements include an overhaul of the underlying engine introduced in MongoDB 2.2 making it easier to leverage real-time, in-place analytics. MongoDB 2.4 includes significant performance improvements, additional support for binary data, support for $geoWithin and $near geospatial queries, improved string concatenation with the new $concat operator, and improved date calculation semantics.
  • Geospatial enhancements support new use cases with support for polygon intersection queries (with $geoIntersects), support for GeoJSON, and an improved spherical model. Learn more about geospatial improvements in 2.
  • Text Search provides a simplified, integrated approach to incorporating search functionality into apps with support for language specific stemming and stop words in 15 languages and real time indexes. Text search is beta for 2.4 and is not recommended for production use. Learn more about text search.
  • New update semantics for arrays with the $push update operator. Applications can now use $slice to maintain fixed size arrays, and use $sort to maintain sorted arrays. Learn more about capped arrays.
  • New $setOnInsert update operator supports specifying fields to add only on insert and upsert operations.
  • Ease of Operations:
  • Hashed indexes and shard keys provide simple, even distribution for reads and writes. Learn more about hashed indexes and shard keys.
  • New serverStatus metrics including a working set analysis tool makes capacity planning easier for operations teams. Learn more about the new serverStatus metrics including the working set analyzer.
  • More control for operators with the ability to terminate indexing operations with automatic resource cleanup.
  • Improved Performance:
  • V8 JavaScript engine offers better performance and concurrency with JavaScript based actions including those using the $where query operator as well as mapReduce and eval. Learn more about MongoDB on V8, and JavaScript Changes in MongoDB 2.4.
  • Improvements to count provide dramatically faster count operations. Counting is now up to 20 times faster for low cardinality index based counts.
  • Significant optimizations to $elemMatch when using a multi-key index.
  • More Robust Security:
  • Role-Based privileges allow organizations to assign more granular security policies for server, database and cluster administration. Learn more about role based access control in MongoDB.
  • Kerberos authentication mechanism in MongoDB Enterprise.

New in MongoDB 2.4.0 RC3 (Mar 14, 2013)

  • Bug:
  • [SERVER-8873] - Bug in decision logic for whether a term in a document is a stopword
  • [SERVER-8880] - mongo_sm.exe segfaults for certain configuration settings when building with VS2010
  • [SERVER-8914] - Rename (serverStatus.metrics) "document.scanned" -> "queryExecutor.scanned"
  • [SERVER-8921] - improve error message on invalid text index spec
  • Task:
  • [SERVER-8920] - Add new fields to dbStats command for pdfile version

New in MongoDB 2.4.0 RC2 (Mar 7, 2013)

  • Fixed:
  • js increment operators (ob.prop += ob2.prop) do not work, after assigment like this ob = ob2
  • Documents with null value for hashed shard key are not returned via mongos
  • Improvement:
  • Remove read-only constraint on Reduce function values

New in MongoDB 2.4.0 RC1 (Feb 26, 2013)

  • Fixes:
  • Map-reduce memory leak
  • sharding/gridfs.js test fails when calling tojson
  • collection_manager_test debug build assert failure

New in MongoDB 2.2.3 (Feb 2, 2013)

  • Fixes:
  • Startup race with --fork
  • backport sorted chunk cursor to 2.2
  • slowness in mongos when dealing with replset due to getServerAddress() calls

New in MongoDB 2.4.0 RC0 (Feb 2, 2013)

  • Fixes:
  • Merge serverAdmin role into clusterAdmin
  • max_message_size.js failing on 32-bit windows
  • max_message_size.js fails in auth passthrough suite

New in MongoDB 2.2.3 RC1 (Jan 26, 2013)

  • Bug fix:
  • Startup race with --fork
  • backport sorted chunk cursor to 2.2
  • slowness in mongos when dealing with replset due to getServerAddress() calls

New in MongoDB 2.2.3 RC0 (Jan 12, 2013)

  • Bug fix:
  • Seg fault when shutting down replica set member - Subscription Build with SSL Enabled
  • Initial sync criteria needs to check minValid, not the oplog
  • Improvement:
  • New replication dep. on minvalid collection causes bad behavior

New in MongoDB 2.3.2 Development (Jan 12, 2013)

  • Bug fix:
  • Seg fault when shutting down replica set member - Subscription Build with SSL Enabled
  • Initial sync criteria needs to check minValid, not the oplog
  • Improvement:
  • aggregation $min uses Value ordering to compare null and undefined values, does not exclude null and undefined values from consideration

New in MongoDB 2.2.2 (Dec 3, 2012)

  • Major Features:
  • Aggregation Framework
  • TTL Collections
  • Concurrency Improvements
  • Improved Data Center Awareness with Tag Aware Sharding
  • Fully Supported Read Preference Semantics
  • Compatibility Changes:
  • Authentication Changes
  • mongodump Output can only Restore to 2.2 MongoDB Instances
  • ObjectId().toString() Returns String Literal ObjectId("...")
  • ObjectId().valueOf() Returns hexadecimal string
  • Behavioral Changes:
  • Restrictions on Collection Names
  • Restrictions on Database Names for Windows
  • _id Fields and Indexes on Capped Collections
  • New $elemMatch Projection Operator
  • Windows Specific Changes:
  • Windows XP is Not Supported
  • Service Support for mongos.exe
  • Log Rotate Command Support
  • New Build Using SlimReadWrite Locks for Windows Concurrency
  • Tool Improvements:
  • Index Definitions Handled by mongodump and mongorestore
  • mongooplog for Replaying Oplogs
  • Authentication Support for mongotop and mongostat
  • Write Concern Support for mongoimport and mongorestore
  • mongodump Support for Reading from Secondaries
  • mongoimport Support for full 16MB Documents
  • Timestamp() Extended JSON format
  • Shell Improvements:
  • Improved Shell User Interface
  • Helper to load Server-Side Functions
  • Support for Bulk Inserts
  • Operations:
  • Support for Logging to Syslog
  • touch Command
  • indexCounters No Longer Report Sampled Data
  • Padding Specifiable on compact Command
  • Added Build Flag to Use System Libraries
  • Memory Allocator Changed to TCMalloc
  • Replication:
  • Improved Logging for Replica Set Lag
  • Replica Set Members can Sync from Specific Members
  • Replica Set Members will not Sync from Members Without Indexes Unless buildIndexes: false
  • New Option To Configure Index Pre-Fetching during Replication
  • Map Reduce Improvements:
  • Improved support for sharded MapReduce, and
  • MapReduce will retry jobs following a config error
  • Sharding Improvements:
  • Index on Shard Keys Can Now Be a Compound Index
  • Migration Thresholds Modified
  • Licensing Changes:
  • Added License notice for Google Perftools (TCMalloc Utility).

New in MongoDB 2.2.1 (Oct 31, 2012)

  • Major Features:
  • Aggregation Framework
  • TTL Collections
  • Concurrency Improvements
  • Improved Data Center Awareness with Tag Aware Sharding
  • Fully Supported Read Preference Semantics
  • Compatibility Changes:
  • Authentication Changes
  • findAndModify Returns Null Value for Upserts
  • mongodump Output can only Restore to 2.2 MongoDB Instances
  • ObjectId().toString() Returns String Literal ObjectId("...")
  • ObjectId().valueOf() Returns hexadecimal string
  • Behavioral Changes:
  • Restrictions on Collection Names
  • Restrictions on Database Names for Windows
  • _id Fields and Indexes on Capped Collections
  • New $elemMatch Projection Operator
  • Windows Specific Changes:
  • Windows XP is Not Supported
  • Service Support for mongos.exe
  • Log Rotate Command Support
  • New Build Using SlimReadWrite Locks for Windows Concurrency
  • Tool Improvements:
  • Index Definitions Handled by mongodump and mongorestore
  • mongooplog for Replaying Oplogs
  • Authentication Support for mongotop and mongostat
  • Write Concern Support for mongoimport and mongorestore
  • mongodump Support for Reading from Secondaries
  • mongoimport Support for full 16MB Documents
  • Timestamp() Extended JSON format
  • Shell Improvements:
  • Improved Shell User Interface
  • Helper to load Server-Side Functions
  • Support for Bulk Inserts
  • Operations:
  • Support for Logging to Syslog
  • touch Command
  • indexCounters No Longer Report Sampled Data
  • Padding Specifiable on compact Command
  • Added Build Flag to Use System Libraries
  • Memory Allocator Changed to TCMalloc
  • Replication:
  • Improved Logging for Replica Set Lag
  • Replica Set Members can Sync from Specific Members
  • Replica Set Members will not Sync from Members Without Indexes Unless buildIndexes: false
  • New Option To Configure Index Pre-Fetching during Replication
  • Map Reduce Improvements:
  • Improved support for sharded MapReduce
  • MapReduce will retry jobs following a config error.
  • Sharding Improvements:
  • Index on Shard Keys Can Now Be a Compound Index
  • Migration Thresholds Modified
  • Licensing Changes:
  • Added License notice for Google Perftools (TCMalloc Utility).

New in MongoDB 2.2.1 RC0 (Sep 24, 2012)

  • SERVER-7061 - mongos can use invalid ptr to master conn when setShardVersion fails
  • SERVER-6540 - queueing writebacks register with lastError too early
  • SERVER-6993 - findAndModify positional operator regression with undotted query fields

New in MongoDB 2.2.0 RC 2 (Aug 24, 2012)

  • Bug:
  • [SERVER-6757] - map reduce double free when dropping source collection during yield
  • [SERVER-6759] - Nightly Subscription build failing on SUSE
  • [SERVER-6766] - DocumentSourceGroup does not properly serialize constant expressions, can cause a valid expression on mongos to be unparsable on shards.
  • [SERVER-6778] - printStackTrace does not work when running as a Windows Service
  • [SERVER-6779] - $coerceToBool cannot be serialized, causes verify assertion when some optimized expressions are sent to shards
  • [SERVER-6785] - Possible mongos memory leak
  • [SERVER-6793] - 2.2.0-rc1 stops responding to other requests with high-fault reads?
  • [SERVER-6795] - ExpressionCompare incorrectly optimizes reverse sense expressions to a comparison with the wrong inclusivity
  • [SERVER-6809] - splitVector doesn't filter additional index fields when shard key is prefix of index
  • [SERVER-6811] - prefix shard keys index bounds handling
  • [SERVER-6814] - memory leak on page fault exception in BtreeCursorImpl::init()
  • [SERVER-6825] - Hard shutdown can leave replication in unrestartable state

New in MongoDB 2.2.0 RC 1 (Aug 14, 2012)

  • Bug:
  • [SERVER-5064] - mongos can't start when one config server is down. only with keyFile options
  • [SERVER-5373] - sporadic failure in profile1.js test
  • [SERVER-5595] - C++ Driver Fails to connect to a replica set when the replica set is initially down and then is started
  • [SERVER-5996] - "uncaught exception: map reduce failed" in zbigMapReduce.js
  • [SERVER-6177] - verify assertion when parent of an inclusion field is an operator expression
  • [SERVER-6179] - Sharded aggregation can't handle multiple $group commands
  • [SERVER-6181] - attempt to $project a computed _id field results in a document with two duplicate (wrong) _id values
  • [SERVER-6185] - verify assertion on attempt to include a subfield within a non object array element
  • [SERVER-6194] - Nested $add operators may be improperly reordered by constant folding implementation
  • [SERVER-6198] - $group aggregate field names can contain dots, may cause problems with sharding
  • [SERVER-6238] - Aggregation shouldn't allow creating fields with a $ prefix
  • [SERVER-6275] - $avg assume 0 for undefined
  • [SERVER-6282] - Shards: getLastError waits 1 second to respond after insert with invalid shard key
  • [SERVER-6380] - Close keyFile filedescriptor after reading the security key
  • [SERVER-6385] - chunk too big to move in authCommands2.js
  • [SERVER-6391] - Yielding with one (or more) active writer and heavy read load results in severe performance degradation
  • [SERVER-6398] - Cannot read from replset member in slavedelay1.js
  • [SERVER-6403] - sharded indexes are queried via the db primary, which is not guaranteed to have the full set of collection indices
  • [SERVER-6463] - Mongos sets shard host string to "set/" without any seed members
  • [SERVER-6468] - Treat nested and dotted projections the same
  • [SERVER-6474] - Error message for attempting replSetSyncFrom "self" needs improvement.
  • [SERVER-6477] - jstests/dur/closeall.js -- WindowsFlushable::flush triggers fassert after FlushViewOfFile fails with code 487 (ERROR_INVALID_ADDRESS)
  • [SERVER-6492] - isMaster() hangs when called on REMOVED node
  • [SERVER-6498] - mongoimport throwing "read error, or input line too long (max length: 16777216)"
  • [SERVER-6499] - compact's external sorter should use the default index version key comparator
  • [SERVER-6507] - mongostat lock% reports a number higher than (100% times number of cores)
  • [SERVER-6509] - ignore SIGPIPE
  • [SERVER-6512] - ReplicaSetMonitor::_checkConnection does not check upper bounds for the indexes
  • [SERVER-6513] - Solaris build failing on shard_gle_insert.js
  • [SERVER-6515] - slaveok query can fail early without trying the other nodes
  • [SERVER-6516] - Not much logging in outgoing mongos codepath
  • [SERVER-6522] - Background index builds on the primary are built in the foreground
  • [SERVER-6530] - disallow geo commands in aggregation
  • [SERVER-6532] - Add mongod.pdb to Windows .ZIP file
  • [SERVER-6533] - timeout waiting for replication in zbigMapReduce.js
  • [SERVER-6538] - Invalid access at address: 0x7f2e34021000 from thread: repl prefetch worker
  • [SERVER-6540] - queueing writebacks register with lastError too early
  • [SERVER-6549] - The correct password may auth fail occasionally.
  • [SERVER-6553] - Windows stack trace prints nothing if stack frames exceed maxBackTraceFrames
  • [SERVER-6554] - Windows unhandled exception filter should print stack trace
  • [SERVER-6556] - aggregation Value does not handle string values with null characters properly
  • [SERVER-6559] - db.runCommand with renameCollection causes mongod to crash
  • [SERVER-6561] - Link to SECURITY-1
  • [SERVER-6565] - Do not use primary if secondaries are available for slaveOk
  • [SERVER-6569] - queryOptimizerA fails on dur_passthrough
  • [SERVER-6570] - disallow $add with strings
  • [SERVER-6572] - Performance issue
  • [SERVER-6576] - Nondescript basicPlus.js failure in parallel test suite
  • [SERVER-6577] - capped collection _id index creation on secondaries not triggered by updates
  • [SERVER-6581] - mongos GLE needs to report errmsg when sub-GLE commands error on shard/shards
  • [SERVER-6582] - findandmodify doesn't set fields properly for getlasterror
  • [SERVER-6583] - "couldn't connect to new shard socket exception" in addshard4.js
  • [SERVER-6584] - slavedelay2.js fails with not all members ready
  • [SERVER-6588] - findAndModify regression 2.0.x -> v2.2.0rc0 with positional updates
  • [SERVER-6589] - Pretouch throws "11000:E11000 duplicate key error index" on every update
  • [SERVER-6593] - local ping time on nodes can take time to reach steady state
  • [SERVER-6596] - Secondary Acceptable Latency Threshold on mongos and mongo should match the drivers and the spec.
  • [SERVER-6598] - collection level userFlags not carried over across shards
  • [SERVER-6599] - crash on free of invalid pointer in shell parser
  • [SERVER-6601] - splitvector.js failing in multiVersion testing
  • [SERVER-6602] - loadserverscripts.js fails in multiVersion testing
  • [SERVER-6603] - Performance -- remove remapLock code from Windows build
  • [SERVER-6607] - can't read from replset member in capped_id.js
  • [SERVER-6609] - TTL collections can get out of sync too easily during replica set maintenance
  • [SERVER-6622] - could not insert into system.users in auth2.js
  • [SERVER-6623] - timing error in repl_monitor_stress.js
  • [SERVER-6624] - Read to invalid memory in Expression::parseOperand
  • [SERVER-6630] - mongooplog skips drop operations
  • [SERVER-6635] - mongodump --repair does not stop at extent boundaries
  • [SERVER-6636] - validate cmd reports wrong index is invalid
  • [SERVER-6647] - Potential out of bounds access in ReplicaSetMonitor
  • [SERVER-6648] - TTL monitor doesn't sync userFlags on the secondary
  • [SERVER-6659] - findAndModify errors when upserting on non-existent document and original query can't find doc
  • [SERVER-6679] - Value::coerceToString() for dates should use UTC rather than localtime
  • [SERVER-6684] - multi_mongos2.js SCE thrown in 2.0 mongod/2.2 mongos test
  • [SERVER-6685] - shard3.js fails strangely in 2.0 mongod/2.2 mongos
  • [SERVER-6688] - ExpressionNoOp / ExpressionConstant BSON round tripping issues
  • [SERVER-6690] - Relative path to pch.h not set
  • [SERVER-6693] - Copy-pasting multi-line strings with arrays does not work in shell
  • [SERVER-6702] - assertion in repl5.js
  • [SERVER-6704] - edit operation no longer shows syntax errors
  • [SERVER-6705] - 32-bit Windows hits access violation running test.exe (Buildbot)
  • [SERVER-6709] - Null pointer deref in ClientInfo::getLastError
  • [SERVER-6713] - 32-bit Windows builds should set the linker option /LARGEADDRESSAWARE
  • [SERVER-6729] - restrict database names only on Windows, for FAT32-invalid characters
  • [SERVER-6731] - cloneCollection warning inaccurate.
  • [SERVER-6740] - repl_monitor_stress.js failing
  • [SERVER-6741] - dbadmin.js failing
  • [SERVER-6742] - fileObj hashes not matching on insert in gridfs.js
  • [SERVER-6743] - perftest in /usr/bin/perftest
  • [SERVER-6744] - counts wrong in replreads.js on Nightly Linux RHEL 64
  • Improvement:
  • [SERVER-1654] - dbpath and logpath options in /etc/mongodb.conf are ignored in the Ubuntu
  • [SERVER-4683] - switch allocator - tcmalloc or jemalloc
  • [SERVER-5419] - Update rpm/mongo.spec file from packager.py output
  • [SERVER-6142] - ExpressionCompare::evaluate does not use Value::compare, does not handle heterogenous types (including numeric types) and some other comparison cases
  • [SERVER-6184] - mixing nested and dotted $project ExpressionObjects produces inconsistent results and assertions in some cases
  • [SERVER-6189] - Support date operators on dates before 1970
  • [SERVER-6197] - $avg is calculated using integer math for integers even though result value is of type double
  • [SERVER-6316] - collMod command should have better return reporting
  • [SERVER-6425] - remove $literal
  • [SERVER-6445] - collMod command unusable on sharded collection
  • [SERVER-6489] - Get rid of "cloud" command, and "dyn" host names.
  • [SERVER-6502] - Add support for QueryOption_Exhaust for find queries in benchRun
  • [SERVER-6529] - Don't allow inclusions inside of $expressions
  • [SERVER-6592] - improve FieldPath validation behavior
  • [SERVER-6597] - replace all \" with ' in aggro error messages
  • [SERVER-6708] - Make sh.addShard return something
  • [SERVER-6718] - option to disable index prefetching as part of multithreaded replication
  • New Feature:
  • [SERVER-6667] - --traceExceptions command line parameter
  • Question:
  • [SERVER-6166] - consider expanding to wider data type on math overflow
  • Task:
  • [SERVER-6361] - Disallow exclusion in $project for now
  • [SERVER-6472] - Make sure all agg tests work on a sharded collection
  • [SERVER-6677] - Add more test on read preference on the DBClientReplicaSet level

New in MongoDB 2.0.7 (Aug 10, 2012)

  • Bug:
  • [SERVER-2833] - mongod.exe does not shut down correctly as a Windows service
  • [SERVER-2942] - MapViewOfFileEx failed during large import
  • [SERVER-3097] - mongod --install uses wrong image path depending on current working directory
  • [SERVER-3969] - Shell interactive password prompt can't handle spaces
  • [SERVER-4291] - Assertion: 13273:single data buffer expected while using mongodump
  • [SERVER-4800] - mongos cursor handling with timeouts
  • [SERVER-4907] - sparse indexes break replication of array based operators
  • [SERVER-5473] - mongostat throws an error when connecting via a 1.8.x mongos - "unrecognized command: getnonce"
  • [SERVER-5594] - missed check of node index when initializing replica set with host down
  • [SERVER-5663] - Private pages accumulate in Windows RAM and page file when journaling
  • [SERVER-5680] - repl13.js failing on Windows 64-bit
  • [SERVER-5872] - autosplit would be triggered before data size touch chunksize. The return message "updatedExisting" of update is missed
  • [SERVER-5920] - bad reload of database config
  • [SERVER-5988] - where3.js leaving collections on slave at end of test in 2.0 branch
  • [SERVER-6006] - moveChunk fails with migration already in progress
  • [SERVER-6047] - $pullAll causes empty embedded object field to be created
  • [SERVER-6132] - a failure inside MakeChunkWritable should call abort/fassert instead of assert
  • [SERVER-6162] - backport of targeted shard ranges instead of broadcast on all queries
  • [SERVER-6167] - very verbose messaging with large numbers of collections
  • [SERVER-6178] - Cannot use mongos if subset of config servers can't read from or write to disk
  • [SERVER-6252] - Debug assertion in Windows debug build, bad code in any build, due to incorrect lock usage
  • [SERVER-6305] - option to turn off splitVectors on particular mongoses
  • [SERVER-6311] - FlushViewOfFile failures can result in invalid journal on Windows
  • [SERVER-6359] - mongoexport now outputs full strings in CSV mode
  • [SERVER-6372] - fassert identifier causes Windows 64bit 2008+ to fail compile in 2.0 branch
  • [SERVER-6391] - Yielding with one (or more) active writer and heavy read load results in severe performance degradation
  • [SERVER-6509] - ignore SIGPIPE
  • [SERVER-6512] - ReplicaSetMonitor::_checkConnection does not check upper bounds for the indexes
  • Improvement:
  • [SERVER-4992] - Disable dropDatabase command on "config" if sharded collections exist with data
  • [SERVER-6414] - use regular file io, not mmap for external sort

New in MongoDB 2.2.0 RC (Jul 20, 2012)

  • Bug:
  • [SERVER-3893] - fail to compile mongo with --ssl=SSL on fedora core 15
  • [SERVER-4225] - Adding first admin user to database via localhost works but returns error message
  • [SERVER-4674] - aggregation: treat undefined values the same as null values
  • [SERVER-5101] - Test failure in closeall.js
  • [SERVER-5484] - Aggregation should filter out docs not belonging to current shard.
  • [SERVER-5633] - 'mongo' on Solaris aborts on startup
  • [SERVER-6047] - $pullAll causes empty embedded object field to be created
  • [SERVER-6077] - Build times out compiling queryoptimizertests.cpp on OS X 32-bit
  • [SERVER-6111] - Build fails with "Implicit dependency not found"
  • [SERVER-6117] - SlaveOk Query fails with auth error even after logging in
  • [SERVER-6118] - aggregation returns incorrect results for sharded sorts
  • [SERVER-6123] - aggregation holds read lock indefinitely without yielding after initial processing of first sort or group stage
  • [SERVER-6128] - Process taking too long to kill in features3.js
  • [SERVER-6143] - verify assertion on attempt to perform date extraction from missing or null value
  • [SERVER-6147] - aggregation $ne expression applied to constant returns incorrect result
  • [SERVER-6158] - Windows builds link client examples against previous mongoclient.lib
  • [SERVER-6165] - use of an integer valued double with a $mod expression can produce an incorrect result
  • [SERVER-6178] - Cannot use mongos if subset of config servers can't read from or write to disk
  • [SERVER-6186] - $substr expression does not check arguments, can trigger an out_of_range exception causing mongod to abort
  • [SERVER-6204] - make $pullAll more efficient
  • [SERVER-6208] - ttl seg fault
  • [SERVER-6214] - Race condition where member gets stuck in startup and doesn't sync
  • [SERVER-6222] - Mongo crashes if query for collection in new db
  • [SERVER-6226] - findAndModify return value inconsistent between 2.0.x and 2.1.2 when using upsert
  • [SERVER-6228] - Duplicate key error causes secondaries to fassert() and crash
  • [SERVER-6229] - not so rare verbose log message: info journal _rotate called inside dbMutex - ok but should be somewhat rare
  • [SERVER-6230] - intermittent connection refused errors in app opening new connections
  • [SERVER-6231] - os x - startup warning - maxproc - hard limit of 1024
  • [SERVER-6232] - seg fault when providing an empty object as an expression argument
  • [SERVER-6242] - Test breaks in 2.1.2 but passes in 2.1.1
  • [SERVER-6244] - Mongo shell in Windows doesn't display Unicode when console is set to Terminal font
  • [SERVER-6248] - no mongoclient target as described in docs/building.md
  • [SERVER-6249] - sort1.js failed in debug testing
  • [SERVER-6254] - FindAndModify throw exception if new:true is set
  • [SERVER-6265] - Unhide --locks option for mongotop
  • [SERVER-6266] - mongotop reports different lock times with --locks than without
  • [SERVER-6269] - DocumentSourceUnwind does not implement the DocumentSource iterator interface correctly
  • [SERVER-6270] - attempt to return an aggregation result that is too large results in double exceptions and terminate() aborting mongod
  • [SERVER-6284] - $where is broken in 2.1.2 findAndModify
  • [SERVER-6285] - Lock reporting in slow query log messages isn't reset after each operation
  • [SERVER-6289] - BackgroundJobTests failing on faster buildslaves
  • [SERVER-6303] - shouldRetry needs a write lock
  • [SERVER-6305] - option to turn off splitVectors on particular mongoses
  • [SERVER-6309] - timeout waiting for replication in groupAndMapReduce.js
  • [SERVER-6311] - FlushViewOfFile failures can result in invalid journal on Windows
  • [SERVER-6314] - collMod command has no help documentation
  • [SERVER-6315] - tagSet suite test failure on debug builds
  • [SERVER-6318] - GLE with auth failing in authCommands2.js
  • [SERVER-6320] - SSL Options Not listed in --help output for mongod/mongos
  • [SERVER-6321] - Bad path to SSL key file or incorrect password causes: Assertion: 15868 :Can't read key file
  • [SERVER-6322] - Unbalanced read load on secondaries caused replRead.js in slowNightly to fail
  • [SERVER-6324] - ServerName incorrect when walking the MIB on Enterprise Build
  • [SERVER-6334] - ReplSet connections magically gets reauthenticated after logging out
  • [SERVER-6335] - aggregation framework: disallow $where in $match
  • [SERVER-6340] - TIME_UTC is a macro in C11, compilation of lines, containing boost::TIME_UTC will fail with glibc 2.16
  • [SERVER-6341] - Large number of databases causes seg fault in mongotop
  • [SERVER-6342] - indexes in sharding configuration
  • [SERVER-6343] - Test for grouping by tag fails in aggregation/testall.js
  • [SERVER-6351] - Make mongostat adjust column width for variable length field "db locks"
  • [SERVER-6355] - Subscription build failing to compile
  • [SERVER-6359] - mongoexport now outputs full strings in CSV mode
  • [SERVER-6363] - auth_slaveok_routing.js failing all over
  • [SERVER-6366] - --noOptionsRestore flag has no affect on mongorestore
  • [SERVER-6367] - Windows build fails on jsobjtests
  • [SERVER-6373] - Uncaught exception in new auth_repl.js tests
  • [SERVER-6390] - mongooplog arguments are unclearly documented, some irrelevant?
  • [SERVER-6397] - moveChunk fails because metadata collection could not be locked
  • [SERVER-6419] - Linux_64bit_Subscription_Amazon_AMI_Nightly failing build with pymongo not found
  • [SERVER-6422] - replication initial sync retry may abort
  • [SERVER-6438] - Unrecognized command "collMod" in use_power_of_2.js
  • [SERVER-6441] - Assertion failure in bsonobjbuilder.h
  • [SERVER-6442] - memory error in smoke test
  • [SERVER-6447] - Cursor iteration performance regression
  • [SERVER-6449] - TIME_UTC_ does not compile in C++ driver
  • [SERVER-6460] - replset1.js fails after waiting for oplog to be built on secondaries
  • [SERVER-6461] - Get Solaris build working
  • [SERVER-6479] - Seg fault in explain3.js
  • [SERVER-6480] - Seg fault in count8.js
  • [SERVER-6481] - Invalid write to a deleted ClientCursor after yield recovery fails
  • [SERVER-6482] - Parallel test basicPlus.js failing
  • [SERVER-6483] - Socket exception in zbigMapReduce.js
  • [SERVER-6486] - invalid reconfig in replsettest
  • Improvement:
  • [SERVER-3358] - sharding - tagging - use for reading from secondaries
  • [SERVER-3643] - dropdups replication corner cases
  • [SERVER-3836] - Writes will be slow on replicated capped collections
  • [SERVER-4644] - aggregation: optimize memory utilitzation by selective reification of documents
  • [SERVER-6119] - DocumentSourceCursor does not yield before loading first cursor document
  • [SERVER-6120] - Value::coerceToBool is inconsistent with javascript in some cases
  • [SERVER-6121] - aggregation framework converts Timestamp to long long in result set
  • [SERVER-6122] - aggregate command writes results 3 times
  • [SERVER-6127] - $project uasserts if an expected nested field has a non object parent in any source document
  • [SERVER-6131] - decide on behavior to $unwind an empty array
  • [SERVER-6163] - value in a $literal expression can trigger an expression parse assertion causing an aggregation to fail
  • [SERVER-6190] - $week operator does not conform to spec when first day of the year is a sunday
  • [SERVER-6201] - temporary insertion of a non compliant ttl index causes ttl thread to abort and ttl to stop working
  • [SERVER-6240] - Disable math with Dates in agg
  • [SERVER-6256] - Write BSONType::name() and use in aggregation error messages
  • [SERVER-6268] - report both winning plan nscanned and total nscanned in explain output
  • [SERVER-6278] - balancing option for doing w=2 after each write op
  • [SERVER-6280] - Value::createFromBsonElement() should use ValueStatic where possible.
  • [SERVER-6281] - waitTime should be waitTimeMs (or waitMs)
  • [SERVER-6288] - Initialize repl network queue counters
  • [SERVER-6344] - Typo in help output for SSL builds (shell and tools)
  • [SERVER-6409] - PageFaultException for insert
  • [SERVER-6414] - use regular file io, not mmap for external sort
  • [SERVER-6416] - compute field ranges for singleton $or clauses
  • [SERVER-6426] - switch multithreaded replication batching to use a byte limit rather than a op limit
  • Task:
  • [SERVER-6290] - Remove $isoDate aggregation expression operator

New in MongoDB 2.1.2 Development (Jun 27, 2012)

  • Bug:
  • [SERVER-1470] - Update w/upsert ignores dbref field from query on insert
  • [SERVER-1877] - Using single hyphen for install parameter will install un-startable Windows service
  • [SERVER-2291] - count command returns zero in some error cases rather than reporting an error with ok:false
  • [SERVER-2639] - Inserting into a capped collection an object larger than max size fails silently
  • [SERVER-2659] - query_yield2 failure
  • [SERVER-2942] - MapViewOfFileEx failed during large import
  • [SERVER-3100] - MongoDB often does not shut down cleanly when using init script
  • [SERVER-3620] - test (dbtests) fails with pthread assertion
  • [SERVER-3639] - --repair fails if mongodb.lock file exists (and has data) if journaling on (but there are no journal files)
  • [SERVER-3877] - Solaris 1.8.2 mongo Doesn't Parse Username and Password Options Correctly
  • [SERVER-3918] - make sparse indexes error out on {$exists: false} queries
  • [SERVER-4027] - Accept geo points equal to 180 (or specified max)
  • [SERVER-4138] - Mongo crashes in windows if database name is a reserved file name
  • [SERVER-4142] - mongod.exe on Windows -- Source files in SCons build but not in Visual Studio project
  • [SERVER-4262] - when dropping collections need to invalidate all conn sharding state
  • [SERVER-4372] - Creating a DB with a name containing a colon creates two DBs
  • [SERVER-4439] - Replica set members shouldn't sync from a node that is very behind
  • [SERVER-4476] - mongod's cached data should be refreshed on removeShard
  • [SERVER-4505] - Don't assume old primary is still primary when no nodes are returning isMaster
  • [SERVER-4581] - Mongos and mongod keep trying to reconnect to removed shard
  • [SERVER-4726] - Spurious warning: ClientCursor::yield can't unlock b/c of recursive lock during --repair
  • [SERVER-4732] - potential segfault on full config reload during wbl if collection is dropped / unsharded but still receives writebacks
  • [SERVER-4758] - OplogReader has no socket timeout
  • [SERVER-4800] - mongos cursor handling with timeouts
  • [SERVER-4811] - OID increments can overflow for a given time period
  • [SERVER-4972] - mongorestore on server with --auth allows restore without credentials of colls with no index
  • [SERVER-5000] - Connection count is not in sync with the connection thread name
  • [SERVER-5040] - Cloner can fail to create unique indexes on initial sync
  • [SERVER-5056] - Server cannot automatically recover if it terminates during recovery
  • [SERVER-5101] - Test failure in closeall.js
  • [SERVER-5124] - authentication seems to intermittently fail after adding/removing a shard
  • [SERVER-5198] - incorrect assumptions in write operations using cursors
  • [SERVER-5200] - slowNightly tests failing on sharding_balance4.js
  • [SERVER-5230] - HostAndPort::me() should use bind_ip
  • [SERVER-5233] - Mongodump stdout not working with authentication
  • [SERVER-5240] - mongos fails to connect to active cluster with config hosts down
  • [SERVER-5243] - mongos will route getLastError command to the config server when last insert triggered a split
  • [SERVER-5258] - RS manager can demote current primary without any log messages or closing connections
  • [SERVER-5283] - other threads can see partially sharded chunkmanager
  • [SERVER-5304] - initial sync fails to create index on capped collection
  • [SERVER-5393] - Killing mongod during a repair can leave it unable to start up
  • [SERVER-5428] - count8.js failing on Nightly RHEL build
  • [SERVER-5441] - Mongo shell "getlasterror" does not return "updatedExisting" via mongos
  • [SERVER-5473] - mongostat throws an error when connecting via a 1.8.x mongos - "unrecognized command: getnonce"
  • [SERVER-5485] - implement thread safety for shell utils, using fine grained locking
  • [SERVER-5494] - Changes to benchrun causing failure in bench_test1.js
  • [SERVER-5511] - Junk strings in listCommand help text?
  • [SERVER-5536] - 2.0/2.1 sharded mapReduce compatibility
  • [SERVER-5538] - legacy (2.0) staleconfigexceptions can be thrown w/o namespace, 2.1 needs to handle
  • [SERVER-5545] - DurableImpl::commitIfNeeded and dur.cpp's _groupCommit are not sufficiently aggressive
  • [SERVER-5552] - adding an index while an update operation yields can result in incorrect index key entries
  • [SERVER-5556] - Error 8070 should be an massert not a uassert
  • [SERVER-5570] - Killing of 'count' query cause incorrect behavior
  • [SERVER-5597] - Windows implementation of toWideString in text.cpp is incorrect.
  • [SERVER-5616] - Any shell command containing the string ".auth" is not added to shell history
  • [SERVER-5624] - mongos does not respect notimeout for cursors
  • [SERVER-5627] - mongodb hangs when doing mapreduce
  • [SERVER-5643] - keyfile documentation is incorrect in mongod help
  • [SERVER-5649] - Initial sync of capped collection does not create _id index
  • [SERVER-5670] - externally preallocated data files may be ignored when allocating extents
  • [SERVER-5693] - invalid system_js function will cause mongodb server crash.
  • [SERVER-5698] - "assert failed : reconfig worked" in fastsync.js
  • [SERVER-5720] - GridFS::setChunkSize rejects all sizes but 0
  • [SERVER-5740] - index bounds may be incorrectly determined for $not:$elemMatch queries
  • [SERVER-5741] - nested $elemMatch queries are not handled in queryutil, trigger "warning: shouldn't get here?" log message
  • [SERVER-5742] - bigMapReduce.js failing b/c of migrate deletion during m/r
  • [SERVER-5746] - Wrong initialization for ReplicaSetMonitor Nodes
  • [SERVER-5748] - mongo/platform folder missing after c++ client driver installation
  • [SERVER-5750] - assert in server5012.js
  • [SERVER-5764] - Multi-line mode in the shell went away
  • [SERVER-5772] - assert in query_yield2.js
  • [SERVER-5785] - balancer isOverlapping() check is failing
  • [SERVER-5791] - SConstruct failing to find os.environ['HOME']
  • [SERVER-5796] - HexData undocumented, crashy
  • [SERVER-5797] - Uncaught exception in count_slaveok.js
  • [SERVER-5805] - Fatal Assertion 16213 in fsync.js
  • [SERVER-5817] - scons error in 32-bit RHEL build
  • [SERVER-5819] - Use FileAllocator on Windows
  • [SERVER-5825] - "No module named hashlib" in utils.py
  • [SERVER-5842] - Exceptions thrown in scripting/engine_spidermonkey.cpp need to be handled there
  • [SERVER-5844] - mongos cursors return the wrong value for startingFrom
  • [SERVER-5852] - freebsd 64-bit backtrace segfaults
  • [SERVER-5856] - make query optimizer code not access data in constructor
  • [SERVER-5867] - Cannot use SRWLocks on Windows Server 2003
  • [SERVER-5872] - autosplit would be triggered before data size touch chunksize. The return message "updatedExisting" of update is missed
  • [SERVER-5876] - user authentication should retry on primary
  • [SERVER-5883] - duplicate key error in replset7.js
  • [SERVER-5885] - center query update asserting in geo_full.js
  • [SERVER-5886] - initial_sync3.js bb failure with "not master"
  • [SERVER-5891] - TTLMonitor complains with --auth
  • [SERVER-5895] - auth.js times out waiting for user authentication to replicate
  • [SERVER-5898] - uncaught exception in mr_shard_version.js
  • [SERVER-5918] - invalid memory writes in sharding test suite
  • [SERVER-5920] - bad reload of database config
  • [SERVER-5924] - Implicit yield reporting in MultiCursor::recoverFromYield() can overstate the yield count if the cursor's current() document is deleted during a yield.
  • [SERVER-5926] - Segfault when procesing a command with empty namespace
  • [SERVER-5935] - count8.js sharding_passthrough tests
  • [SERVER-5936] - assertion (fassert) may be triggered by exact match geo lookup with $or
  • [SERVER-5940] - error in remove1.js
  • [SERVER-5941] - Failure in count6.js during sharding_passthrough
  • [SERVER-5942] - benchRun unable to find all config servers during mr_during_migrate.js
  • [SERVER-5948] - replSet member can fall out of RECOVERING back into SECONDARY even if no other node in the set can be authenticated against.
  • [SERVER-5950] - assert in repl13.js
  • [SERVER-5959] - Mongod crashes with access denied if you spawn multiple shells inserting in quick succession
  • [SERVER-5962] - "TypeError: result.remaining has no properties" in auth_add_shard.js
  • [SERVER-5963] - exception cloning object in replset7.js
  • [SERVER-5968] - geo_update_btree.js never completes, in debug mode only
  • [SERVER-5970] - QueryOptimizerCursorTests core test failure in Linux debug mode
  • [SERVER-5971] - replication timeout in replsets_priority1.js
  • [SERVER-5973] - Aggregation $sort should correctly handle dates before 1970
  • [SERVER-5986] - fsync deadlock issues
  • [SERVER-5993] - fsync_lock_read_secondaries.js fails on sharding_passthrough
  • [SERVER-5995] - capped collection has different hash on master/slave at end of where4.js
  • [SERVER-5996] - "uncaught exception: map reduce failed" in zbigMapReduce.js
  • [SERVER-5999] - page fault exception in ClientCursor::aboutToDelete() can leave another Cursor / ClientCursor in an inconsistent state
  • [SERVER-6001] - key matching is not handled properly for the $elemMatch operator
  • [SERVER-6003] - Query optimizer failure in core tests on linux 32-bit debug
  • [SERVER-6006] - moveChunk fails with migration already in progress
  • [SERVER-6020] - Exception in MongoMutexTest on Windows 32-bit
  • [SERVER-6021] - Need to make more constructors not access data
  • [SERVER-6022] - test failure in cursora.js
  • [SERVER-6031] - read only user can get write priority
  • [SERVER-6034] - OS X failing to build with "invalid character '%' in mnemonic" on atomic_word_test
  • [SERVER-6044] - "not enough storage is available" for MapViewOfFileEx
  • [SERVER-6045] - aggregate cmd crashes server with empty pipeline argument
  • [SERVER-6053] - query safety with PageFaultException
  • [SERVER-6061] - Null pointer dereference segfault in mongo shell
  • [SERVER-6073] - WIndows service installation hits assertion failure in src\mongo\db\client.h(262)
  • [SERVER-6077] - Build times out compiling queryoptimizertests.cpp on OS X 32-bit
  • [SERVER-6082] - "process cannot access the file" in remove2.js
  • [SERVER-6089] - balancer error in mrShardedOutput.js
  • [SERVER-6090] - uncaught exception in auth_add_shard.js
  • [SERVER-6091] - Uncaught exception in sync_passive2.js
  • [SERVER-6092] - chunks not balanced at end of no_balance_collection.js
  • [SERVER-6094] - sharding/remove2.js has cleanup issues at end of test, fails on Linux but blows up test on Windows
  • [SERVER-6103] - test failure in counttests.cpp
  • [SERVER-6114] - Windows compile failing with unresolved external symbols
  • [SERVER-6116] - buildbot zbigMapReduce.js counts failing in mapreduce
  • [SERVER-6130] - Replication timeout in moveprimary-replset.js
  • [SERVER-6132] - a failure inside MakeChunkWritable should call abort/fassert instead of assert
  • [SERVER-6133] - flushing connection pool can leak connections
  • [SERVER-6154] - failure in authCommands2
  • [SERVER-6155] - stale config server in sort1.js
  • [SERVER-6160] - TypeError in replsets/auth1.js
  • [SERVER-6164] - connection logging sometimes has no numbers
  • Improvement:
  • [SERVER-1506] - when sharding on a and need an index on a,b allow only a,b index
  • [SERVER-2023] - touch command to pre-heat a collection
  • [SERVER-2187] - Mongorestore should warn more
  • [SERVER-2545] - multi data center support via location aware sharding
  • [SERVER-2939] - Support Unicode fully in the Mongo shell (was "Linenoise UTF8 support")
  • [SERVER-3062] - Read from the nearest slave
  • [SERVER-3102] - invalidate querypattern when index becomes multikey
  • [SERVER-3356] - disk/yield lock - initial query
  • [SERVER-3636] - not in mem yielding for single doc delete
  • [SERVER-3735] - Reload settings every pass through the balancer loop
  • [SERVER-3746] - Support sharding GridFS on {files_id:1, n:1}
  • [SERVER-4156] - fix read only user support with sharding
  • [SERVER-4180] - Allow multiple constraints within a $elemMatch clause to be used with a multikey index
  • [SERVER-4392] - split network thread out from worker thread for secondaries
  • [SERVER-4407] - Log warnings on startup if (hard) rlimits are no good
  • [SERVER-4988] - printStackTrace on Windows
  • [SERVER-4992] - Disable dropDatabase command on "config" if sharded collections exist with data
  • [SERVER-5046] - per collection option to pad to power of 2
  • [SERVER-5083] - Include database name in auth log message
  • [SERVER-5246] - Move linenoise out of third_party
  • [SERVER-5459] - Add rs.syncFrom() helper
  • [SERVER-5468] - sslPEMKeyPassword Should not be visible in logs and similar
  • [SERVER-5475] - use chunk diffs instead of full chunk data reload in mongod and mongos
  • [SERVER-5492] - Complete serverStatus in FreeBSD
  • [SERVER-5648] - Improved support for native AtomicUInt64
  • [SERVER-5658] - Add more debugging info to applyOps code path
  • [SERVER-5706] - If only slaveDelay'd nodes are available, use them
  • [SERVER-5784] - Record all btree stats (stop sampling)
  • [SERVER-5790] - sharding_rs2.js failing during slowNightly tests
  • [SERVER-5863] - Have mongod --help show default values
  • [SERVER-5912] - Error message for too-long line in mongoimport is unclear
  • [SERVER-5934] - rewrite chunk delete
  • [SERVER-5977] - switch from list.sort() to sort(vector)
  • [SERVER-6019] - stats for PageFaultException
  • [SERVER-6023] - add an explicit requireOrder argument to NamespaceDetailsTransient::getCursor()
  • [SERVER-6039] - make ShardChunkManager not use data in constructor
  • New Feature:
  • [SERVER-211] - TTL collections
  • [SERVER-828] - Support for positional ($) operator in fields to return specifier
  • [SERVER-2238] - New projection operator $elemMatch
  • [SERVER-4632] - Display "Welcome to MongoDB" message first time a user runs mongo shell
  • [SERVER-5458] - --nohttpinterface option on mongos
  • [SERVER-5685] - Have multiple threads applying oplog ops
  • [SERVER-5777] - Add support for a range constraint on the first sort field to in/sort/limit optimization
  • [SERVER-5782] - need a $literal operator to help prevent injection attacks
  • [SERVER-5861] - Support a richer templating language in benchRun
  • [SERVER-5903] - pass limit to sharded count
  • Task:
  • [SERVER-5902] - check fileMD5 failure for count() problems
  • Sub-task:
  • [SERVER-4628] - good lock state reporting with the more granular locking
  • [SERVER-5794] - mongod should not check minor version on new connections

New in MongoDB 2.0.6 (Jun 27, 2012)

  • Bug:
  • [SERVER-2917] - Rest / HTTP interface not working with AUTH and command
  • [SERVER-4603] - when migrating the last chunk off of a shard for a collection, version set to 0 and does *not* block version reset
  • [SERVER-4609] - StringBuilder signed integer max buffer size spec is too low, can cause allocated memory buffer overflow upon call to BSONObj::toString()
  • [SERVER-4750] - Secondary syncs to another secondary that has slaveDelay > 0
  • [SERVER-4758] - OplogReader has no socket timeout
  • [SERVER-5040] - Cloner can fail to create unique indexes on initial sync
  • [SERVER-5353] - _id query on capped collection warning can be printed incorrectly
  • [SERVER-5405] - mongos does not send reads to secondaries after replica restart when using keyFiles
  • [SERVER-5581] - assertion when clearing the query pattern for an unsatisfiable query (2.0 only, already fixed in 2.1)
  • [SERVER-5746] - Wrong initialization for ReplicaSetMonitor Nodes
  • [SERVER-5791] - SConstruct failing to find os.environ['HOME']
  • Improvement:
  • [SERVER-3791] - compact always creates a new extent
  • [SERVER-5303] - yield when fetching a document for migrate
  • [SERVER-5706] - If only slaveDelay'd nodes are available, use them