MongoDB Changelog

New in version 3.1.5 Dev

July 10th, 2015
  • Bug SERVER-17254: WT: drop collection while concurrent oplog tailing may greatly reduce throughput
  • Bug SERVER-18902: Retrieval of large documents slower on WiredTiger than MMAPv1
  • Bug SERVER-19143: race in setting OpDebug ns can cause invalid BSON to be returned from currentOp command
  • Bug SERVER-18858: MatchExpression use-after-free after dropping partial index
  • Bug SERVER-18266: Standardize token-length limits between RLP and Snowball
  • Bug SERVER-18807: rollback should drop dblock when fetching docs over the network
  • Task SERVER-18435: Integrate RS monitor with RemoteCommandTargeterRS
  • Task SERVER-18438: Add a RemoteCommandTargeter to Shard
  • Task SERVER-18576: Enhance upload.py
  • Bug SERVER-19025: add fassertStatusOK to errorcodes.py
  • Improvement SERVER-17308: Replace boost::scoped_ptr with std::unique_ptr
  • Bug SERVER-19055: Cleanup memory in scoped_db_conn_test
  • Bug SERVER-18062: Creating an index on a collection in a non-existent database when connected to mongos throws error
  • Improvement SERVER-18839: Define suites for subsets of unittests from each major area of the codebase
  • Improvement SERVER-18810: FSM - sharding tests using 2 mongos
  • Improvement SERVER-17307: Replace uses of boost::shared_ptr with std::shared_ptr
  • Bug SERVER-18524: Different parsing for RLP index keys and queries leads to missing results
  • Task SERVER-18623: Create basic Executor interface and change ReplicationExecutor to implement it
  • Bug SERVER-18876: Coverity analysis defect 49646: Unchecked return value
  • Bug SERVER-18891: Coverity analysis defect 72756: Unchecked return value
  • Bug SERVER-18863: Coverity analysis defect 72746: PW.PARAMETER_HIDDEN
  • Bug SERVER-18778: Coverity analysis defect 72724: PW.PARAMETER_HIDDEN
  • Task SERVER-18791: Pull count command parsing into a separate library
  • Sub-task SERVER-18800: SERVER-17858 Expand support for $in queries to be answered by partial index
  • Bug SERVER-18552: Delimiters are indexed in text indexes
  • Improvement SERVER-17810: "matchTested" exec stage statistic is misleading
  • Improvement SERVER-17309: Replace std::auto_ptr with std::unique_ptr
  • Task SERVER-19041: Simplify mutex usage
  • Bug SERVER-18978: Fix comment word wrapping indentation
  • Task SERVER-18575: Add clang_format.py
  • Bug SERVER-18679: Wrong key count for reverse indexes in WT
  • Task SERVER-18579: Enforce clang-format in MCI
  • Improvement SERVER-18834: Expose way for how to run jstests specified on resmoke.py command line
  • Improvement SERVER-18756: resmoke.py should write combined report of repeated executions
  • Improvement SERVER-18572: resmoke.py should prefix test log output with a timestamp
  • Task SERVER-19069: Implement getTagsForCollection in the replica set catalog manager
  • Improvement SERVER-18953: Generate debug symbols on OS X
  • Improvement SERVER-9567: Add support for seperate debug info files on ELF
  • Task SERVER-19078: CatalogManager::getChunks should accept sort and limit
  • Bug SERVER-18459: Include third party notices file in enterprise zips
  • Improvement SERVER-18883: Separate user role resolution into own function
  • Improvement SERVER-17854: Allow $or predicates to be indexed by partial indexes
  • Improvement SERVER-18180: Clean up partial_index tests for style and clarity
  • Improvement SERVER-18878: FSM workloads with replication should be completed on secondary before next workload runs
  • Bug SERVER-17199: Fix building on platforms without execinfo.h
  • Task SERVER-18935: dbtests require journaling to be on
  • Bug SERVER-18954: Race in replset_distlock_manager_test can cause it to grab out of scope test mutex
  • Task SERVER-18950: Make LiteParsedQuery return StatusWith
  • Bug SERVER-18903: Unreachable code in DataReplicator::_onOplogFetchFinish
  • Improvement SERVER-18866: make global replication coordinator a decoration on service context
  • Task SERVER-18901: Move QueryFetcher out of data_replicator.cpp and into its own library
  • Task SERVER-17990: KMIP - refactor SSL interface to allow multiple outgoing certificates
  • Task SERVER-19020: Implement getChunks in the replica set catalog manager
  • Task SERVER-18723: Replace boost:: with stdx:: for concurrency types
  • Bug SERVER-15217: v2.6 query plan ranking test "NonCoveredIxisectFetchesLess" relies on order of deleted record list
  • Improvement SERVER-19029: Configure boost thread to more closely model the standard
  • Task SERVER-18167: handle BSON validation in OP_COMMAND/OP_COMMANDREPLY
  • Bug SERVER-18843: resmoke.py should not summarize all previous executions until it finishes
  • Bug SERVER-18859: Logging before dynamic initializers have run in thread_name.cpp leaks memory
  • Bug SERVER-17259: Coverity analysis defect 56350: Dereference null return value
  • Task SERVER-18996: Implement getAllShards for RS Catalog Manager and write accompanying tests
  • Task SERVER-19005: Support C++ death tests which test that the process terminates abnormally
  • Bug SERVER-19033: find command should validate 1st parameter
  • Task SERVER-18815: Shard object lifetime shoud be managed by the ShardRegistry
  • Task SERVER-18947: Implement getCollection in the replica set catalog manager
  • New Feature SERVER-18980: Include wiredtiger_ext.h in mongo integration
  • Bug SERVER-18974: dropCollection fails because setShardVersion request is incorrect
  • Bug SERVER-18976: replset_dist_lock_manager_test deadlock
  • Task SERVER-18780: decrease the timeout for selecting syncsource back to the original 30 seconds in server6733.js
  • Task SERVER-18949: Implement getDatabase in the replica set catalog manager
  • New Feature SERVER-18811: Improve OpenSSL crypto wrapper (Enterprise)
  • Task SERVER-18809: Community portion of ESE project
  • Bug SERVER-18939: Using /localhost to configure mongos causes segfault
  • Bug SERVER-19028: CommandRequest constructor should validate database name
  • Improvement SERVER-18870: AND_SORTED and AND_HASH may never have a non-null filter
  • Task SERVER-18551: Get an Evergreen project running with spidermonkey as the js-engine
  • Improvement SERVER-6686: xtime_get() method is deprecated
  • Bug SERVER-18143: Coverity analysis defect 72592: Argument cannot be negative
  • Bug SERVER-18309: Sparse indexes should not be assigned to {$in: [null, ...]} predicates
  • Task SERVER-18929: Add method to get how many bytes can be written in to ReplyBuilderInterface
  • New Feature SERVER-5044: $stdDev aggregation operator for standard deviation
  • Task SERVER-18292: Implement OP_COMMAND in mongos
  • Task SERVER-18236: Refactor metadata to use OP_COMMAND metadata object
  • Improvement SERVER-18991: Standardize on MONGO_DISALLOW_COPYING
  • Task SERVER-18385: implement dryrun elections
  • Improvement SERVER-17789: Remove options influenced variant directory generation
  • Task SERVER-18464: Move per-shard connection management to Shard
  • Task SERVER-18437: Improve Concurrency of Sharding registry
  • Bug SERVER-18053: Building with the enterprise module should error out if SSL is not enabled
  • Bug SERVER-18910: Path in distribution does not contain version
  • Task SERVER-18943: Test framework for Catalog Manager Replica set
  • Improvement SERVER-18797: Enable FSM sharded replication
  • Bug SERVER-18933: Resmoke doesn't honor --continueOnFailure in ASAN builds
  • Improvement SERVER-17858: Partial indexes should support more complex queries
  • Task SERVER-16912: Complete the implementation of GeoMatchExpression::equivalent()
  • Bug SERVER-13008: Encoding of projection for query plan cache should be type-insensitive
  • Bug SERVER-18376: Interface changes for SERVER-18099 broke C# 1.0 drivers from access to 3.1.x servers
  • Improvement SERVER-18588: Adjust read-after-optime interface
  • Bug SERVER-18736: Coverity analysis defect 72719: Dereference null return value
  • Task SERVER-18632: Sign build artifacts with 3.2 server key
  • Bug SERVER-19110: Ignore failed operations in mixed_storage_version_replication.js
  • Improvement SERVER-19052: Remove sizeStorer recalculations at startup with WiredTiger
  • New Feature SERVER-18898: separate evergreen project for collecting mongo-perf benchmarks
  • Task SERVER-18554: implement OP_COMMAND logging
  • Sub-task SERVER-18391: SERVER-18389 Remove PyYAML installation code from evergreen.yml
  • Task SERVER-19120: switch jscore_op_command to jscore_op_query now that we use OP_COMMAND by default
  • Improvement SERVER-19130: Specify Oplog size for mongo-perf benchmarks running with oplog
  • New Feature SERVER-4589: aggregation: need an array indexing operator
  • New Feature SERVER-14421: Support minDistance for $geoNear aggregation operator
  • Improvement SERVER-14872: Aggregation pipeline project expression operator to concatenate multiple arrays into one
  • Task SERVER-18868: Make startParallelShell() assert that the exit code is 0 by default
  • Bug SERVER-19127: unittest::Test::stopCapturingLogMessages has a sometimes fatal race condition
  • Bug SERVER-18979: Duplicate uassert & fassert codes
  • Bug SERVER-16790: Lengthy pauses associated with checkpoints under WiredTiger
  • Bug SERVER-18714: Coverity analysis defect 72703: Redundant test
  • New Feature SERVER-16737: support eviction_dirty_trigger for WiredTiger
  • Bug SERVER-19070: scons lint fails while downloading clang-format
  • Task SERVER-18153: Implement command repldata responses
  • Task SERVER-19010: support sending and receiving metadata in RemoteCommandRunner
  • Improvement SERVER-18717: compose electionId in OID format from term
  • Task SERVER-19035: Implement OP_COMMAND autodetection in the clientdriver
  • Task SERVER-18570: Add getters for Message _buf and _data
  • Task SERVER-19117: Implement asynchronous replication NetworkInterface
  • Task SERVER-19164: Enable /bigobj compiler option for Windows debug builds
  • Bug SERVER-18086: canonical_query_test helper parseNormalize() keeps pointers to memory inside freed BSONObj
  • Bug SERVER-15017: benchRun might return incorrect stats values
  • Bug SERVER-19004: mongos segfault with master nightly in Jenkins
  • Bug SERVER-17078: show databases taking extraordinarily long with wiredTiger
  • Task SERVER-18036: DataReplicator: Add steady state skeleton
  • Bug SERVER-19079: WiredTiger changes for MongoDB 3.1.5
  • Sub-task SERVER-19016: SERVER-18436 RS Catalog Manager implementation of user management command running
  • Sub-task SERVER-19021: SERVER-18436 RS Catalog Manager implementation of special config-only write methods (logAction, logChange, and applyChunkOpsDeprecated)
  • Sub-task SERVER-18596: SERVER-18525 Implement lock expiration takeover for replSets distlock manager
  • Sub-task SERVER-18589: SERVER-18525 Implement Dist Lock Catalog
  • Bug SERVER-17386: Cursor cache causes excessive memory utilization in WiredTiger
  • Bug SERVER-18838: DB fails to recover creates and drops after system crash
  • Task SERVER-19115: Clean up how we launch async operations in catalog manager unit tests to prevent deadlocks on assertion failures
  • Bug SERVER-18911: Update source tarball push
  • Bug SERVER-18962: Fatal assertion on profiling-enabled secondary when dropping system.profile collection on primary
  • Bug SERVER-18829: Cache usage exceeds configured maximum during index builds under WiredTiger
  • Bug SERVER-2454: Queries that are killed during a yield should return error to user instead of partial result set
  • Bug SERVER-19059: mismatch in protocolVersion field
  • Bug SERVER-19051: Cleanup memory allocated by SSLThreadInfo
  • Bug SERVER-19034: log command failures at level 1
  • Bug SERVER-19040: WhereMatchExpression::shallowClone can leak memory during interruption
  • Bug SERVER-19046: myTerminate terminate handler self deadlocks when re-entered
  • Bug SERVER-18977: Initscript does not stop a running mongod daemon
  • Task SERVER-17988: KMIP - client messaging API implementation
  • Bug SERVER-18485: Missing language aliases for experimental RLP languages
  • Improvement SERVER-19054: Don't be too chatty about periodic tasks taking a few ms
  • Improvement SERVER-18662: Refactor SSLManager's Constructor for Better Memory Management
  • Improvement SERVER-3495: Include sparse/attr in explain output
  • Bug SERVER-18873: Wrong value used in applyUntilAndPause uassert message
  • Improvement SERVER-15732: Abort election if term increases
  • Task SERVER-19002: Remove variantdir options from evergreen yaml files
  • Bug SERVER-18881: Limit with explain("executionStats") has limitAmount as 0
  • Improvement SERVER-9435: mongoutils::str::stripTrailing() is misnamed
  • Bug SERVER-18830: Explain on near query with limit leaves out last search interval
  • Bug SERVER-18894: OSX SSL builds should use unique filename
  • Bug SERVER-18998: UnboundLocalError when building with --sanitize=thread and without --llvm-symbolizer
  • Improvement SERVER-18501: Improve error message when server fails to start due to unsupported text index language
  • Improvement SERVER-10176: Implement $abs (absolute value) operator for aggregation framework
  • Improvement SERVER-19106: remove 'extra' variable from OpDebug
  • Question SERVER-18795: db.printSlaveReplicationInfo()/rs.printSlaveReplicationInfo() can not work with ARBITER role
  • Improvement SERVER-18660: Add C++11 final and override specifiers where appropriate in aggreggation classes
  • Improvement SERVER-19135: Tune default cache size settings for WiredTiger
  • Bug SERVER-19045: don't throw non-exceptions
  • Bug SERVER-18446: Improve error message when RLP's processBuffer function fails
  • Bug SERVER-18574: Typo in RLP error message when failing to create language context
  • Bug SERVER-18578: ErrorCodes::InternalError used for public facing messages in RLP code
  • Bug SERVER-18397: Lower the log level of the "Skipping RLP Initialization" message
  • Improvement SERVER-18502: Remove unused RLP declarations

New in version 3.1.4 Dev (June 17th, 2015)

  • Bug SERVER-18213: Lots of WriteConflict during multi-upsert with WiredTiger storage engine
  • Bug SERVER-17923: Creating/dropping multiple background indexes on the same collection can cause fatal error on secondaries
  • Bug SERVER-18629: WiredTiger journal system syncs wrong directory
  • Bug SERVER-18316: Database with WT engine fails to recover after system crash
  • Sub-task SERVER-18526: SERVER-18525 Create mock for command exec and targeter
  • Task SERVER-18039: Add Initial Sync Skeleton to DataReplicator
  • Sub-task SERVER-18491: SERVER-17858 Add support for $or query to be answered by partial index
  • Sub-task SERVER-18591: SERVER-18525 Implement background ping and unlock for replSets distlock manager
  • Bug SERVER-18739: Replication unit tests fail when run in parallel
  • Bug SERVER-18695: ElectionWinnerDeclarer::Algorithm::processResponse can call getValue() on non-OK StatusWith
  • Task SERVER-18478: Clean up AuthzManagerExternalState
  • Task SERVER-18291: Create a variant of the jscore suite for OP_COMMAND
  • Improvement SERVER-18748: Move cursor response generation functions to be under query
  • Improvement SERVER-18611: add non-static data member initializers to LiteParsedQuery
  • Improvement SERVER-18515: Make OperationContext useful in mongos
  • Bug SERVER-18804: Invariant failure when running explained update against config or admin db in sharded cluster
  • Improvement SERVER-13990: Improved warning for low cardinality keys
  • Bug SERVER-18580: jsobj (dbtest): JsobjTests::OIDTests::FromDate failure
  • Improvement SERVER-18365: Get rid of MatchExpression::NIN match type
  • Improvement SERVER-14995: OperationContext should have a constant id for whole lifetime
  • Task SERVER-17660: Rename index option "filter" to "partialFilterExpression"
  • Task SERVER-18152: V1 repl election protocol commands
  • Task SERVER-18216: Add term to oplog
  • Task SERVER-18033: Data Replicator: Pause/Resume
  • Bug SERVER-18600: resmoke.py should avoid assigning duplicate ports to mongod processes
  • Improvement SERVER-16265: Add query details to getmore entry in profiler and db.currentOp()
  • Bug SERVER-18673: ScopedThreads used by parallel suite do not get TestData configuration
  • Improvement SERVER-18799: Reduce flakiness of max_time_ms.js
  • Bug SERVER-17526: option to allow disabling job object creation in smoke.py for win32
  • Bug SERVER-18582: Coverity analysis defect 72708: PW.PARAMETER_HIDDEN
  • Improvement SERVER-18495: Enable FSM replication tests
  • Bug SERVER-18813: ClusterPipelineCmd can fail to throw RecvStaleConfigException when merging cursors
  • Bug SERVER-18827: repl1.js repl6.js failure
  • Improvement SERVER-18280: ReplicaSetMonitor should use electionId to avoid talking to old primaries
  • Bug SERVER-18157: Coverity analysis defect 72637: Inferred misuse of enum
  • Bug SERVER-18806: CPU profiler commands cannot find gperftools header files
  • Task SERVER-18462: Apply FSM capped collection patch
  • Task SERVER-18032: Data Replicator: flushAndPause
  • Task SERVER-18563: DataReplicator: Limit the buffered ops size
  • Bug SERVER-18461: Range predicates comparing against a BinData value should be covered, but are not in 2.6
  • Bug SERVER-6826: Potential memory leak in ConnectionString::connect
  • Bug SERVER-18737: Balancer::run can call getValue() on non-OK StatusWith
  • Bug SERVER-18617: resmoke.py should not error when attempting to tear down fixtures which have not been set up.
  • Improvement SERVER-18605: Include thread id in log messages
  • Task SERVER-17607: Hook OP_COMMAND/OP_COMMANDREPLY into mongod command dispatch/response logic
  • Task SERVER-18127: Get rid of the ConfigServer class and global configServer variable
  • Bug SERVER-6801: aggregation $substr expression can output invalid UTF8
  • Bug SERVER-18504: "Lock for createDatabase is taken" triggered by mongorestore restoring multiple collections in parallel
  • Improvement SERVER-18371: Add SSL library config detection
  • Improvement SERVER-18667: Remove the ReplicaSetMonitor remembered seed list
  • Improvement SERVER-18007: StatusWith should work with non-default constructible T
  • Task SERVER-17575: Handle BSONObj size limits for find/getMore commands
  • Task SERVER-18254: implement heartbeat protocol portion of the new election protocol
  • Task SERVER-18569: Get ASIO vendored into third_party on master
  • Task SERVER-18848: enable perf statistics collection in evergreen
  • Bug SERVER-18825: dropDatabase command provides no indication of whether database existed
  • Improvement SERVER-18621: Remove concurrency_compat tests for FSM
  • Task SERVER-18297: replace all uses of db.$cmd.findOne() with db.runCommand in shell js and jstests
  • Bug SERVER-18669: primary should step down if it sees a higher term in new consensus protocol
  • Improvement SERVER-18445: Define the aggregation suite to include everything in jstests/aggregation/bugs/, and remove jstests/aggregation/testbugs.js
  • Task SERVER-17608: Implement OP_COMMAND/OP_COMMANDREPLY in the shell
  • Improvement SERVER-4444: Make replica sets (Applier) more testable
  • Bug SERVER-18481: Fix tcmalloc patch to be upstream-able
  • Bug SERVER-18801: multi_host_query_test suite is non-deterministic
  • Bug SERVER-18482: db.currentOp(True) does not return client information on idle connections
  • Bug SERVER-18738: FindAndModifyCommand::run can create an invalid StatusWith
  • Task SERVER-18599: resmoke.py should wait longer for mongod to start
  • Improvement SERVER-18664: Refactor command error handling
  • Bug SERVER-18355: awaitReplication may not wake up and timeout when maxTimeMs runs out.
  • Improvement SERVER-18487: shell helper getCollectionInfos should take optional query
  • Improvement SERVER-18016: Add Data Replicator Applier skeleton
  • Improvement SERVER-18031: Data Replicator : resync
  • Improvement SERVER-17310: Provide stdx polyfills for std:: implementation of boost concurrency types
  • Improvement SERVER-18215: DataReplicator Applier: Always disable unique index constraints
  • Improvement SERVER-18486: delete copy constructor/assignment operator in MONGO_DISALLOW_COPYING
  • Task SERVER-18634: Move legacy catalog manager schema upgrade code inside CatalogManagerLegacy
  • Task SERVER-18035: Data Replicator: Refactor Rollback Code
  • Bug SERVER-17747: FreeBSD 11.0-CURRENT build issue
  • Improvement SERVER-18444: Improve explain output of aggregation command in sharded cluster
  • Bug SERVER-18514: Improve Multi-Word Term Search performance with RLP
  • Bug SERVER-18527: Coverity analysis defect 72699: PW.PARAMETER_HIDDEN
  • Bug SERVER-18635: transitioning_to_and_from_WT.js should test upgrading from 3.0 to 3.1.x
  • Task SERVER-18587: Move ReadPreference to a separate library
  • Improvement SERVER-18499: Move ConfigDiffTracker to a separate .cpp file
  • Improvement SERVER-17664: Add collection/oplog Fetcher to Data Replicator
  • Bug SERVER-8728: jstests/profile1.js is a race and fails randomly
  • Bug SERVER-18764: Only use elapsedMillis when command succeeds
  • Bug SERVER-18129: Coverity analysis defect 72415: Unchecked return value
  • Bug SERVER-13237: benchRun should use a thread-safe random number generator
  • Sub-task SERVER-18390: SERVER-18389 Check dbhash of all databases during core_small_oplog and core_small_oplog_rs
  • Bug SERVER-18178: Fix mr_drop.js test to not fail from nondeterministic collection drop timing
  • Task SERVER-18037: DataReplicator Applier: add applyUntilAndPause behavior
  • Bug SERVER-18792: Secondaries fassert when replicating createCollection op with missing size value
  • Task SERVER-17861: Change default for --storageEngine in development release
  • Task SERVER-17577: Allow the query system to make use of differentiating between batchSize and limit
  • Task SERVER-17774: Cleanup the parsing of ChunkType and move it under catalog/
  • Sub-task SERVER-18590: SERVER-18525 Implement lock & unlock for replSets distlock manager
  • Task SERVER-18616: Rename remoteCommandExecutor to remoteCommandRunner
  • Improvement SERVER-7656: Optimize aggregation on sharded setup if first stage is exact match on shard key
  • Task SERVER-18184: Add awaitData support to getMore command
  • Bug SERVER-16311: WiredTiger: lsm-worker: LSM metadata write: Cannot allocate memory
  • Improvement SERVER-17329: Improve management of server version in build system
  • Improvement SERVER-17782: Generate source tarballs with pre-interpolated version metadata files from SCons
  • Bug SERVER-18573: Change the casing of the basisTech.RootDirectory YAML config option
  • Improvement SERVER-18597: Add support for dumping ASan code coverage data
  • Task SERVER-18568: Remove ConnectionString::PAIR
  • Bug SERVER-18529: registerRlpLanguages return code is ignored in RLP initializer
  • Bug SERVER-16741: Unable to create wiredTiger database with name containing ASCII control character with directoryperdb
  • Task SERVER-18798: Move FindAndModifyRequest to the request/response library
  • Bug SERVER-18696: Typo in RLP error message when failing to initialize RLP environment
  • Bug SERVER-18423: Typo in aggregation $map and $filter error messages

New in version 3.0.4 (June 17th, 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 version 3.0.3 (May 13th, 2015)

  • Highlights:
  • 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
  • Fixed issues:
  • Task SERVER-18344: logs should be sent to updated logkeeper server
  • Bug SERVER-18304: duplicates on FindAndModify with remove option
  • Bug SERVER-18302: remove test buildlogger instance
  • Bug SERVER-18299: Use ld wrapper for compiling Enterprise GO tools in RHEL 5
  • Task SERVER-18293: ASAN tests should run on larger instance size
  • Bug SERVER-18290: Adding a read role for a user doesn't seem to propagate to secondary until restart
  • Bug SERVER-18262: setup_multiversion_mongodb should retry links download on timeouts
  • Bug SERVER-18239: dumpauth.js uses ambiguous --db/--collection args
  • Bug SERVER-18229: Smoke.py with PyMongo 3.0.1 fails to run certain tests
  • Bug SERVER-18211: MongoDB fails to correctly roll back collection creation
  • Bug SERVER-18205: WiredTiger changes for MongoDB 3.0.3
  • Bug SERVER-18192: Crash running WiredTiger with "cache_resident=true"
  • Bug SERVER-18169: Regression: Auth enabled arbiter cannot be shutdown using command
  • Bug SERVER-18140: Allow getParameter to be executed locally against an arbiter in an authenticated replica set
  • Bug SERVER-18111: mongod allows user inserts into system.profile collection
  • Bug SERVER-18087: index_retry.js and index_no_retry.js not checking for presence of "progress" field in currentOp() result
  • Improvement SERVER-18082: Change smoke.py buildlogger command line options to environment variables
  • Bug SERVER-18073: Fix smoke.py to work with pymongo 3.0
  • Bug SERVER-18051: OpenSSL internal error when using SCRAM-SHA1 authentication in FIPS mode
  • Bug SERVER-18021: Allow serverStatus to be executed locally against an arbiter in an authenticated replica set
  • Bug SERVER-18014: Dropping a collection can block creating a new collection for an extended time under WiredTiger
  • Bug SERVER-17998: Ignore socket exceptions in initial_sync_unsupported_auth_schema.js test
  • Bug SERVER-17961: THIRD-PARTY-NOTICES.windows needs to be updated
  • Bug SERVER-17951: db.currentOp() fails with read preference set
  • Improvement SERVER-17939: Backport mongo-rocks updates to v3.0 branch
  • Bug SERVER-17908: Allow getCmdLineOpts to be executed locally against an arbiter in an authenticated replica set
  • Bug SERVER-17907: B-tree eviction blocks access to collection for extended period under WiredTiger
  • Improvement SERVER-17892: Explicitly turn checksum on for all collections/indexes in WiredTiger by default
  • Bug SERVER-17889: Using eval command to run mapReduce with non-inline "out" option triggers fatal assertion failure
  • Bug SERVER-17882: Update with key too large to index crashes WiredTiger/RockDB secondary
  • Bug SERVER-17835: Aggregation geoNear deprecated uniqueDocs warning
  • Bug SERVER-17832: Memory leak when MongoD configured with SSL required and handle insecure connection
  • Bug SERVER-17820: Windows service stop can lead to mongod abrupt termination due to long shutdown time
  • Bug SERVER-17815: Plan ranking tie breaker is computed incorrectly
  • Bug SERVER-17812: LockPinger has audit-related GLE failure
  • Bug SERVER-17780: Init script sets process ulimit to different value compared to documentation
  • Bug SERVER-17761: RestAdminAccess/NoAdminAccess objects leak at shutdown
  • Bug SERVER-17749: collMod usePowerOf2Sizes fails on mongos
  • Improvement SERVER-17745: Improve dirty page estimation in mmapv1 on Windows
  • Bug SERVER-17730: Parsing of Variables on Windows doesn't respect windows conventions
  • Improvement SERVER-17694: support RPATH=value in top-level SConstruct
  • Improvement SERVER-17591: Add SSL flag to select supported protocols
  • Bug SERVER-17465: --use-system-tcmalloc does not support tcmalloc setParameters and extension
  • Task SERVER-17453: warn that db.eval() / eval command is deprecated
  • Improvement SERVER-17273: Add support for secondaryCatchupPeriodSecs to rs.stepdown shell helper
  • Bug SERVER-16987: sh.getRecentMigrations shows aborted migration as success
  • Bug SERVER-16636: Deadlock detection should check cycles for stability or should be disabled
  • Bug SERVER-16073: Allow disabling SSL Ciphers via hidden flag: sslCipherConfig
  • Improvement SERVER-12235: Don't require a database read on every new localhost connection when auth is on
  • Improvement SERVER-9220: allow more than two values in the coordinate-array when using 2dsphere index

New in version 3.1.2 Dev (April 30th, 2015)

  • Bug SERVER-17972: basic.js/basicPlus.js in the parallel suite and durability_passthrough are broken
  • Bug SERVER-17689: Server crash during initial replication sync
  • Bug SERVER-17907: B-tree eviction blocks access to collection for extended period under WiredTiger
  • Bug SERVER-18201: disk/repair5.js fails intermittently
  • Task SERVER-17723: Sharding catalog cache
  • Bug SERVER-17832: Memory leak when MongoD configured with SSL required and handle insecure connection
  • Improvement SERVER-18064: Move shard.cpp under the sharding client library
  • Improvement SERVER-18072: Pull ShardingConnectionHook into its own library
  • Improvement SERVER-18080: Move cluster commands out of mongoscore
  • Bug SERVER-17961: THIRD-PARTY-NOTICES.windows needs to be updated
  • Bug SERVER-17964: sharding_jscore_passthrough.js test should only start with one shard
  • Task SERVER-17775: Cleanup the parsing of ShardType and move it under catalog/
  • Bug SERVER-18051: OpenSSL internal error when using SCRAM-SHA1 authentication in FIPS mode
  • Improvement SERVER-18101: Remove usage of default_version.cpp
  • Bug SERVER-17815: Plan ranking tie breaker is computed incorrectly
  • Bug SERVER-17455: Configure checks for __atomic and __sync should verify all required functions
  • Bug SERVER-15901: Cleanup unused locks on the lock manager
  • Bug SERVER-17447: Failed to build on Linux i686 with clang
  • Bug SERVER-17514: Don't close handles until a threshold of in-use handles has been reached
  • Improvement SERVER-17781: Add SCons Variables for C and C++ compiler
  • Improvement SERVER-17909: move RunOnAllShardsCommand to a separate file
  • Task SERVER-17620: RLP Tokenizer (includes C++ unit tests)
  • Improvement SERVER-17770: CollectionLock::relockWithMode() shouldn't relock database
  • Sub-task SERVER-17876: SERVER-17865 Coverity analysis defect 71768: PW.USELESS_TYPE_QUALIFIER_ON_RETURN_TYPE
  • Bug SERVER-17328: Add class invariant that collection exists to MultiPlanStage/SubplanStage/CachedPlanStage
  • Improvement SERVER-17986: Allow Variables based configuration of the ENV scons variable
  • Task SERVER-17621: RLP English Testability hooks & JS unit tests
  • Improvement SERVER-17993: Stop using end cursor in WiredTigerIndexCursors
  • Task SERVER-18070: Split ConnectionString out of dbclientinterface and into its own file
  • Improvement SERVER-17718: change showDiskLoc to showRecordId
  • Bug SERVER-18224: jsCore_small_oplog test times out on Ubuntu with RocksDB
  • Task SERVER-17968: Move configServer.allUp to the catalog manager
  • Task SERVER-17774: Cleanup the parsing of ChunkType and move it under catalog/
  • Bug SERVER-17900: decorable compilation warnings on VS2013
  • Bug SERVER-18199: WiredTiger changes for MongoDB 3.1.2
  • Task SERVER-17932: Ensure passthrough tests are resilient to the tests they run overriding global variables
  • Improvement SERVER-17880: Convert OpTime -> Timestamp, make new OpTime
  • Task SERVER-17938: Don't send test output to /dev/null in sync6.js test
  • Bug SERVER-17901: Memory leak in IndexCatalog::_isSpecOk()
  • Bug SERVER-17917: Config DB gets updated even though the user has no permissions
  • Task SERVER-17931: change downgrade_replset.js to use latest stable instead of 2.6
  • Task SERVER-18024: Move collection metadata manipulation under the catalog manager
  • Task SERVER-18055: Move legacy config server upgrade to the legacy catalog manager
  • Task SERVER-18009: Move collection drop to the catalog manager
  • Improvement SERVER-17897: Add a way to opt out of building modules
  • Bug SERVER-18078: logOp fassert when running mapReduce during primary step-down
  • Bug SERVER-17898: Intermittent config server check failures (uncovered by 4_upgrade_cluster.js)
  • Bug SERVER-17918: mixed_storage_version_replication.js
  • Bug SERVER-18147: Take distributed lock on database creation
  • Sub-task SERVER-17874: SERVER-17865 Coverity analysis defect 20291: PW.PARAMETER_HIDDEN
  • Improvement SERVER-15207: Return errors from commands during replication
  • Bug SERVER-17933: Invalid database name check should not cause the connection to be closed
  • Task SERVER-18110: Add Reporter to Data Replicator
  • Bug SERVER-17962: turn on task stepback for mongodb-master
  • Sub-task SERVER-17867: SERVER-17865 Coverity analysis defect: Unchecked return value
  • Improvement SERVER-14750: Convert RPM and DEB mongod.conf files to new YAML format
  • Bug SERVER-15047: Timestamp class relies on undefined behavior
  • Task SERVER-17606: Implement OP_COMMAND/OP_COMMANDREPLY message serialization/deserialization
  • Task SERVER-17450: Replace all instances of startMongod in jstest code with MongoRunner.runMongod
  • Task SERVER-17800: remove dead auditing functions for pseudo-commands
  • Bug SERVER-18176: Add RLP tasks to MCI
  • Improvement SERVER-17802: add fassertStatusOK for StatusWith
  • New Feature SERVER-17957: Create OpenSSL EVP crypto wrapper for AES
  • Improvement SERVER-15225: CachedPlanStage should execute for trial period and re-plan if query performs poorly
  • Bug SERVER-17866: Make minimum Windows build version Vista/2008
  • Task SERVER-18121: Move action logging to the catalog manager
  • Bug SERVER-17817: Consolidate Client, ClientBasic and ClientInfo into one type
  • Improvement SERVER-18108: catch boost::exception in our terminate handler
  • Improvement SERVER-10909: Replace jstest calls to MongodRunner
  • Improvement SERVER-18023: Don't await commit when applying logops in initial sync
  • Task SERVER-18071: mongosGlobalParams.configdbs should be a ConnectionString, not a vector of host strings
  • Improvement SERVER-18177: _getReplicationMode_inlock is both misleading and unnecessary as no mutex is required to read _replMode
  • Sub-task SERVER-17875: SERVER-17865 Coverity analysis defect 48577: Redundant test
  • Bug SERVER-18052: Race condition in collection_cloner_test
  • Task SERVER-17848: Use the catalog manager to query shards in a sharded cluster
  • Bug SERVER-17566: Remove PCRE defines from SConstruct
  • Task SERVER-17894: Add Collection Cloner to Data Replicator
  • Improvement SERVER-17823: Raise compiler minimum check to VS2013 Update 4
  • Improvement SERVER-17635: Improve SortedDataInterface::Cursor API
  • Task SERVER-17657: Ensure filter/sparse combination is illegal
  • Bug SERVER-18054: Crash when running findAndModify against non-existent collection
  • Improvement SERVER-16063: Rewrite findAndModify
  • Bug SERVER-17946: Segfault when running sharding dbtest
  • Sub-task SERVER-17868: SERVER-17865 Coverity analysis defect 17143: Resource leak
  • New Feature SERVER-17919: Add support for emitting a compilation database from SCons
  • Sub-task SERVER-17870: SERVER-17865 Coverity analysis defect 29897: Copy without assign
  • Task SERVER-18122: Move sharding global settings retrieval to the catalog manager
  • Improvement SERVER-7775: Make special commands (inprog, killop, unlock) go through the standard command codepath
  • Improvement SERVER-17496: Cleanup and modularize sharding code
  • Bug SERVER-17034: Deadlock between poorly-formed copydb and reading admin.system.users for localhost exception check
  • Improvement SERVER-17633: Public static methods in Explain class should take in-arguments as const
  • Improvement SERVER-17573: move collection creation OpObserver::onCreateCollection down into createCollection, et cetera
  • Task SERVER-18133: Make LogstreamBuilder truly movable
  • Task SERVER-18015: Add Database Cloner to Data Replicator
  • Task SERVER-18104: Prevent mongos from starting when pointing to a standalone config server
  • Task SERVER-17969: Move shardCollection to the catalog manager
  • Improvement SERVER-17910: Remove unused test in db.cpp
  • Improvement SERVER-17971: Improve test infrastructure to allow ShardingTest to use a replica set for the config servers
  • Improvement SERVER-17803: Constructing an error StatusWith should not require copy of Status/std::string
  • Improvement SERVER-15860: Switch replication metadata ops to be replication-specific, rather than using commands
  • Task SERVER-17755: Remove legacy code from build system
  • Bug SERVER-17954: Coverity analysis defect 72085: Redundant test
  • Task SERVER-17760: moveChunk, mergeChunk, splitChunk commands should use catalog manager to connect to config servers
  • Task SERVER-17619: RLP library loading
  • Task SERVER-17772: listDatabases command should use the catalog manager
  • New Feature SERVER-17965: Allow using a single node replica set as a config server
  • Improvement SERVER-17662: Add initial Data Replicator interface
  • Bug SERVER-17948: Coverity analysis defect 72088: Redundant test
  • Improvement SERVER-17864: boost::optional triggers spurious -Wmaybe-uninitialized warnings on g++
  • Improvement SERVER-18050: handle boost exceptions in exceptionToStatus
  • Bug SERVER-17951: db.currentOp() fails with read preference set
  • Bug SERVER-17889: Using eval command to run mapReduce with non-inline "out" option triggers fatal assertion failure
  • Bug SERVER-17882: Update with key too large to index crashes WiredTiger/RockDB secondary
  • Bug SERVER-17908: Allow getCmdLineOpts to be executed locally against an arbiter in an authenticated replica set
  • Improvement SERVER-17591: Add SSL flag to select supported protocols
  • Bug SERVER-18239: dumpauth.js uses ambiguous --db/--collection args
  • Bug SERVER-18021: Allow serverStatus to be executed locally against an arbiter in an authenticated replica set
  • Bug SERVER-18229: Smoke.py with PyMongo 3.0.1 fails to run certain tests
  • Bug SERVER-17998: Ignore socket exceptions in initial_sync_unsupported_auth_schema.js test
  • Bug SERVER-18073: Fix smoke.py to work with pymongo 3.0
  • Task SERVER-18097: Remove mongosTest_auth and mongosTest_WT tasks from evergreen.yml
  • Improvement SERVER-17332: getmore/query logging/profiling should indicate cursor exhaustion
  • Improvement SERVER-18102: Remove ServerAndQuery
  • Bug SERVER-18192: Crash running WiredTiger with "cache_resident=true"
  • Bug SERVER-17937: Remove the 'exception: ' prefix to errors returned from command processing
  • Bug SERVER-18087: index_retry.js and index_no_retry.js not checking for presence of "progress" field in currentOp() result

New in version 3.0.1 (March 21st, 2015)

  • Highlights:
  • 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 version 3.0.0 (March 10th, 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 version 2.6.8 (February 28th, 2015)

  • Add listCollections command functionality to 2.6 shell and client SERVER-17087
  • copydb/clone commands can crash the server if a primary steps down SERVER-16599
  • Secondary fasserts trying to replicate an index SERVER-16274
  • Query optimizer should always use equality predicate over unique index when possible SERVER-15802
  • All issues closed in 2.6.8

New in version 2.6.8 RC 0 (February 18th, 2015)

  • Bug SERVER-16655: Geo predicate is unable to use compound 2dsphere index if it is root of $or clause
  • Bug SERVER-16421: sharding_rs2.js should clean up data on all replicas
  • Bug SERVER-15802: Query optimizer should always use equality predicate over unique index when possible
  • Bug SERVER-17191: Spurious warning during upgrade of sharded cluster
  • Improvement SERVER-15471: Better error message when replica is not found in GhostSync::associateSlave
  • Bug SERVER-17163: Fatal error "logOp but not primary" in MigrateStatus::go
  • Bug SERVER-16527: 2dsphere explain reports "works" for nscanned & nscannedObjects
  • Bug SERVER-14572: Increase C runtime stdio file limit
  • Bug SERVER-16984: UpdateLifecycleImpl can return empty collectionMetadata even if ns is sharded
  • Bug SERVER-15400: Create Windows Enterprise Zip File with vcredist and dependent dlls
  • Bug SERVER-10904: Possible for _master and _slaveConn to be pointing to different connections even with primary read pref
  • Bug SERVER-17216: 2.6 mongostat cannot be used with 3.0 mongod
  • Bug SERVER-16599: copydb/clone commands can crash the server if a primary steps down
  • Bug SERVER-16315: Replica set nodes should not threaten to veto nodes whose config version is higher than their own
  • Bug SERVER-16274: secondary fasserts trying to replicate an index
  • Bug SERVER-17278: BSON BinData validation enforcement
  • Improvement SERVER-17264: improve bson validation
  • Bug SERVER-17022: No SSL Session Caching may not be respected
  • Improvement SERVER-17087: Add listCollections command functionality to 2.6 shell & client
  • Bug SERVER-14756: The YAML storage.quota.enforced option is not found
  • Bug SERVER-14190: mongorestore parseMetadataFile passes non-null terminated string to 'fromjson'
  • Bug SERVER-14044: Incorrect {$meta: 'text'} reference in aggregation $sort error message
  • New Feature SERVER-14803: Support static libstdc++ builds for non-Linux builds

New in version 3.0.0 RC 8 (February 6th, 2015)

  • Bug SERVER-17100: mongod hung running mongo-perf
  • Bug SERVER-17132: Index contains extra entries
  • Bug SERVER-17115: insert workload stalls on oplog truncates
  • Bug SERVER-17107: Replica set, with only one voter, invariants during election
  • Bug SERVER-17167: Shell breaks when a multiline function is input
  • Bug SERVER-17129: logOp fassert when creating namespace on stepped-down primary via legacy update
  • Bug SERVER-17114: WiredTiger capped collection cursor needs to go DEAD when restoreState to a deleted doc
  • Bug SERVER-17150: logOp fassert when dropping collection on stepped-down primary
  • Bug SERVER-17117: boost::lock_error in CachedPlanStage::updateCache when destructing CountStage
  • Bug SERVER-17067: Burst of highly contended updates causes mongod with oplog to be irresponsive
  • Bug SERVER-17108: Need to log member name during config loading
  • Bug SERVER-17097: Rocks compilation error in RocksRecoveryUnit::beginUnitOfWork
  • Bug SERVER-17142: corruption in sizeStorer.wt file after kill -9 on server
  • Task SERVER-17136: Update man pages
  • Bug SERVER-17094: repairing local db with WiredTiger will deadlock with the oplog cleaning thread and crash
  • Bug SERVER-17161: Fix Rocks build broken with getSnapshotId() virtual function
  • Bug SERVER-17096: Test "replsets/resync.js" should ensure first node is always primary
  • Bug SERVER-17123: Always stop background sync thread when we become primary
  • Bug SERVER-17172: Check _lastLoc for sentinel in WTRecordStore::Iterator::restoreState for capped collections
  • Bug SERVER-15308: Stepdown does not cancel active (background) index builds causing shutdown on completion
  • Bug SERVER-17181: Correctly invalidate RocksDB cursor when restoring to a deleted doc
  • Bug SERVER-17179: check for replicaset stepdown in cloner
  • Bug SERVER-16997: wiredtiger's "bytes currently in the cache" exceeds "maximum bytes configured" and eviction threads are deadlocked
  • Bug SERVER-17164: mongod sometimes crashes when restarting to disable auth
  • Bug SERVER-17185: replsets/auth1.js error handling is confusing and unhelpful
  • Bug SERVER-17173: 3.0 Mongos should support listCollections and listIndexes even when the shard server is running 2.6 mongod
  • Bug SERVER-16866: Coverity analysis defect 44225: Redundant test
  • Improvement SERVER-17126: Improve rocks engine
  • Improvement SERVER-17133: Fail verbosely when RocksDB's disk format changes

New in version 3.0.0 RC 7 (January 29th, 2015)

  • Bug SERVER-17037: output of "top" command is zero on secondary running WT
  • Bug SERVER-17080: shutdown on secondary could lose last op applied
  • Bug SERVER-17056: On shutdown and database drop data files can be closed before the journal thread has finished applying
  • Bug SERVER-17025: Handle leak when WT enabled - Only on windows
  • Task SERVER-17006: Support "random" failpoint activation
  • Improvement SERVER-16604: Improve integration with rocks
  • Bug SERVER-16984: UpdateLifecycleImpl can return empty collectionMetadata even if ns is sharded
  • Task SERVER-15704: Re-enable resync.js
  • Improvement SERVER-17057: Make sure inserts succeeded in sync_conn_cmd.js before testing
  • Bug SERVER-17071: Resync crashes secondary
  • Bug SERVER-16967: WT_WITH_TABLE_LOCK assert failure during compact
  • Bug SERVER-16921: WT oplog bottleneck on secondary
  • Bug SERVER-16773: Performance degradation due to TCMalloc scalability
  • Bug SERVER-17068: 3.0.0-rc6 cannot build with the 3.25 JS engine
  • Bug SERVER-17079: stepdown_long_wait_time.js
  • Bug SERVER-17083: Background thread for oplog clean-up can timeout during repair (invariant failure)
  • Bug SERVER-17027: Inserts that create a collection can segfault if there is an ill-timed WriteConflictException
  • Bug SERVER-17036: db.runCommand({startupWarnings:1}) includes spurious line
  • Bug SERVER-17053: drop and dropIndexes commands should not return WriteConflict error to users
  • Bug SERVER-17061: create, createIndex, and dropDatabase should not return WriteConflict
  • Bug SERVER-17091: removed nodes should not attempt to create update position commands as they will segfault when trying to grab their member config from the replset config
  • Bug SERVER-17030: handle WCE in index builds
  • Bug SERVER-17028: TTL Monitor has to handle WriteConflictException
  • Improvement SERVER-17000: Drop the { ts: 1 } index during --upgrade
  • Bug SERVER-17021: Significant WT Performance Regression on "modified" FSM workload
  • Bug SERVER-16893: Invariant failure: out-of-order index keys with v0 WiredTiger index
  • Bug SERVER-17012: Server Terminates Javascript Execution for GroupStage Setup with a Timeout
  • Bug SERVER-17063: make filemd5 handle WriteConflictException
  • Improvement SERVER-16951: Restrict maximum number of in-flight operations
  • Bug SERVER-17077: jstests/core/evalc.js should not run indefinitely if background shell fails
  • Bug SERVER-17020: Evictions by eviction server threads are reported as evictions by application threads
  • Bug SERVER-17001: possible overflow in maxmempage calculation

New in version 3.0.0 RC 6 (January 24th, 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 version 2.8.0 RC 5 (January 16th, 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 version 2.6.7 RC 0 (January 8th, 2015)

  • Closed issues:
  • SERVER-16237: Don't check the shard version if the primary server is down
  • SERVER-14306: mongos can cause the in-memory sort limit to be hit on shards by requesting more results than needed
  • SERVER-16732: SyncSourceFeedback::replHandshake() may perform an illegal erase from a std::map in some circumstances
  • SERVER-16408: max_time_ms.js should not run in parallel suite
  • SERVER-16683: Decrease mongos memory footprint when shards have several tags
  • SERVER-16081: init.d mongod startup script fails, with dirname message
  • SERVER-15766: prefix_shard_key.js depends on primary allocation to particular shards

New in version 2.8.0 RC 4 (December 27th, 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 version 2.6.6 (December 10th, 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 version 2.8.0 RC 2 (December 6th, 2014)

  • Bug SERVER-16279: rollback_too_new.js
  • Bug SERVER-16291: Cannot set/list/clear index filters on the secondary
  • Bug SERVER-16315: Replica set nodes should not threaten to veto nodes whose config version is higher than their own
  • Bug SERVER-15318: copydb should not use exhaust flag when used against mongos
  • Bug SERVER-16283: Can't start new wiredtiger node with log file or config file in data directory - false detection of old mmapv1 files
  • Bug SERVER-15986: Starting with different storage engines in the same dbpath should error/warn
  • Bug SERVER-16289: WiredTiger crashes due to NULL btree handle
  • Bug SERVER-16354: Memory leak in IndexCatalogEntry::setMultikey
  • Bug SERVER-16161: log heartbeat failures and cause
  • Task SERVER-16320: Temporarily disable v28_bad_upgrade_order.js, 2_test_launching_cluster.js
  • Improvement SERVER-16040: convert any invariantWTOK to wtRCToStatus where possible
  • Bug SERVER-16252: DBConnectionPool::flush should fully flush connection pool
  • Bug SERVER-16067: Contention on lockmgr buckets in MMAPv1
  • Bug SERVER-16333: hot replication mutex
  • Bug SERVER-15908: DBExplainQuery.addOption does not honor slaveOk
  • Task SERVER-15957: Get OperationContext for ReplicationCoordinator::signalDrainComplete from the caller
  • Task SERVER-15875: Remove "new" from newRunQuery, newGetMore, and new_find.{h,cpp}
  • Bug SERVER-16374: toostale.js assumes master is node 0
  • Bug SERVER-16306: auth2.js
  • Bug SERVER-16407: lock_mgr_test reports leaks under the ASAN build
  • New Feature SERVER-965: Store the indexes of a collection on another partition/drive (for example a SSD) than the documents
  • Bug SERVER-11066: Authentication failure not honored in replset health poll
  • Improvement SERVER-15310: kill all operations before attempting stepdown
  • Bug SERVER-16389: Try to stepdown before shutting down, even when using 'force'
  • Task SERVER-14143: Reenable JS interruption
  • Task SERVER-16373: Remove repl_set.h
  • Bug SERVER-16187: Invariant failure txn->lockState()->isDbLockedForMode(db, MODE_IS)
  • Bug SERVER-16375: Replication log message about vetoing can be truncated.
  • Bug SERVER-16332: Fix coverity defect in StorageEngineMetadata::write()
  • Bug SERVER-16055: Commands with empty string cause the server to terminate
  • Bug SERVER-16309: Fix rocks_recovery_unit
  • Bug SERVER-16217: Improve error message returned by replSetReconfig when node addition fails
  • Bug SERVER-16371: mixed_mode_repl.js, mixed_mode_repl_nossl.js
  • Bug SERVER-14462: db.currentOp doesn't report locking statistics
  • Bug SERVER-16376: get_last_error.js fails because it does not expect chaining to occur
  • Task SERVER-16302: Support "wiredTiger" in createCollection() options
  • Improvement SERVER-16397: Throttle migration rate in mr_during_migrate.js
  • Bug SERVER-15804: fix up replica set ramlog
  • Bug SERVER-16123: WT lsm panic
  • Bug SERVER-16143: WriteConflict returned to client with concurrent multikey index inserts
  • Bug SERVER-16328: Journal commits in write lock stat no longer relevant
  • Bug SERVER-16410: suppress missing-braces warning on clang
  • Bug SERVER-16184: repeated WriteBackListener error on out-of-order upgrade
  • Improvement SERVER-16032: Replication should not have multiple active OperationContexts on the same thread
  • Sub-task SERVER-15826: SERVER-15723 ConvertToCapped appears to be taking a G_X lock
  • Bug SERVER-16165: multi-update gets stuck retrying after WriteConflict
  • Improvement SERVER-16132: implement directoryperdb under WiredTiger
  • Task SERVER-14429: Don't modify ReplSettings object after startup
  • Bug SERVER-16391: Ensure jstests are agnostic to primary election
  • Bug SERVER-16294: WiredTiger __wt_meta_track_off crash
  • Bug SERVER-16259: rocks storage engine needs to support document locking
  • Improvement SERVER-16362: Defer audit doc creation and redaction until we have to log it
  • Improvement SERVER-6218: Profile documents should include partial query object instead of "too large" error
  • Improvement SERVER-16218: delay starting periodic tasks until after index building, at startup
  • Bug SERVER-15552: Errors writing to temporary collections during mapReduce command execution should be operation-fatal
  • Bug SERVER-15886: Caching of plan on rooted $or plan tie can lead to poor index choice
  • Bug SERVER-16256: $all clause with elemMatch uses wider bounds than needed
  • Bug SERVER-14057: Changing TTL expiration time with collMod does not correctly update index definition
  • Bug SERVER-16324: Command execution log line displays "query not recording (too large)" instead of abbreviated command object
  • Bug SERVER-15956: DBExplainQuery.readPref does not work
  • Improvement SERVER-16137: Validate collection options for all registered storage engines
  • Improvement SERVER-16233: add support for storage options to createIndex
  • Sub-task SERVER-14062: SERVER-1241 Remove the global OperationContext registry
  • Bug SERVER-16400: Trying to remove last voting member from replset gives strange error
  • Bug SERVER-16114: The touch command does not work with WiredTiger storage engine
  • Improvement SERVER-15938: Running enablesharding using 2.8 mongods with 2.6 mongos fails with obscure message
  • Bug SERVER-16160: "memberID" (of serverStatus.repl.slaves) should be "memberId"
  • Bug SERVER-16255: Enforced SCons minimum is insufficiently high to support TextFile
  • Improvement SERVER-16304: Shell command startParallelShell should print the process id

New in version 2.8.0 RC 1 (November 25th, 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 version 2.6.5 (October 9th, 2014)

  • Sub-task SERVER-15319: Verify 2.8 freelist is upgrade-downgrade safe with 2.6
  • Bug SERVER-14829: UpdateIndexData::clear() should reset all member variables
  • Bug SERVER-15038: Multiple background index builds may not interrupt cleanly for commands, on secondaries

New in version 2.6.4 (August 12th, 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 version 2.7.4 Dev (July 28th, 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 version 2.7.3 Dev (July 4th, 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 version 2.6.3 (June 23rd, 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 version 2.6.2 (June 18th, 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 version 2.6.2 RC 1 (June 10th, 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 version 2.7.1 Dev (May 28th, 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 version 2.6.1 (May 6th, 2014)

  • Includes all the changes featured in the previous Beta versions

New in version 2.6.1 RC 0 (April 23rd, 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 version 2.4.10 (April 5th, 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 version 2.6.0 RC 3 (April 3rd, 2014)

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

New in version 2.4.10 RC 0 (March 27th, 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 version 2.6.0 RC 2 (March 22nd, 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 version 2.6.0 RC 1 (March 7th, 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 version 2.6.0 RC 0 (February 22nd, 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 version 2.5.5 Dev (February 1st, 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 version 2.4.9 (January 11th, 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 version 2.4.9 RC 0 (December 27th, 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 version 2.5.4 Dev (November 19th, 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 version 2.4.8 (November 2nd, 2013)

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

New in version 2.4.7 (October 22nd, 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 version 2.5.3 Dev (October 19th, 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 version 2.4.7 RC 0 (October 11th, 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 version 2.5.2 Dev (August 27th, 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 version 2.4.6 (August 21st, 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 version 2.4.6 RC 1 (August 13th, 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 version 2.4.6 RC 0 (August 10th, 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 version 2.4.5 (July 4th, 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 version 2.4.5 RC0 (June 26th, 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 version 2.4.4 (June 5th, 2013)

  • Bug fixes:
  • 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 version 2.5.0 Dev (May 23rd, 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 version 2.4.3 (April 24th, 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 version 2.4.3 RC 0 (April 20th, 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 version 2.4.2 (April 18th, 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 version 2.4.2 RC 0 (April 12th, 2013)

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

New in version 2.4.1 (March 23rd, 2013)

  • Fixed:
  • Index changes lost during initial sync period

New in version 2.4.0 (March 19th, 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 version 2.4.0 RC 3 (March 14th, 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 version 2.4.0 RC 2 (March 7th, 2013)

  • Bug:
  • [SERVER-5379] - js increment operators (ob.prop += ob2.prop) do not work, after assigment like this ob = ob2
  • [SERVER-5826] - Creating an index using a non-existing plugin should be an error not a warning
  • [SERVER-7718] - Timestamp constructor in shell should take seconds instead of milliseconds
  • [SERVER-8170] - v8 leaks several external objects
  • [SERVER-8331] - jstests/profile4.js fails on fast machine in Windows 64-bit
  • [SERVER-8334] - German stop word list contains non-stopwords
  • [SERVER-8431] - Large update to text index can cause group commit to exceed max size
  • [SERVER-8493] - jsonString Sign Extends Bindata Type
  • [SERVER-8574] - acquiring distributed lock for upgrade process for 2.2->2.4 has very long timeout.
  • [SERVER-8594] - Killing parallel M/R jobs causes temporary collection corruption
  • [SERVER-8601] - Weird logging behavior when re-attempting 2.2 -> 2.4 upgrade on mongos after first attempt fails
  • [SERVER-8632] - System.js functions are not available to map/reduce jobs
  • [SERVER-8648] - checkStatus in DBClientReplicaSet has no explicit socket timeout
  • [SERVER-8661] - broken doc links in server codebase
  • [SERVER-8665] - PowerOf2 sizes can allow a document to grow in size inside a Capped Collection
  • [SERVER-8668] - jstests/sharding/mrShardedOutput.js needs an index
  • [SERVER-8680] - $setOnInsert should not create an empty parent object when it should be a no op
  • [SERVER-8685] - mongorestore oplogReplay + oplogLimit should not be compatible with any other collections
  • [SERVER-8693] - SpiderMonkey shell fails to start -- ReferenceError: JSON is not defined shell/utils.js:574
  • [SERVER-8696] - no_balance_collection.js failing on RHEL64
  • [SERVER-8709] - mongo shouldn't be able to connect with revoked cert
  • [SERVER-8710] - consider additional paranoia for config upgrade
  • [SERVER-8711] - check result of dynamic_cast not NULL in config_upgrade.cpp
  • [SERVER-8719] - sock_test makes invalid assumption that network writes are coalesced
  • [SERVER-8734] - Add non ssl arbiter to ssl RS crashes primary
  • [SERVER-8751] - Downgrading 2.4=>2.2 without dropping 2dsphere/text indexes can lead to data corruption
  • [SERVER-8758] - IndexSet fixes
  • [SERVER-8760] - DBClientReplicaSet::slaveConn returns connection to primary
  • [SERVER-8761] - auto2.js failing on Windows with auth
  • [SERVER-8763] - Add decrement to Counter64
  • [SERVER-8765] - memory leak in config upgrade codepath
  • [SERVER-8769] - ServerStatus().opcounters.inserts not incremented on mongos
  • [SERVER-8771] - Mongostat 2.2 can't --discover shards in a 2.4 cluster
  • [SERVER-8772] - Documents with null value for hashed shard key are not returned via mongos
  • [SERVER-8780] - ConfigUpgradeTests failing across multiple platforms
  • [SERVER-8781] - sharding_migrateBigObject.js failing on RHEL
  • [SERVER-8782] - Solaris segfault in geo_update_btree.js during small_oplog test suite
  • [SERVER-8786] - Race condition when setting ShardingConnectionHook on mongod connection pools
  • [SERVER-8787] - mongos crashing when running splits + inserts on collection with hashed shard key
  • [SERVER-8794] - Couldn't kill the $where operations in features3.js
  • [SERVER-8802] - readWrite users can delete privilege documents via ensureIndex
  • [SERVER-8805] - aggregation $within command: exception thrown
  • [SERVER-8814] - Inserts into any namespace ending in ".system.indexes" are treated like inserts into "system.indexes" and actually build indexes.
  • [SERVER-8815] - tautological compare in ping time sanity check
  • [SERVER-8823] - print and printjson should be allowed from $where and MapReduce
  • [SERVER-8827] - JSTests::TypeConservation unit test segfaults on Spidermonkey
  • [SERVER-8828] - JSTests::Fundamental unit test fails on Spidermonkey
  • [SERVER-8832] - Prototype extensions get saved along with primitive data
  • [SERVER-8849] - read_pref.js failure in RHEL-64bit [2]
  • Improvement:
  • [SERVER-8488] - Reintroduce Limited Windows XP Support
  • [SERVER-8530] - Don't log twice for unauthorized operation
  • [SERVER-8624] - Remove read-only constraint on Reduce function values
  • Task:
  • [SERVER-8393] - Review French stop word list
  • [SERVER-8394] - Review English stop word list
  • [SERVER-8395] - Review Italian stop word list
  • [SERVER-8397] - Review Danish stop word list
  • [SERVER-8398] - Review Russian stop word list
  • [SERVER-8399] - Review Spanish stop word list
  • [SERVER-8400] - Review Swedish stop word list
  • [SERVER-8401] - Review Turkish stop word list
  • [SERVER-8402] - Review Romanian stop word list
  • [SERVER-8403] - Review Hungarian stop word list
  • [SERVER-8520] - Startup warnings should be suppressed for non-interactive shell sessions
  • [SERVER-8674] - Update references in codebase to mongodb wiki

New in version 2.4.0 RC 1 (February 26th, 2013)

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

New in version 2.4.0 RC 0 (February 26th, 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 version 2.4.0 RC0 (February 2nd, 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 version 2.2.3 (February 2nd, 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 version 2.2.3 RC 1 (January 26th, 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 version 2.2.3 RC 0 (January 26th, 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 version 2.3.2 Dev (January 26th, 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 version 2.2.2 (January 26th, 2013)

  • 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 version 2.2.1 (January 26th, 2013)

  • 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 version 2.2.1 RC0 (September 24th, 2012)

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

New in version 2.2.0 RC 2 (August 24th, 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 version 2.2.0 RC 1 (August 14th, 2012)

  • Fixed:
  • Bug SERVER-6572 Performance issue
  • Bug SERVER-6509 ignore SIGPIPE
  • Bug SERVER-6512 ReplicaSetMonitor::_checkConnection does not check upper bounds for the indexes

New in version 2.1.2 Dev (June 27th, 2012)

  • Bugs:
  • SERVER-5258 RS manager can demote current primary without any log messages or closing connections
  • SERVER-5852 freebsd 64-bit backtrace segfaults
  • Improvements:
  • SERVER-5648 Yesterday 06:09 PM UTC Improved support for native AtomicUInt64

New in version 2.0.6 (June 27th, 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
  • cl pt 2.1.2 dev:
  • 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 version 2.0.4 (March 20th, 2012)

  • Compact Command
  • Concurrency Improvements
  • Default Stack Size
  • Index Performance Enhancements
  • Sharding Authentication
  • Journaling enhancements
  • New ContinueOnError option for bulk insert
  • Command output changes
  • Map Reduce:
  • Output to a sharded collection
  • Performance improvements
  • New Querying Features:
  • Additional regex options: s
  • $and
  • Replica Sets:
  • Priorities
  • Data-center awareness
  • w : "majority"
  • Reconfiguration with a minority up
  • Primary checks for a caught up secondary before stepping down
  • Extended shutdown on the primary to minimize interruption
  • Maintenance Mode
  • Geospatial Features:
  • Multi-location documents
  • Polygon searches
  • Shell features:
  • Custom prompt
  • Default shell init script

New in version 1.9.1 (August 6th, 2011)

  • Bug:
  • [SERVER-405] - dates before epoch sorting
  • [SERVER-958] - Range queries on arrays behave differently with indexes
  • [SERVER-960] - Dates before epoch not retrieved correctly
  • [SERVER-984] - Invalid sorting of infinity and -infinity
  • [SERVER-1648] - When searching with bounding box query, all results are not returned.
  • [SERVER-1735] - Inconsistent behaviour for $exists: false and $type: 10 in query
  • [SERVER-1767] - Chunk balancing does not resume after a temporary network outage of a config server
  • [SERVER-2009] - potentially incorrectly handled test in client cursor may result in improper skipping
  • [SERVER-2165] - $in and $all don't work together
  • [SERVER-2253] - db.dropDatabase is not erasing the database entry from the configdb
  • [SERVER-2302] - if a field has a regular filter and $ors, index breaks in
  • [SERVER-2371] - Duplicate key error on update does not specify index
  • [SERVER-2437] - slavedelay logging too verbose with --quiet
  • [SERVER-2481] - SlaveOK queries shouldn't go to slaves in RECOVERING state
  • [SERVER-2520] - add comments in code about intentional memory leak in ReplSetImpl::initFromConfig()
  • [SERVER-2620] - Multi-key indexes on arrays of object with more than one key cause queries to behave like $elemMatch by default.
  • [SERVER-2626] - Excluding _id field doesn't work with FindAndModify
  • [SERVER-2634] - mongoimport fails to import CSV when field value is a full stop "."
  • [SERVER-2710] - Running replSetReconfig while writing to a collection causes secondaries and arbiters to segfault.
  • [SERVER-2828] - Sharding status not communicated across Routers (mongoS)
  • [SERVER-2865] - $or clause won't handle 'invalid' key range properly
  • [SERVER-2879] - Upgrade 1.6 to 1.8 changes shard member format requirements, cryptic error
  • [SERVER-2881] - Assertion when setting profiling level on a secondary
  • [SERVER-2882] - operations are still written on primary after it steps down
  • [SERVER-2884] - Array ordering semantics are different with index than without an index
  • [SERVER-2904] - bsondump.exe crashes on windows if /? is used as an option
  • [SERVER-2905] - Scan and order sort should treat missing fields like nulls
  • [SERVER-2933] - [ReplSetHealthPollTask] Assertion failure false util/message.cpp 512
  • [SERVER-2935] - shallow woEqual check used for index dup checking
  • [SERVER-2940] - Double precision errors on linux 32 bit builds
  • [SERVER-2952] - convert $or parsing masserts to uasserts where necessary
  • [SERVER-2968] - Exact geo lookups not processed exactly
  • [SERVER-2972] - Increase the Upstart script kill timeout
  • [SERVER-3001] - should strip spaces from use db shell helper
  • [SERVER-3010] - replica set reconfiguration results in NULL _self in ReplSetImpl
  • [SERVER-3024] - distributed lock will not unlock self
  • [SERVER-3029] - Master-Slave replication. Slave stopped replicating data.
  • [SERVER-3031] - Replication fails with "objects in a capped ns cannot grow"
  • [SERVER-3032] - mongod crashed in ReplSetImpl summarizeStatus
  • [SERVER-3035] - allow discovery of more than one rs seed
  • [SERVER-3041] - The 'full' option to validate should imply 'scandata'.
  • [SERVER-3043] - Assertion failure in mongos: Assertion failure _created client/connpool.h 50
  • [SERVER-3049] - com.mongodb.MongoException: setShardVersion failed host[mongodb04.example.com:27018] { errmsg: "not master", ok: 0.0 }
  • [SERVER-3051] - Spherical query assertions should provide useful information in case of long/lat order issues.
  • [SERVER-3052] - multi update log message adds additions nscanned and fastmod
  • [SERVER-3054] - Assertion failure bmin

New in version 1.8.2 (August 6th, 2011)

  • Journaling
  • Sparse and Covered Indexes
  • Incremental Map/Reduce Support

New in version 1.2.1 (January 13th, 2010)

  • More indexes per collection
  • Faster index creation
  • Map/Reduce
  • Stored JavaScript functions
  • Configurable fsync time
  • Several small features and fixes