What's new in MongoDB 4.0.24
Apr 16, 2021
- Issues fixed:
- SERVER-54710 Large number of $or clauses can create profiling entry exceeding max BSON size, causing the query to fail when it should not
- SERVER-54136 Make the authenticate command respect enforceUserClusterSeparation
- SERVER-53566 Investigate and reproduce “opCtx != nullptr && _opCtx == nullptr” invariant
- SERVER-45836 Provide more LDAP details (like server IP) at default log level
- SERVER-35649 Nodes removed due to isSelf failure should re-attempt to find themselves
- WT-7028 Sweep thread shouldn’t lock during checkpoint gathering handles
- All JIRA issues closed in 4.0.24
New in MongoDB 4.0.23 (Feb 18, 2021)
- Sharding:
- ARS::next() does not respect OperationContext deadline
- The force-write of the history field to all chunks on FCV upgrade from 3.6 to 4.0 is unnecessary
- Replication:
- rollback node’s lastApplied > sync source’s lastApplied in rollback_after_enabling_majority_reads.js
- Excuse arbiter_new_hostname.js from multiversion tests
- rollback_all_op_types.js should ensure sync source’s lastApplied > rollback node’s lastApplied
- lastCommittedTransaction section causes frequent schema changes that limit FTDC retention
- Query:
- Reduce memory footprint of plan cache entries
- Add diagnostic logging to ClusterCursorManager
- Storage:
- During the eviction pressure, we should quit the compact operation instead of crashing the process
- recoverOplogAsStandalone mode must not start oplog truncater thread
- Operations:
- [v4.0] Log start and end of changes to table log settings
- Internals:
- When stepping down, step up doesn’t filter out frozen nodes
- Explain does not respect maxTimeMS
- establishCursors() must always drain the AsyncRequestsSender::_baton
- Periodic operation latency spikes every 5 minutes due to closing idle cached WT sessions
- jstests/core/profile2.js fails when background operations are run against test database
- Update assertion messages for dbhash check run by resmoke.py
- Ignore newer mongo versions on older branches of setup_multiversion_mongodb.py
New in MongoDB 4.0.15 (Jan 24, 2020)
- Security:
- SERVER-45309 Ensure bind credentials live longer than LDAP operations
- Sharding:
- SERVER-33597 Make allow_partial_results.js, return_partial_shards_down.js start shards as replica sets
- SERVER-36865 make fsm workloads that extend kill_rooted_or.js more robust in the sharded concurrency suites, or blacklist them
- SERVER-43195 Add namespace to ChunkManager ShardKeyNotFound failure in order to better diagnose failures.
- SERVER-44341 Do not choose only first shard of all shards associated with a zone when pre-splitting during shard collection
- SERVER-45100 Make the BatchWriteExecutor retry multi-writes only against unsuccessful shards
- Replication:
- SERVER-35407 ReplicationCoordinatorExternalState and data replication must not be started after shutdown
- SERVER-44061 Race while setting replication maintenance mode.
- SERVER-44503 Race in replsets/auth2.js
- SERVER-45396 fix the “me” field in isMaster responses when using splithorizon
- Query:
- SERVER-42565 Aggregations and find commands sort missing fields differently
- SERVER-45152 Negation of inequality on array can trip invariant
- Aggregation:
- SERVER-44733 Change stream should throw ChangeStreamFatalError if a single shard cannot be targeted for updateLookup
- Storage
- SERVER-43910 include Client/OpCtx information in LockManager::dump() output
- SERVER-44796 Adjust nojournal startup warning to be more compelling
- Operations:
- SERVER-45290 Remove upstream metadata from v4.2’s third party library manifest
- Build and Packaging
- SERVER-44550 Remove mobile specific embedded commands
- SERVER-45346 Ubuntu 18.04 package testing task fails to install openssl
- Internals:
- SERVER-34844 Relax expectations in apply_batches_totalMillis
- SERVER-37406 A stashed Locker should keep information about the owning transaction
- SERVER-39131 Refactor storage engine lock file support
- SERVER-43210 jstests/sharding/kill_sessions.js doesn’t wait for operation to be killed.
- SERVER-43246 Add a log line for when a cursor is reaped due to logical session cleanup
- SERVER-43349 Incorrect serialization for $elemMatch $not $ne
- SERVER-44578 Remove unused db_raii and server_status libs from storage_wiredtiger_core’s LIBDEPS_PRIVATE
- SERVER-44828 Correct logic to re-compute dependencies after absorbing a $sort into query layer
- SERVER-45472 Ensure RoleGraph can serialize authentication restrictions to BSON
- WT-4636 Fix strace in syscall test
- WT-5042 Reduce configuration parsing overhead from checkpoints
- WT-5106 Remove temporary files in clang-format script
- WT-5112 Handling goto labels with multiple words in s_goto.py
- WT-5120 Checkpoint hangs when reconciliation doesn’t release the eviction generation
- WT-5125 Adding new stats for eviction target strategy
- WT-5135 Change lookaside file inserts to use cursor.insert
- WT-5169 WT_REF_LIMBO pages cannot support fast (leaf-page only) searches
- WT-5196 Data mismatch failures with test/checkpoint after enabling LAS sweep
- WT-5218 Improve eviction to differentiate between clean and dirty pages with WT_CACHE_EVICT_NOKEEP readgen
- WT-5239 Fix syscall failure about metadata file open
- WT-5247 Ensure that only idempotent modify operations are logged
- WT-5277 Cursor key out-of-order detected in the lookaside file
- WT-5297 syscall.py fail on mongodb-4.0
New in MongoDB 3.6.2 (Mar 23, 2018)
- Security:
- SERVER-31625 The contents of {USER} needs to be escaped when querying for the groups using LDAP server
- Sharding:
- SERVER-28992 Cleanup mongos write commands execution
- SERVER-31982 Shard does not call config commit chunk migration command with majority writeConcern nor checks for writeConcern errors.
- SERVER-32202 Do not clear the cached sharding filtering information on replication state changes
- SERVER-32255 UUIDs may be absent from shard secondary local collections
- SERVER-32480 Remove CatalogCache retrieval methods, which take StringData
- SERVER-32529 Requiring replSet for shards breaks Queryable Backup
- Replication:
- SERVER-30626 Remove TopologyCoordinator interface
- SERVER-31267 CollectionCloner fails if collection is dropped between getMore calls
- SERVER-31684 QueryPlanKilled (operation exceeded time limit) in $changeStream with updateLookup
- SERVER-31749 Clarify the reason temporary unique collection names are made
- SERVER-32098 Disallow operations on drop-pending collections through applyOps
- SERVER-32136 initial_sync_drop_collection.js should wait for system to stablize after restarting node
- SERVER-32224 Disable chaining in initial_sync_drop_collection.js
- Aggregation:
- SERVER-32282 Aggregation text search returns text score even if it wasn’t requested when targeting multiple shards in a sharded cluster
- SERVER-32430 DocumentSourceSort sorts array documents incorrectly if there is a non-simple collation
- Storage:
- SERVER-29909 Libraries db/db_raii and db/s/sharding are directly cyclic
- SERVER-31750 Always log renameCollections in our tests
- SERVER-32242 Fix race in CompatibleFirstStress lock manager test
- SERVER-32315 Remove IndexObserver
- Operations:
- SERVER-32396 mongo shell failed to connect with 3.6 connection string SRV
- Build and Packaging:
- SERVER-31875 Fix long link times on OS X by passing -no_deduplicate to the linker
- SERVER-32415 MongoDB msi installer for Compass contains a typo
- Internals:
- SERVER-30538 check that oplogTruncateAfterPoint is correct in PeriodicKillSecondaries hook
- SERVER-31972 Reduce the number of iterations for the toggle_feature_compatibility.js workload
- SERVER-31997 Add additional unittesting for CompatibleFirst policy
- SERVER-32091 Powercycle - remove mongod.lock file for MMAPV1 test
- SERVER-32145 Avoid dropping lock before cleaning up DocumentSourceCursor’s PlanExecutor
- SERVER-32246 PID file permission on v3.6 make it not not monitorable using pid file
- SERVER-32497 implicitly_retry_on_database_drop_pending.js calls tojson() inside of a loop
- SERVER-32500 Disable the sharding Evergreen task on the Enterprise OS X 10.10 MMAPv1 builder
New in MongoDB 3.6.1 (Mar 23, 2018)
- Sharding:
- SERVER-29397 Invariant failure on config server when inserting tag into config.tags
- SERVER-30226 Force the recipient shard to refresh its metadata after migration commit
- SERVER-30768 Primary queries using maxTimeMS cause temporary shard write unavailability if ExceededTimeLimit
- SERVER-31056 Remove all usages of the default constructor of ScopedCollectionMetadata outside of MetadataManager
- SERVER-31627 ShardingTest.checkUUIDsConsistentAcrossCluster can fail to see collection in config.cache.collections
- SERVER-31865 setFCV on config server should only generate UUIDs for non-dropped sharded collections
- SERVER-31984 A migration will simply report “Data transfer error” when we have rich error details on the destination shard that are logged but not returned to the user
- SERVER-32043 Disallow users from creating new indexes in config.transactions
- SERVER-32055 Improve multi thread performance for retryable writes
- SERVER-32123 Enable sign range optimization for clusterTime
- SERVER-32149 ShardingCatalogManager::getDatabasesForShard should check if query was successful
- SERVER-32372 Mongos crashes on bulk inserts which size are slightly bigger than maxBsonObjectSize
- SERVER-32385 “CommandNotFound: no such command” in mongodb logs on 3.6
- Replication:
- SERVER-30457 Cancel catchup takeover if primary caught up according to heartbeats
- SERVER-31990 Rollback can abort on long collection names.
- SERVER-32085 $changeStream reports incorrect documentKey for unsharded collections that become sharded
- SERVER-32114 Delete unused rollback code
- SERVER-32131 ChangeStreams lookup_post_image.js test makes assumptions that don’t hold up in secondary read passthrough
- SERVER-32159 fix typo in sync_tail.cpp fillWriterVectorsAndLastestSessionRecords()
- SERVER-32167 do a second majority write on oldPrimary before committed read in read_committed_after_rollback.js
- SERVER-32178 Do not use IDL on oldest oplog entry
- Query:
- SERVER-31978 Add an invariant that DocumentSourceCloseCursor does not execute on a mongod for a sharded $changeStream
- SERVER-32046 Arrays of certain NumberDecimals can trigger an invariant failure
- SERVER-32109 $rename does not update value if existing “to” field has the same numeric value but different type.
- SERVER-32173 Add deprecation warning to “snapshot” option on queries
- Write Operations:
- SERVER-8538 Deprecate $atomic/isolated update option
- SERVER-32048 Updates using a numeric path component may cause index entries not to be created
- Aggregation:
- SERVER-31731 Test that mongos accepts a –timeZoneInfo parameter, and can correctly execute expressions using time zones
- SERVER-31885 changeStream cursor is not returned on a mongos when the database does not exist.
- Storage:
- SERVER-31304 remove SnapshotName class
- SERVER-31906 Test that applyOps can clone admin.system.version preserving its UUID
- SERVER-31952 return error if collMod provides a UUID that does not match the UUID of the collection specified
- SERVER-32022 allow enableMajorityReadConcern=false to work
- SERVER-32118 applyOps view creation should not assign UUID
- SERVER-32226 oldest_timestamp should track the last applied time, during initial sync
- Operations:
- SERVER-29453 Disallow removing the featureCompatibilityVersion document
- Build and Packaging:
- SERVER-32211 install_compass experience on OSX needs improvement
- SERVER-32286 Remove Type=forking from Debian SystemD service file
- Tools:
- TOOLS-1895 qa-dump-restore-archiving oplog_rollover_test.js
- Internals:
- SERVER-30770 system_perf.yml: Use new DSI interface and cleanup
- SERVER-31194 Add a version of retryable_writes_jscore_passthrough.yml with stepdowns
- SERVER-31225 The mongod process forks before listening for connections
- SERVER-31660 Bring BSONObj parsers back for IDL generated commands
- SERVER-31791 UUIDs should be added to local collections for replica sets only on clean startup
- SERVER-31808 HostAndPort for replSetInitiate() no longer finds hostname for localhost
- SERVER-31845 WT performance regression with write retryability enabled
- SERVER-31864 applyOps command with UUID containing op must require granular privileges
- SERVER-32053 explain3.js should assert that its writes succeed
- SERVER-32073 Improve signal given by list_local_sessions.js
- SERVER-32087 Run test stage of sys-perf and mongo-perf failures should lead to red evergreen boxes
- SERVER-32105 Require shard servers and config servers to be started with –replSet or ‘replSetName’
- SERVER-32106 Migration of txn oplog entries can trigger fassert in secondary replication
- SERVER-32164 Shell SRV implementation does not allow authSource from TXT records to be used
- SERVER-32238 Revert erroneous high error codes
- TOOLS-1688 Evergreen tests broken in master
- TOOLS-1827 Implement Initial DNS Seedlist discovery spec
- TOOLS-1861 build.sh script doesn’t abort on error
- TOOLS-1878 qa-tests-unstable force_table_scan.js
- TOOLS-1880 qa-tests-unstable no_primary_error_code.js
- TOOLS-1881 qa-tests-unstable no_sharded_secondary_reads.js
- WT-3079 Make sure eviction visits all trees
- WT-3776 Cursor remove operation unpins page too early
- WT-3786 Transactions with timestamps should read their writes
New in MongoDB 3.4.14 (Mar 23, 2018)
- SERVER-28151: Authentication database should be synced first during an initial sync.
- SERVER-32886: Unnecessary sleeps during chunk migration.
- SERVER-32933: Allow mongod to start when unable to reach LDAP server.
New in MongoDB 3.4.13 (Mar 23, 2018)
- SERVER-33238: Prevent WiredTiger read ticket count from going negative.
New in MongoDB 3.4.12 (Mar 23, 2018)
- SERVER-31437: Fix parsing of mongo host/db connect string.
- SERVER-32875: Don’t stall ftdc due to running out of tickets.
- SERVER-33089: Unable to start queryable mongod because it failed to regenerate index for admin.system.users.
New in MongoDB 3.4.11 (Mar 23, 2018)
- SERVER-19605: Oplog timeout should be configurable.
- SERVER-19919: Chunks that exceed 250000 docs but are under half chunk size get marked as jumbo.
- SERVER-29293: Recipient shard fails to abort migration on stepdown.
- SERVER-32001: unindexing a key in a partial unique index may cause server crash
New in MongoDB 3.4.10 (Mar 23, 2018)
- SERVER-15723: Avoid G_X lock for rename_collection within database
- SERVER-31049: View with collation doesn’t work as expected in sharded cluster
- SERVER-29287: Upgrade pcre to 8.41
- SERVER-31204: Calling shardCollection after enableSharding may fail if executed against different mongos
New in MongoDB 3.4.9 (Sep 12, 2017)
- Sharding:
- SERVER-20392 Sharding an existing small collection results in large number of chunks
- SERVER-30183 a moveChunk that joins the active moveChunk on a shard may not respect its waitForDelete
- SERVER-30487 RangeDeleter holds WT transaction open while waiting for majority
- SERVER-30636 RangeDeleter assert failed because of replication lag
- Replication:
- SERVER-28277 Need to increase timeout in read_committed_with_catalog_changes.js
- SERVER-29802 Non-atomic applyOps command should not take out a global exclusive lock
- SERVER-30554 relax locking mode in applyOps when applying CRUD-only ops non-atomically
- Query:
- SERVER-30189 Reduce calls to allocator for large $in expressions
- Write Operations
- SERVER-27317 Inserting a document with a Decimal128 value when featureCompatibilityVersion is 3.2 results in a closed socket
- JavaScript:
- SERVER-30875 Add support for a “no-owned bson” mode for JS Scopes
- SERVER-30971 Use of “scope” field in mapReduce triggers BSONObj ownership error
- Storage:
- SERVER-26239 Improve handling of WT_CACHE_FULL for inMemory storage engine
- SERVER-30490 Compile RocksDB with USE_RTTI=1
- SERVER-30790 ServerStatus on WiredTiger accesses the storage engine without any locks
- Build and Packaging:
- SERVER-29686 Remove /var/lib/mongodb from mongodb-org[-unstable] deb metapackage
- SERVER-30562 avoid running many duplicate ARM64 tests for the community build
- Internals:
- SERVER-26377 Skip running FSM workloads that use the compact command on the LSM build variant
- SERVER-26824 Skip FSM workloads which rely on nUpserted or nRemoved when Balancer is enabled
- SERVER-28824 Unhandled hang analyzer exception escapes loop to get threads from each process
- SERVER-29431 initialsync.js does not verify that initial sync succeeds
- SERVER-29714 Add Exception Message to Validate_Locale.cpp
- SERVER-30509 Update Evergreen API URL in burn_in_tests.py
- SERVER-30643 Performance regression with SSL
- WT-3329 With a uniform workload and a number of small collections, eviction does a poor job of selecting candidates for eviction.
- WT-3438 Don’t tune eviction thread count when the count is fixed
- WT-3499 Checkpoint can miss not yet committed item
New in MongoDB 3.4.7 (Sep 8, 2017)
- Fixed in this release:
- SERVER-29282: BSON Document Size can be exceeded when grouping inserts on SECONDARY nodes
- SERVER-29568: Enable configuration of OpenSSL cipher suite via setParameter
- SERVER-29817: Optimize incremental update performance of ChunkManager and CollectionMetadata
New in MongoDB 3.2.10 (Oct 7, 2016)
- SERVER-25974: When WT cache utilization is full, application threads can stall for an extended period of time.
- SERVER-20306: MongoDB with WiredTiger may experience excessive memory fragmentation, leading to swapping and/or out-of-memory errors.
- SERVER-16801: When updating a field of one numerical type to the same number of different numerical type, update operation considers it as a noop.
New in MongoDB 3.2.9 (Aug 17, 2016)
- SERVER-7285: Support systemd in future compatible Ubuntu distributions.
- WT-2798: Create operations on WiredTiger when journaling is disabled may lead to inconsistent data in the event of a crash.
- SERVER-17856: On mongod instances, users can run currentOp and killOp on own operations.
New in MongoDB 3.2.8 (Aug 17, 2016)
- Issues fixed:
- SERVER-18329: Debian 8(Jessie) packages.
- SERVER-24580: Improve performance when WiredTiger cache is full.
- WT-2696: Race condition on unclean shutdown may miss log records with large updates.
- WT-2706: Race condition on log file switch can cause missing log records.
- All issues closed in 3.2.8
New in MongoDB 3.2.7 (Jun 28, 2016)
- SERVER-24054: JS segmentation fault on load of certain NaNs.
- SERVER-24058: Connection pool asio doesn’t honor setup timeouts.
- SERVER-24117: Mongo binaries ELF stack has become executable.
- All issues closed in 3.2.7
New in MongoDB 3.2.6 (Jun 28, 2016)
- SERVER-22970: Background index build may result in extra index key entries that do not correspond to indexed documents.
- SERVER-22043: mongo shell method count() ignores read preference.
- All issues closed in 3.2.6
New in MongoDB 3.2.5 (Jun 28, 2016)
- SERVER-22964: IX GlobalLock held while waiting for WiredTiger cache eviction.
- SERVER-22831: Low query rate with heavy cache pressure and an idle collection.
- SERVER-21681: Include index size stats for in-memory storage engine.
- All issues closed in 3.2.5
New in MongoDB 3.2.4 (Mar 11, 2016)
- Fixed issue with setting optime when running with journaling disabled: SERVER-22495, SERVER-22728
- Have read concern majority reflect journaled state on the primary: SERVER-22269
- Fixed issue where specifying replication.enableMajorityReadConcern implied true regardless of the actual boolean value: SERVER-22683
- Fixed issue causing segfault when running aggregation that includes $lookup: SERVER-22537
New in MongoDB 3.2.3 (Feb 18, 2016)
- Highlights:
- Fixed issue with MMAPv1 journaling where the “last sequence number” file (lsn file) may be ahead of what is synced to the data files: SERVER-22261.
- Fixed issue where in some cases, insert operations fails to add the _id field to large documents: SERVER-22167.
- Increased timeout for querying oplog to 1 minute: SERVER-22456.
New in MongoDB 3.2.1 (Feb 18, 2016)
- Highlights:
- Fixed error where during a regular shutdown of a replica set, secondaries may mark certain replicated but yet to be applied operations as successfully applied: SERVER-21868.
- Improve insert workload performance with WiredTiger on Windows: SERVER-20262.
- Fixed long-running transactions during chunk moves: SERVER-21366
- Fixed issues:
- Task TOOLS-1025: Update tests to conform to ReplSetTest changes
- Task TOOLS-1021: Change mongo-tools evergreen config to use MongoDB 3.2 for master branch tests
- Bug TOOLS-1013: stat_discover.js test is flaky (again)
- Bug TOOLS-1002: oplog_rollover test is flaky
- Bug TOOLS-982: Missing "from" text in mongorestore status message
- Improvement TOOLS-954: Add bypassDocumentValidation option to mongorestore and mongoimport
- Bug TOOLS-944: write concern mongos tests are flaky
- Task SERVER-22009: Turn on regression tracking for DSI tests on 3.2
- Task SERVER-22008: Turn on regression tracking for performance projects on 3.2
- Bug SERVER-21999: sys-perf: fix issue with EVG log file name
- Bug SERVER-21996: Increase stability of autodiscover_config_rs_from_secondary.js test
- Bug SERVER-21971: Not possible to elect a primary if non-voting member is ahead (PV0)
- Bug SERVER-21961: Get rid of the annoying error message in post-step for perf.yml & system_perf.yml
- Bug SERVER-21955: CleanEveryN hook isn't compatible with MasterSlaveFixture
- Improvement SERVER-21950: Run concurrency suite on compile variants for DEBUG builds
- Bug SERVER-21930: Restart oplog query if oplog entries are not monotonically increasing
- Bug SERVER-21923: ReplSetTest.awaitSecondaryNodes does not propagate supplied timeout
- Bug SERVER-21920: Use enhanced WiredTiger next_random cursors for oplog stones
- Bug SERVER-21901: CheckReplDBHash checks the wrong node when dumping docs from missing collections
- Task SERVER-21893: JS tests that use dbHash incorrectly check number of collections
- Bug SERVER-21891: perf.yml dependency check misconfigured for misc-wt-mmap-repl-comp
- New Feature SERVER-21890: Create a flag to allow server realm to be specified explicitly on Windows
- Bug SERVER-21885: capped_truncate.js cannot be run with --repeat
- Improvement SERVER-21872: WiredTiger changes for 3.2.1
- Bug SERVER-21871: Do not run min_optime_recovery.js on ephemeralForTest storageEngine
- Bug SERVER-21870: Missing space in error message
- Bug SERVER-21868: Shutdown may not be handled correctly on secondary nodes
- Bug SERVER-21867: WiredTiger oplog cursor can return repeated segments
- Bug SERVER-21864: streamline artifact signing procedure to support coherent release process
- Bug SERVER-21852: kill_cursors.js fails in small_oplog* configurations
- Bug SERVER-21849: Fix timestamp compare in min_optime_recovery.js
- Bug SERVER-21848: bulk write operations on config/admin triggers invariant failure
- Improvement SERVER-21847: log range of operations read from sync source during replication
- Bug SERVER-21835: Prevent CappedPositionLost workload failures with indexed_insert_base_capped.js
- Task SERVER-21824: Disable kmip.js test in ESE suite; re-enable once fixed
- Bug SERVER-21796: fix startup_log.js test to handle git describe versioning
- Bug SERVER-21795: Do not reschedule more than one liveness timeout callback at a time
- New Feature SERVER-21793: create v3.2 branch and update evergreen configuration
- Bug SERVER-21792: Performance regression with directio enabled on Windows with WiredTiger
- Task SERVER-21786: Fix code coverage gaps in s/query directory exposed by code coverage tool
- Bug SERVER-21781: Nightly packages are in the wrong repo directories
- Bug SERVER-21772: findAndModify not captured by Profiler
- Task SERVER-21768: Remove the 'numCollections' field from dbHash's response
- Task SERVER-21763: Track "compare" task for performance results as regular regression tasks.
- Bug SERVER-21752: slow2_wt fails by exhausting host machine's memory
- Bug SERVER-21750: getMore command does not set "nreturned" operation counter
- Task SERVER-21737: remove deprecated release process configuration from master branch evergreen configuration
- Task SERVER-21725: Enable the analysis script move
- Bug SERVER-21724: Backup role can't read system.profile
- Improvement SERVER-21719: Add initiateTimeout rsOption for ShardingTest
- Improvement SERVER-21714: Increase replSetTest.initiate() timeout for FSM tests
- Bug SERVER-21706: Certain parameters to mapReduce trigger segmentation fault in a sharded cluster
- Bug SERVER-21704: JS Test single_node_config_server_smoke has race condition
- Bug SERVER-21667: do not set lastop on clients used by replication on secondaries
- Task SERVER-21665: Suppress tar output in jstestfuzz tasks
- Task SERVER-21638: Audit and improve logging in new find/getMore commands code
- Task SERVER-21637: Add mixed version tests for find/getMore commands
- Task SERVER-21602: Reduce execution time of cursor_timeout.js
- Task SERVER-21600: Increase test coverage for killCursors command and OP_KILLCURSORS
- Task SERVER-21586: Investigate v3.0 mongos and v3.2 cluster compatibility issues in jstests/sharding
- Bug SERVER-21545: collMod and invalid parameter triggers fassert on dropCollection on mmapv1
- Bug SERVER-21536: Invariant failure in executor/connection_pool.cpp
- Task SERVER-21516: Remove dbStats command from readConcern testing override
- Task SERVER-21500: Include the name of the FSM workload in the WorkloadFailure description
- Improvement SERVER-21450: Modify MongoRunner to add enableMajorityReadConcern flag based on jsTestOptions
- Improvement SERVER-21426: Add writeConcern support to benchRun
- Improvement SERVER-21384: Expand testing for in memory storage engines
- Improvement SERVER-21248: jstests for fast-failover correctness
- Task SERVER-21214: Dump config server data when the sharded concurrency suites fail
- Task SERVER-21164: Change assert to throw in rslib.js's wait loop
- Task SERVER-21139: Add more basic tests for drop collection
- Task SERVER-21138: Add more basic tests for dropDatabase
- Task SERVER-21137: Add more basic tests for movePrimary
- Task SERVER-21136: Add more basic tests for enableSharding
- Task SERVER-21135: Add more basic tests for sharded implicit database creation
- Task SERVER-21134: Add more basic tests for shardCollection
- Task SERVER-21133: Add more basic test for mergeChunk
- Task SERVER-21132: Add more basic tests for moveChunk
- Task SERVER-21076: Write tests to ensure that operations using DBDirectClient handle shard versioning properly
- Task SERVER-20824: Test for sharding state recovery
New in MongoDB 3.2.0 (Feb 18, 2016)
- Highlights:
- New pluggable storage engines optimized for in-memory computing and the most security-sensitive applications
- Faster business insight with enhanced real-time analytics and search, coupled with seamless connectivity to industry-standard SQL-based BI tools for sophisticated data exploration
- Simplified data governance with document validation, coupled with GUI-based schema discovery and visualization
- Improved operational efficiency with enhanced management platforms, continuous uptime across distributed, multi-region deployments, and zero-downtime upgrades
New in MongoDB 3.0.6 (Oct 6, 2015)
- Improvements to WiredTiger Stability SERVER-19751, SERVER-19673, and SERVER-19573.
- Fixed issue with the interaction between SSL and Auditing. SERVER-19538.
- Fixed issue with aggregation $sort on sharded systems SERVER-19464.
New in MongoDB 3.0.5 (Oct 6, 2015)
- Improvements to WiredTiger for capped collections and replication (SERVER-19178, SERVER-18875 and SERVER-19513).
- Additional WiredTiger improvements for performance (SERVER-19189) and improvements related to cache and session use (SERVER-18829 SERVER-17836).
- Performance improvements for longer running queries, particularly $text and $near queries SERVER-18926.
New in MongoDB 3.0.4 (Oct 6, 2015)
- Fix missed writes with concurrent inserts during chunk migration from shards with WiredTiger primaries: SERVER-18822
- Resolve write conflicts with multi-update updates with upsert=true with the Wired Tiger Storage engine: SERVER-18213
- Fix case where secondary reads could block replication: SERVER-18190
- Improve performance on Windows with WiredTiger and documents larger than 16kb: SERVER-18079
- Fix issue where WiredTiger data files are not correctly recovered following unexpected system restarts: SERVER-18316
New in MongoDB 3.0.3 (May 23, 2015)
- Deprecate db.eval() and add warnings: SERVER-17453
- Fix potential for abrupt termination with the Windows service stop operation: SERVER-17802
- Fix crash caused by update with a key too large to index on WiredTiger and RocksDB storage engines: SERVER-17882
- Remove inconsistent support for mapReduce in eval environment: SERVER-17889
New in MongoDB 3.0.2 (May 23, 2015)
- Fix inefficient query plans for 2d $nearSphere: SERVER-17469
- Fix problem starting mongod during repair operations with WiredTiger: SERVER-17652 and SERVER-17729
- Resolved invalid compression stream error with WiredTiger and zlib block compression: SERVER-17713
- Fix memory use issue for inserts into large indexed arrays: SERVER-17616
New in MongoDB 3.0.1 (Mar 18, 2015)
- Fixed race condition in WiredTiger between inserts and checkpoints that could result in lost records: SERVER-17506.
- Resolved issue in WiredTiger’s capped collections implementing that caused a server crash: SERVER-17345.
- Fixed issue is initial sync with duplicate _id entries: SERVER-17487.
- Fixed deadlock condition in MMAPv1 between the journal lock and the oplog collection lock: SERVER-17416.
New in MongoDB 3.0.0 (Mar 10, 2015)
- Key features include support for the WiredTiger storage engine, pluggable storage engine API, SCRAM-SHA-1 authentication mechanism, and improved explain functionality.
- MongoDB Ops Manager, which includes Automation, Backup, and Monitoring, is now also available. See the Ops Manager documentation and the Ops Manager release notes for more information.
- Major Changes:
- Pluggable Storage Engine API - MongoDB 3.0 introduces a pluggable storage engine API that allows third parties to develop storage engines for MongoDB.
- WiredTiger - MongoDB 3.0 introduces support for the WiredTiger storage engine. With the support for WiredTiger, MongoDB now supports two storage engines:
- MMAPv1, the storage engine available in previous versions of MongoDB and the default storage engine for MongoDB 3.0, and
- WiredTiger, available only in the 64-bit versions of MongoDB 3.0.
- WiredTiger Usage:
- WiredTiger is an alternate to the default MMAPv1 storage engine. WiredTiger supports all MongoDB features, including operations that report on server, database, and collection statistics. Switching to WiredTiger, however, requires a change to the on-disk storage format. For instructions on changing the storage engine to WiredTiger, see the appropriate sections in the Upgrade MongoDB to 3.0 documentation.
- MongoDB 3.0 replica sets and sharded clusters can have members with different storage engines; however, performance can vary according to workload. For details, see the appropriate sections in the Upgrade MongoDB to 3.0 documentation.
- The WiredTiger storage engine requires the latest official MongoDB drivers. For more information, see WiredTiger and Driver Version Compatibility.
- WiredTiger Configuration:
- To configure the behavior and properties of the WiredTiger storage engine, see storage.wiredTiger configuration options. You can set WiredTiger options on the command line.
- WiredTiger Concurrency and Compression:
- The 3.0 WiredTiger storage engine provides document-level locking and compression.
- By default, WiredTiger compresses collection data using the snappy compression library. WiredTiger uses prefix compression on all indexes by default.
- MMAPv1 Improvements:
- MMAPv1 Concurrency Improvement - In version 3.0, the MMAPv1 storage engine adds support for collection-level locking.
- MMAPv1 Configuration Changes - To support multiple storage engines, some configuration settings for MMAPv1 have changed. See Configuration File Options Changes.
- MMAPv1 Record Allocation Behavior Changes - MongoDB 3.0 no longer implements dynamic record allocation and deprecates paddingFactor. The default allocation strategy for collections in instances that use MMAPv1 is power of 2 allocation, which has been improved to better handle large document sizes. In 3.0, the usePowerOf2Sizes flag is ignored, so the power of 2 strategy is used for all collections that do not have noPadding flag set.
- For collections with workloads that consist only of inserts or in-place updates (such as incrementing counters), you can disable the power of 2 strategy. To disable the power of 2 strategy for a collection, use the collMod command with the noPadding flag or the db.createCollection() method with the noPadding option.
- Warning:
- Do not set noPadding if the workload includes removes or any updates that may cause documents to grow. For more information, see No Padding Allocation Strategy.
- When low on disk space, MongoDB 3.0 no longer errors on all writes but only when the required disk allocation fails. As such, MongoDB now allows in-place updates and removes when low on disk space.
- Replica Sets:
- Increased Number of Replica Set Members - In MongoDB 3.0, replica sets can have up to 50 members. [1] The following drivers support the larger replica sets:
- C# (.NET) Driver 1.10
- Java Driver 2.13
- Python Driver (PyMongo) 3.0+
- Ruby Driver 2.0+
- Node.JS Driver 2.0+
- Because the C, C++, Perl, PHP, and earlier versions of the Ruby, Python, and Node.JS drivers discover and monitor replica set members serially, these drivers are not suitable for use with large replica sets.
- Pymongo 3.0, the Ruby Driver 2.0, and the Node.JS Driver 2.0 are currently in development.
- The maximum number of voting members remains at 7.
- Replica Set Step Down Behavior Changes:
- The process that a primary member of a replica set uses to step down has the following changes:
- Before stepping down, replSetStepDown will attempt to terminate long running user operations that would block the primary from stepping down, such as an index build, a write operation or a map-reduce job.
- To help prevent rollbacks, the replSetStepDown will wait for an electable secondary to catch up to the state of the primary before stepping down. Previously, a primary would wait for a secondary to catch up to within 10 seconds of the primary (i.e. a secondary with a replication lag of 10 seconds or less) before stepping down.
- replSetStepDown now allows users to specify a secondaryCatchUpPeriodSecs parameter to specify how long the primary should wait for a secondary to catch up before stepping down.
- Other Replica Set Operational Changes:
- Initial sync builds indexes more efficiently for each collection and applies oplog entries in batches using threads.
- Definition of w: “majority” write concern changed to mean majority of voting nodes.
- Stronger restrictions on Replica Set Configuration. For details, see Replica Set Configuration Validation.
- For pre-existing collections on secondary members, MongoDB 3.0 no longer automatically builds missing _id indexes.
- Sharded Clusters:
- MongoDB 3.0 provides the following enhancements to sharded clusters:
- Adds a new sh.removeTagRange() helper to improve management of sharded collections with tags. The new sh.removeTagRange() method acts as a complement to sh.addTagRange().
- Provides a more predictable read preference behavior. mongos instances no longer pin connections to members of replica sets when performing read operations. Instead, mongos reevaluates read preferences for every operation to provide a more predictable read preference behavior when read preferences change.
- Provides a new writeConcern setting to configure the write concern of chunk migration operations. You can configure the writeConcern setting for the balancer as well as for moveChunk and cleanupOrphaned commands.
- Improves visibility of balancer operations. sh.status() includes information about the state of the balancer. See sh.status() for details.
- Security Improvements:
- MongoDB 3.0 includes the following security enhancements:
- Adds a new SCRAM-SHA-1 challenge-response user authentication mechanism.
- Increases restrictions when using the Localhost Exception to access MongoDB. For details, see Localhost Exception Changed.
- Security Changes:
- Improvements:
- New Query Introspection System - MongoDB 3.0 includes a new query introspection system that provides an improved output format and a finer-grained introspection into both query plan and query execution.
- For details, see the new db.collection.explain() method and the new explain command as well as the updated cursor.explain() method.
- For information on the format of the new output, see Explain Results.
- Enhanced Logging - To improve usability of the log messages for diagnosis, MongoDB categorizes some log messages under specific components, or operations, and provides the ability to set the verbosity level for these components. For information, see Log Messages.
- MongoDB Tools Enhancements - All MongoDB tools are now written in Go and maintained as a separate project.
- New options for parallelized mongodump and mongorestore. You can control the number of collections that mongorestore will restore at a time with the --numParallelCollections option.
- New options -excludeCollection and --excludeCollectionsWithPrefix for mongodump to exclude collections.
- mongorestore can now accept BSON data input from standard input in addition to reading BSON data from file.
- mongostat and mongotop can now return output in JSON format with the --json option.
- Added configurable write concern to mongoimport, mongorestore, and mongofiles. Use the --writeConcern option.
- mongofiles now allows you to configure the GridFS prefix with the --prefix option so that you can use custom namespaces and store multiple GridFS namespaces in a single database.
- MongoDB Tools Changes:
- Indexes - Background index builds will no longer automatically interrupt if dropDatabase, drop, dropIndexes operations occur for the database or collection affected by the index builds. The dropDatabase, drop, and dropIndexes commands will still fail with the error message a background operation is currently running, as in 2.6.
- If you specify multiple indexes to the createIndexes command, the command only scans the collection once, and if at least one index is to be built in the foreground, the operation will build all the specified indexes in the foreground.
- For sharded collections, indexes can now cover queries that execute against the mongos if the index includes the shard key.
- Indexes in Compatibility Changes in MongoDB 3.0:
- Query Enhancements - MongoDB 3.0 includes the following query enhancements:
- For geospatial queries, adds support for “big” polygons for $geoIntersects and $geoWithin queries. “Big” polygons are single-ringed GeoJSON polygons with areas greater than that of a single hemisphere. See $geometry, $geoIntersects, and $geoWithin for details.
- For aggregate(), adds a new $dateToString operator to facilitate converting a date to a formatted string.
- Adds the $eq query operator to query for equality conditions.
- 2d Indexes and Geospatial Near Queries:
- Distributions - Most non-Enterprise MongoDB distributions now include support for SSL. Previously, only MongoDB Enterprise distributions came with SSL support included; for non-Enterprise distributions, you had to build MongoDB locally with the --ssl flag (i.e. scons --ssl).
- MongoDB Enterprise Features:
- Auditing - Auditing in MongoDB Enterprise can filter on any field in the audit message, including the fields returned in the param document. This enhancement, along with the auditAuthorizationSuccess parameter, enables auditing to filter on CRUD operations. However, enabling auditAuthorizationSuccess to audit of all authorization successes degrades performance more than auditing only the authorization failures.
New in MongoDB 3.0.0 RC 6 (Jan 24, 2015)
- Bug SERVER-16959: Collection::updateDocument() issues an INVALIDATION_MUTATION after performing an in-place update (MMAP v1)
- New Feature SERVER-16873: Need to call commitAndRestart before stashing RUs for getMore
- Bug SERVER-15691: acquiring balancer lock may fail and get stuck with concurrent write traffic
- Bug SERVER-16738: WiredTiger deadlock opening multiple cursors in parallel
- Bug SERVER-16763: mongod terminate due to mongo::DBTryLockTimeoutException during longevity test with wiredTiger
- Bug SERVER-16867: Server crashed during iiBench run using WiredTiger engine
- Bug SERVER-16908: Performance Regression in Foreground Index Builds with MMAPv1
- Bug SERVER-16750: Document never matching query predicate incorrectly returned by query if concurrently updated (WiredTiger)
- Bug SERVER-16574: Do not call Explain::getPlanSummary on every insert/update, or eliminate its allocating behavior
- Bug SERVER-16882: Enable debug wiredtiger flags in debug mongodb build
- Bug SERVER-16807: Update on invalid loc fails in concurrent circumstances
- Bug SERVER-15802: Query optimizer should always use equality predicate over unique index when possible
- Improvement SERVER-16604: Improve integration with rocks
- Bug SERVER-16837: Migrations should time out after 10 hrs waiting for replication
- Bug SERVER-16065: Long flush pauses in MMAPv1
- Bug SERVER-16922: Slow index build times on secondaries with Wired Tiger
- Bug SERVER-16864: ttl_repl_secondary_disabled.js
- Bug SERVER-16870: Suppress indexDetails from sharded collstats in shell
- Bug SERVER-16907: pause repl6.js between restarts
- Bug SERVER-16904: replsets/auth1.js auth error
- Bug SERVER-16172: mongod --repair terminates before repair is attempted under WiredTiger
- New Feature SERVER-16663: options requested in top-level SConstruct to support non-default libraries and includes
- Bug SERVER-16797: Remove support for touch command for WiredTiger
- Bug SERVER-15876: Add Collection level lock checks to appropriate entry points to storage engine
- Sub-task SERVER-16658: SERVER-14707 C++ driver (server fork) methods getIndexSpecs()/getCollectionInfos() should iterate returned command cursor
- Bug SERVER-13863: JS engines shouldn't be linked in to mongos or tools
- Bug SERVER-17030: handle WCE in index builds
- Bug SERVER-16822: Map reduce doesn't use scoped transaction which results in deadlock at eviction
- Bug SERVER-16795: Recovery Unit invariant tripped when calling getMore through DBDirectClient
- Bug SERVER-16886: Segmentation fault when loading data into WiredTiger.
- Bug SERVER-16930: remove unnecessary fatal assertion when building multiple indexes concurrently via system.indexes writes
- Bug SERVER-16749: Unhandled DBException in TTLMonitor terminates server
- Bug SERVER-16880: Timer overflows at approximately 9223 seconds
- Bug SERVER-16946: "it" not working in the javascript shell when getting next cursor batch
- Bug SERVER-16278: Race between shutdown and fsync flush with WiredTiger
- Bug SERVER-16970: WiredTiger index prefix compression configuration is not applied to creationString
- New Feature SERVER-16957: Permit specification of boost library suffix search preference
- Bug SERVER-14707: listCollections and listIndexes commands should return a cursor
- Improvement SERVER-16943: Add test for compatibility of replset background index and renameCollection
- Improvement SERVER-16708: Adjust Value::compare() to reflect changes to BSON::woCompare()
- Bug SERVER-16717: unexpected WriteConflict exceptions with WiredTiger b-tree
- Bug SERVER-16664: Segmentation fault on insert operation with Tiger engine / zlib compressor
- Sub-task SERVER-16659: SERVER-14707 Cleanup pass for CursorManager/getMore()/listCollections/listIndexes
- Bug SERVER-16954: Removing objects from under a geo $near query causes invalid memory access
- Improvement SERVER-16887: PlanExecutor::_root should have type scoped_ptr
- Bug SERVER-16337: WriteBatchExecutor's WriteConflictException not caught
- Task SERVER-16786: oplog can go back in time after rollback/startup, when node clocks are not in sync (mms-qa)
- Bug SERVER-16948: printSlaveReplicationInfo() appears broken in master
- Bug SERVER-16697: MongoDb terminate when WT fault STATUS_STACK_OVERFLOW
- Bug SERVER-16916: RecordId might be inserted more than once with unique index and dupsAllowed == true
- Bug SERVER-16913: Return connections to pool on mongos when checking config servers up locally
- Bug SERVER-15744: RocksDB storage engine does not pass all tests
- Bug SERVER-16961: incrementally cleanup connections in mongos_rs_shard_failure_tolerance.js
- Bug SERVER-16865: created checked_cast and use in hot spots
- Bug SERVER-16925: Invariant fires during shutdown on secondary node (WiredTiger)
- Bug SERVER-16688: DurableImpl::commitAndStopDurThread must wait for the durability thread to exit
- Improvement SERVER-16782: Modify collection stats helper to optionally suppress index details
- Improvement SERVER-16437: Simple index scans should work like CountScan
- Bug SERVER-16994: Handle WriteConflictException when writing oplog on secondaries
- Bug SERVER-17005: skip clearing tmp collection if it fails with WriteConflictException
- Task SERVER-16878: Increased information to help debug stepdown.js test failure
- Bug SERVER-16514: Consistently getting "exception: collection's metadata is undergoing changes" during a drop
- Bug SERVER-15322: mongosniff erroneously displays the same string for source and destination IP addresses
- Bug SERVER-16773: Performance degradation due to TCMalloc scalability
- Bug SERVER-16092: Modifications to admin.system.users and admin.system.roles collections must be serialized
- Bug SERVER-16901: upgrade_to_ssl_nossl.js
- Improvement SERVER-16982: Optimize WiredTiger index cursor's pointsToSamePlaceAs() implementation
- Bug SERVER-16607: Dropping collection during active aggregation operation can crash server
- Task SERVER-15614: Implement locking statistics in db.currentOp and db.serverStatus
- Bug SERVER-16881: Pause due to sudden 4GB increase in cached bytes under WiredTiger
- Bug SERVER-16923: Profiler collection not created when using --profile
- Improvement SERVER-17002: Improve AuthenticationFailure log message for mechanism mismatch
- Bug SERVER-16672: Disallow NUL bytes in index names
- Bug SERVER-17003: Check command status for WriteConflictException on secondaries and retry
- Bug SERVER-16919: Oplog can grow much larger than configured size under WiredTiger
- Bug SERVER-16655: Geo predicate is unable to use compound 2dsphere index if it is root of $or clause
- Improvement SERVER-13256: Remove pch.h
- Bug SERVER-16874: Need to reset ElapsedTracker after getMore
- Bug SERVER-16676: Compact with WiredTiger does not rebuild indexes
- Improvement SERVER-16643: extend existing THP warning to THP defrag setting
- Bug SERVER-16461: Setting socket timeouts less than 1.0 seconds leads to setting no socket timeout on Windows
- Bug SERVER-16747: KeyString should overflow to heap
- Bug SERVER-16902: Possible memory leak in WT b-tree with zlib block compressor
- Bug SERVER-16818: Add socket timeout to isSelf replication check
- Improvement SERVER-16243: Suppress mmapv1 specific stats from db.serverStatus()
- Bug SERVER-16906: storage engines without directoryperdb support should fail to start up with --directoryperdb
- Bug SERVER-16639: Server restart with WiredTiger on full disk causes a segfault
- Bug SERVER-16863: auth_no_pri.js
- Bug SERVER-16793: when running db.getSlaveReplicationInfo() on secondary it treats "self" as "master"
- Improvement SERVER-16875: Add disk jstests for directoryperdb with wiredtiger
- Bug SERVER-16806: After 1 hour timeout, rangeDeleter incorrectly reports "timed out after 0 seconds"
- Bug SERVER-16830: hint by index name breaks with explain()
- Task SERVER-16850: Remove support for touch command for RocksDB
- Bug SERVER-16601: findAndModify should report that remove and update options conflict
- Bug SERVER-16988: db.listCommands has a bug
- Improvement SERVER-16811: Only register wiredTiger factory once
- Bug SERVER-16754: Confusing severity values when mongo shell start fails
- Bug SERVER-16839: collStats command in mongos needs to be updated for new fields
- Bug SERVER-16848: Shell's db.collection.totalSize() returns NAN on latest
- Improvement SERVER-5399: Add "quit" as a synonym for "exit" in mongo command shell
- Bug SERVER-17016: db.collection.createIndex() crashes with dev null storage engine
New in MongoDB 2.8.0 RC 5 (Jan 16, 2015)
- Closed issues:
- Bug SERVER-16733: mongos does not fail when different configdb string is used
- Sub-task SERVER-16657: SERVER-14707 Implement authorization check for getMore/killCursors on cursors owned by global cursor manager
- Bug SERVER-16817: --repair fails if there are multiple collections with outdated WT index versions
- Bug SERVER-15539: Invariant failure keyOffset >= 0 during 16 thread write command remove operation
- Bug SERVER-16775: Steady decline in performance in capped collections under wiredTiger
- Bug SERVER-16351: Erroneous document returned in query (wt) (mms-dev)
- Improvement SERVER-16632: Change WiredTiger index key format to no longer use BSON
- Bug SERVER-16651: Mass deletions and updates (including TTL) completely starve insertions in replica set under WiredTiger
- Bug SERVER-16694: Secondary hangs during shutdownServer()
- Bug SERVER-16798: KeyString needs to support NUL bytes in Strings
- Bug SERVER-3304: Change comparison order so all Dates sort before all Timestamps
- Improvement SERVER-16567: extend data directory metadata to hold storage engine creation settings for startup validation
- Bug SERVER-16274: secondary fasserts trying to replicate an index
- Bug SERVER-14992: Query for Windows 7 File Allocation Fix, and other hotfixes
- Task SERVER-16100: Clean up packaging scripts, remove hardcoded version from rpm spec files
- Bug SERVER-16760: Coverity analysis defect 49690: Resource leak
- Improvement SERVER-16030: Update sizeStorer data when collection validate is called
- Bug SERVER-16767: Add cursor metrics to serverStatus in mongos
- Bug SERVER-16415: mmapv1 replica multi collection insert is 70% slower vs no replication
- Bug SERVER-16734: Remove storage.mmapv1.syncPeriodSecs and storage.wiredTiger.engineConfig.checkpointDelaySecs; use storage.syncPeriodSecs for both.
- Bug SERVER-16706: Prevent_logOpRS from pushing primary's last optime back in time in doc-locking storage engines
- Bug SERVER-3719: woCompare does not provide a total order over doubles and longs.
- Bug SERVER-16660: sharding_system_namespaces.js incorrectly assumes that mongod supports wiredTiger
- Bug SERVER-16707: WiredTiger cappedDeleteAsNeeded invariant failure
- Bug SERVER-16673: fassert when multi-index build fails with WiredTiger
- Bug SERVER-16724: Startup time under WiredTiger is extremely slow and gets worse as database grows
- Bug SERVER-16675: getMore looks up doc with invalid RecordId, fails with "Didn't find RecordId in WiredTigerRecordStore"
- Improvement SERVER-16742: KEEP_MUTATIONS stage is not needed for storage engines supporting doc-level locking
- Sub-task SERVER-12833: SERVER-16100 Implement packaging for RC's and nightlies
- Task SERVER-16764: Clean up replication code
- Bug SERVER-16568: support "none" as a valid compressor option in WiredTiger
- Bug SERVER-16687: MoveFile WiredTiger.turtle.set to WiredTiger.turtle: Broken pipe
- Bug SERVER-16794: Invariant failure: WT_NOTFOUND error with concurrent removes and updates
- Bug SERVER-16711: Do not create empty database while checking for collections
- Bug SERVER-16106: Event Viewer (system) error when pressing power button on machine
- Bug SERVER-16635: make sharding/mongos_no_replica_set_refresh.js test agnostic to who is elected primary
- Bug SERVER-16753: Wrong component for commands
- Bug SERVER-16692: Switching journalling off and on with WT not safe
- Improvement SERVER-16602: Review WiredTiger default settings for engine and collections
- Bug SERVER-16671: logging write conflicts at log level 0 is too aggressive
- Improvement SERVER-16772: Eliminate redundant work in the update path
- Improvement SERVER-15259: exitCleanly should not be called in error cases
- New Feature SERVER-16744: Targeted community build packages and repo
- Bug SERVER-16677: mongod.lock file should be present in data directory regardless of storage engine selected
- Bug SERVER-16714: serverStatus command with oplog argument to config server returns error
- Bug SERVER-16755: Global severity seems to overwrite component severity in some cases
- Bug SERVER-16591: Deadlock due to KVDatabaseCatalogEntry doing blocking transactional operations under the _collectionsLock
- Sub-task SERVER-12160: SERVER-16100 Allow packager.py and packager-enterprise.py to use arbitrary gitspecs instead of release tags
- Bug SERVER-16615: Long database names will crash server during repair on mmapv1 when using directoryperdb
- Bug SERVER-16667: Isolated writes with extreme latencies in replica set under WiredTiger
- Bug SERVER-16260: Some commands no longer accept values of the Symbol BSON type
- Bug SERVER-7804: compareElementValues for CodeWScope is broken
- Improvement SERVER-16061: Remove support for "text" command
- Improvement SERVER-16780: Missing auth test of cleanupOrphaned
- Bug SERVER-16761: Coverity analysis defect 49668: PW.USELESS_TYPE_QUALIFIER_ON_RETURN_TYPE
- Task SERVER-15541: Re-enable yielding
- Bug SERVER-16748: consecutive replSetReconfig calls can trigger an invariant failure
- Bug SERVER-16600: Windows: net stop service does not do clean shutdown
- Bug SERVER-16684: Coverity analysis defect 49093: Unchecked dynamic_cast
- Bug SERVER-16614: Windows: should allow users to install 2.6 and 2.8 enterprise versions
- Improvement SERVER-16572: Add counter for calls to sched_yield in WiredTiger
- Improvement SERVER-16683: Decrease mongos memory footprint when shards have several tags
- Improvement SERVER-16580: Remove deprecated system collection references in JS tests
- Bug SERVER-16623: Cannot allocate memory (wiredtiger) (mms-dev)
- Bug SERVER-16502: CollectionInfoCache being written without exclusive lock
- Bug SERVER-16834: Secondary nodes can hang during shutdown if BGSync::_buffer is full
- Improvement SERVER-16777: Capped collection truncation behavior across storage engines is inconsistent
- Improvement SERVER-16829: Expose tcmalloc runtime configuration options through setParameter mechanism
- Task SERVER-16640: Long running queries on the secondary with WT
- Bug SERVER-16517: Secondary on 2.8.0rc2 cannot keep up (insert-heavy, mmapv1) (mms-prod-queues)
- Improvement SERVER-16483: Display collection name for the "Collection dropped or state deleted during yield of CollectionScan" warning
- Bug SERVER-16716: Removing host string arg length limitation for mongo shell
- Bug SERVER-16005: Inelegant abend when cannot bind() TCP 27017 at startup
- Bug SERVER-16757: Incorrect query report for $explain
- Bug SERVER-16649: mongos_rs_auth_shard_failure_tolerance.js should wait for writes to be replicated before shutting down the primary
- Bug SERVER-16661: GlobalCursorIdCache leaks a SecureRandom
- Bug SERVER-16705: leak in PortMessageServer::acceptMP
- Bug SERVER-16740: Log contents instead of pointer address in shardCollection failure
- Bug SERVER-16577: 2.8 doesn't have a field to report if query cache plan filters are used in explain
- Task SERVER-16695: Move FSM tests into new test suites
- Bug SERVER-16720: Init script in Red Hat fails if using YAML inline syntax
- Bug SERVER-16723: display active commands in server status only when command metrics are available.
- Improvement SERVER-16565: FsyncLock on WT should not imply "snapshotting" is OK
- Improvement SERVER-16784: only enable the minimum necessary Scons tools
- Bug SERVER-16721: Allow init script PIDFILEPATH to be configured via sysconfig
- Bug SERVER-16275: MMAPv1 does not report when capped is false in colstats
- Improvement SERVER-16682: remove duplicate sys/socket.h include from mongo/util/net/sock.h
- Task SERVER-16778: Remove output to cerr in PlanRankingWorkPlansLongEnough
New in MongoDB 2.8.0 RC 4 (Dec 27, 2014)
- Closed issues:
- SERVER-16432: Chunk migration data structures not properly synchronized with storage engines that offer document-level locking
- SERVER-16617: Performance regression has been introduced by f59a05c611d66a03c1fb8579b54569bfc2971374
- SERVER-16237: Don't check the shard version if the primary server is down
- SERVER-16624: Batch insert triggers deadlock-detection fassert
- SERVER-16546: Mongod memory grows until killed with wiredTiger repl set with small oplog
- SERVER-15798: Helpers::removeRange does not check if node is primary
- SERVER-16179: lock manager timeout w/ stack trace
- SERVER-16196: Add FSM-based concurrency tests to parallel suite
- SERVER-16245: Expose index statistics for WiredTiger
- SERVER-16392: ShardInfo should stop using mapped to get size estimate
- SERVER-16390: Text stage fetches document twice if phrase or negation filter present
- SERVER-16129: cloneCollection does not yield
- SERVER-16406: New tests for big polygon
- SERVER-16367: Add versioning info to WiredTiger
- SERVER-16520: SERVER-14707 Allow creation of ClientCursor objects that are managed by a global registry
- SERVER-14306: mongos can cause the in-memory sort limit to be hit on shards by requesting more results than needed
- SERVER-16562: Extremely slow shutdown for WiredTiger (non-LSM)
- SERVER-16534: SCRAM-SHA-1 auth mechanism should be allowed for __system@local user even if SCRAM-SHA-1 is not configured as an authMechanism
- SERVER-16498: d_migrate.cpp should not rely on system.namespaces
- SERVER-16633: Add timer to geo near stage to track execution time
- SERVER-16457: WT verify and salvage operations failing with EBUSY
- SERVER-16111: Store & display catalog creation metadata for WiredTiger collections & indexes
- SERVER-16200: Profile and tune mmapv1 performance
- SERVER-16523: SERVER-14707 listIndexes should leave a ClientCursor open if multiple batches needed
- SERVER-16522: SERVER-14707 listCollections should leave a ClientCursor open if multiple batches needed
- SERVER-16606: remove index blockCompressor and collection prefixCompression options
- SERVER-16603: Fix rocks build
- SERVER-16608: collStats scale argument does not apply to maxSize
- SERVER-16081: init.d mongod startup script fails, with dirname message
- SERVER-16197: "scons install" broken since tools rewrite
- SERVER-16586: mongoperf crashes writing with MMF and syncDelay is other that 0-never
- SERVER-16613: indexbg_restart_secondary.js
New in MongoDB 2.6.6 (Dec 10, 2014)
- Fixed: Evaluating candidate query plans with concurrent writes on same collection may crash mongod SERVER-15580
- Fixed: 2.6 mongod crashes with segfault when added to a 2.8 replica set with 12 or more members SERVER-16107
- Fixed: $regex, $in and $sort with index returns too many results SERVER-15696
- Change: moveChunk will fail if there is data on the target shard and an required index does not exist. SERVER-12472
- Primary should abort if encountered problems writing to the oplog SERVER-12058
- Closed issues:
- SERVER-16324: Command execution log line displays "query not recording (too large)" instead of abbreviated command object
- SERVER-16316: Remove unsupported behavior in shard3.js
- SERVER-16291: Cannot set/list/clear index filters on the secondary
- SERVER-16283: Can't start new wiredtiger node with log file or config file in data directory - false detection of old mmapv1 files
- SERVER-16107: 2.6 mongod crashes with segfault when added to a 2.8 replica set with >= 12 nodes.
- SERVER-16017: Suse11 enterprise packages fail due to unmet dependencies
- SERVER-15994: listIndexes and listCollections can be run on secondaries without slaveOk bit
- SERVER-15986: Starting with different storage engines in the same dbpath should error/warn
- SERVER-15958: The "isMultiKey" value is not correct in the output of aggregation explain plan
- SERVER-15899: Querying against path in document containing long array of subdocuments with nested arrays causes stack overflow
- SERVER-15849: do not forward replication progress for nodes that are no longer part of a replica set
- SERVER-15696: $regex, $in and $sort with index returns too many results
- SERVER-15673: Disable SSLv3 ciphers
- SERVER-15639: Text queries can return incorrect results and leak memory when multiple predicates given on same text index prefix field
- SERVER-15632: MultiHostQueryOp::PendingQueryContext::doBlockingQuery can leak a cursor object
- SERVER-15629: GeoParser::parseMulti{Line|Polygon} does not clear objects owned by out parameter
- SERVER-15598: Ubuntu 14.04 Enterprise packages depend on unavailable libsnmp15 package
- SERVER-15580: Evaluating candidate query plans with concurrent writes on same collection may crash mongod
- SERVER-15552: Errors writing to temporary collections during mapReduce command execution should be operation-fatal
- SERVER-15528: Distinct queries can scan many index keys without yielding read lock
- SERVER-15515: New test for mixed version replSet, 2.4 primary, user updates
- SERVER-15500: New test for system.user operations
- SERVER-15491: SyncSourceFeedback can crash due to a SocketException in authenticateInternalUser
- SERVER-15485: CanonicalQuery::canonicalize can leak a LiteParsedQuery
- SERVER-15403: $min and $max equal errors in 2.6 but not in 2.4
- SERVER-15318: copydb should not use exhaust flag when used against mongos
- SERVER-15233: Cannot run planCacheListQueryShapes on a Secondary
- SERVER-14886: Updates against paths composed with array index notation and positional operator fail with error
- SERVER-14799: Count with hint doesn't work when hint is a document
- SERVER-14763: Update jstests/sharding/split_large_key.js
- SERVER-14728: Shard depends on string comparison of replica set connection string
- SERVER-14506: special top chunk logic can move max chunk to a shard with incompatible tag
- SERVER-14299: For sharded limit=N queries with sort, mongos can request >N results from shard
- SERVER-14287: ensureIndex can abort reIndex and lose indexes
- SERVER-14249: Add tests for querying oplog via mongodump using --dbpath
- SERVER-14184: Unused preprocessor macros from s2 conflict on OS X Yosemite
- SERVER-14080: SERVER-8752 Have migration result reported in the changelog correctly
- SERVER-14057: Changing TTL expiration time with collMod does not correctly update index definition
- SERVER-14015: S2 Compilation on GCC 4.9/Solaris fails
- SERVER-13726: indexbg_drop.js
- SERVER-13595: Red Hat init.d script error: YAML config file parsing
- SERVER-13471: Increase log level of "did reduceInMemory" message in map/reduce
- SERVER-12472: Fail MoveChunk if an index is needed on TO shard and data exists
- SERVER-12061: Do not silently ignore read errors when syncing a replica set node
- SERVER-12058: Primary should abort if encountered problems writing to the oplog
- SERVER-10069: Improve errorcodes.py so it captures multiline messages
New in MongoDB 2.6.4 (Aug 12, 2014)
- Fix for text index where under specific circumstances, in-place updates to a text-indexed field may result in incorrect/incomplete results SERVER-14738
- Check the size of the split point before performing a manual split chunk operation SERVER-14431
- Ensure read preferences are re-evaluated by drawing secondary connections from a global pool and releasing back to the pool at the end of a query/command SERVER-9788
- Allow read from secondaries when both audit and authorization are enabled in a sharded cluster SERVER-14710
New in MongoDB 2.7.4 Development (Jul 28, 2014)
- Bug SERVER-14556: Default dbpath for mongod --configsvr changes in 2.6
- Bug SERVER-14311: skipping of index keys is not accounted for in plan ranking by the index scan stage
- Bug SERVER-14431: Invalid chunk data after splitting on a key that's too large to index
- Bug SERVER-14283: Parameters in installed config file are out of date
- Bug SERVER-14538: use-after-free in mongo::profile
- Improvement SERVER-14690: no_chaining.js is flakey
- Task SERVER-14532: Improve logging in the case of plan ranker ties
- Bug SERVER-14494: Dropping collection during active background index build on secondary triggers segfault
- Bug SERVER-14505: cannot dropAllIndexes when index builds in progress assertion failure
- Bug SERVER-14355: Failed to create capped collection for profiling
- Bug SERVER-14212: Mongorestore: using --drop drops Admin users & roles
- Bug SERVER-14024: Update fails when query contains part of a DBRef and results in an insert (upsert:true)
- Bug SERVER-6687: Valgrind reports "Syscall param write(buf) points to uninitialised byte(s)" on config servers
- Improvement SERVER-13648: better stats from migration cleanup
- Bug SERVER-12750: mongos shouldn't accept initial query with "exhaust" flag set
- Bug SERVER-14625: Query planner can construct incorrect bounds for negations inside $elemMatch
- Bug SERVER-14607: hash intersection of fetched and non-fetched data can discard data from a result
- Bug SERVER-14123: explain can create a too-large BSONObj
- New Feature SERVER-14518: Allow disabling hostname validation for SSL
- Bug SERVER-14665: Build failure for v2.6 in closeall.js caused by access violation reading _me
- Bug SERVER-14284: jstests should not leave profiler enabled at test run end
- Improvement SERVER-9561: Add HOST_ARCH and TARGET_ARCH (and other SCons MS vars) as Variables for MSVC build
- Bug SERVER-14476: JSTests::invokeLogError log check is still flawed
- Bug SERVER-14641: replication cannot keep up in zbigMapReduce.js
- Bug SERVER-14599: Fix error that caused ReplicationExecutor::getWork to busy wait on some platforms
- Improvement SERVER-14526: Introduce unittest macros that allow inspecting the exception thrown in ASSERT_THROWS.
- Task SERVER-14587: Allow OIDs to be stored in unordered_maps
- Improvement SERVER-14586: add toBSON methods to ReplicaSetConfig and MemberConfig classes
- Bug SERVER-14522: add fassertFailedWithStatus to errorcodes.py
- Improvement SERVER-14436: Implement new types to represent replica set configuration.
- Bug SERVER-14581: mongod doesn't compile with cpu-profiler option
- New Feature SERVER-14416: extend setParameter to accept BSON object
- Improvement SERVER-14653: Allow streaming into ASSERT_TRUE and ASSERT_FALSE unittest macros
- Task SERVER-14560: Add cancelHeartbeats
- Improvement SERVER-14524: decompose jsobj.cpp
- Improvement SERVER-14656: replSetSyncFrom helpers in topology coordinator
- Improvement SERVER-14527: MongoDB servers processes should only setLastError when wire writes or write commands fail.
- Improvement SERVER-12751: BSONBuilderBase is unused in the codebase
- Sub-task SERVER-10448: Allow stats to be gathered directly from the execution stages
- Sub-task SERVER-13641: Move killCurrentOp out of threadlocal
- Improvement SERVER-14499: remove ReplicationStartSynchronizer
- Improvement SERVER-14592: deinline bson-inl.h
- Task SERVER-14517: Add doMemberHeartbeat
- Task SERVER-14503: move hasDatabases from instance.cpp to heartbeat.cpp
- Bug SERVER-14299: For sharded limit=N queries with sort, mongos can request >N results from shard
- New Feature SERVER-11118: Add dateToString aggregation operator
- Bug SERVER-14502: dereference of canonical query before NULL check in getExecutorIDHack()
- Improvement SERVER-14528: Move HostAndPort::me functionality out of HostAndPort type.
- Bug SERVER-14671: s2 fails to compile on clang
- Improvement SERVER-14613: Refactor HeartbeatInfo and health
- Improvement SERVER-14437: Implement new data structures to represent replica set tag information
- Bug SERVER-14685: sharding/auth.js test is flaky
- Improvement SERVER-14417: migrate QLOG to kQuery LogComponent
- Improvement SERVER-14500: remove the replSet bool
- Task SERVER-14652: Update tests for localhost exception
- Task SERVER-14484: remove the replset portion of dbtest
- Bug SERVER-14549: Race condition can cause replSetUpdatePosition command to be sent with information about nodes that the sync source doesn't yet know about
- Sub-task SERVER-14624: Implement methods to validate replica set configuration changes
- Task SERVER-14316: Remove addUser function from the shell
- Improvement SERVER-14533: Break circular dependence in build system among foundation, network and lasterror libraries.
- Bug SERVER-9986: Refactor $geoNear searches into new query framework
- Bug SERVER-14645: Failure in rollback_cmd_unrollbackable.js
- Bug SERVER-5436: IPv6 address ambiguity in HostPort syntax
- New Feature SERVER-12512: Add role-based, selective audit logging.
- Bug SERVER-14554: DBRef JS constructor does not accept $db with --js-engine=v8-3.25
- New Feature SERVER-14415: log component hierarchy
- Sub-task SERVER-14407: Get rid of query runners
- Task SERVER-14420: Get rid of global replSettings object
- Bug SERVER-11107: By default, mongod should not start with an expired or invalid server certificate
- Improvement SERVER-6352: Add sh.removeTagRange(ns, min, max, tag)
- Improvement SERVER-14041: enhance secondaryThrottle parameter
- Task SERVER-14550: Stop maintaining the local.slaves collection
- Improvement SERVER-14582: ReplSetTest.waitForIndicator should work with auth on even when primary is down
- Sub-task SERVER-14591: Implement getLastErrorDefault inside replcoordinator
- Task SERVER-14395: dur::startup() should only be called when using mmapv1 engine
- Sub-task SERVER-14458: Add hybrid ReplicationCoordinator to facilitate the transition from the LegacyReplicationCoordinator to the new ReplicationCoordiantorImpl
- Task SERVER-14559: Add processNewConfig workflow
- Bug SERVER-13764: debug mechanisms report incorrect nscanned / nscannedObjects for updates
- Improvement SERVER-14650: Rename ROLE_SOURCE_FIELD_NAME to ROLE_DB_FIELD_NAME
- Improvement SERVER-14482: Add ability to append RegEx using BSONArrayBuilder
- Improvement SERVER-4282: clean up log messages
- Bug SERVER-13177: mongooplog crashes on assertion when it cannot connect to "from" host
- Bug SERVER-13730: rs.help() link to REST interface is incorrect
- Task SERVER-14536: Helgrind suppressions for race-prone counters.cpp code
- Improvement SERVER-5668: Add appendBinData method to BSONArrayBuilder
New in MongoDB 2.7.3 Development (Jul 4, 2014)
- Equality queries on _id with projection on _id may return orphan documents on sharded collections
- Equality queries on _id with projection may return no results on sharded collections
- stepdown during migration range delete can abort mongod
- SEVERE server crash when $centerSphere has non-positive radian
- negative opcounter values in serverStatus
- do not aggressively pre-fetch data for parallelCollectionScan
- SERVER-14135 replSetReconfig and initial config loading through the LegacyReplicationCoordinator
- SERVER-14135 Move command processing into the ReplicationCoordinator
- SERVER-14135 setLastOptime for slave replication tracking in LegacyReplicationCoordinator
- SERVER-14135 awaitReplication in LegacyReplicationCoordinator
- SERVER-14135 setLastOptime and awaitReplication in new Replication Coordinator
- SERVER-14135 stepdown and shutdown functionality in LegacyReplicationCoordinator
- Remove unused files in 2.7 branch
- De-inline HostAndPort type, and remove dependencies on networking components.
- Move HostAndPort::isSelf to a free function in the repl namespace
- mongos does not respect secondary preferred after temporarily unavailable secondary
- when a socket between mongos and mongod fails, close all connections immediately
- Support for Debian 7 Enterprise .deb packages
- Additional tests for setting fields with $ names
- struct for ReplicationExecutor work callback parameter
- Add StringData() method to BSONElement
- Remove hardcoded Visual Studio solution and project files
- Do not store native function pointer as a property in function prototype
- Fix include-what-you-use fallout from de-inlining hostandport.h
- make index_multi.js retry on connection failure
- initial_sync3.js occasionally fails by calling insert on a non-primary node
- mongorestore has no way to accept input from stdin
- SERVER-10448 Explain Command for Explaining Count
- clean quota api internally
- mongoimport doesn't support $maxKey and $minKey extended JSON
- Replace i686 in Linux-32 tarball filename and inner directory name with i386
- Deprecate mongoutils namespace
- Reenable sasl_authentication_session_test
- remove getIndexPrefetchConfig calls from outside the repl namespace
- eliminate isCurrentlyAReplSetPrimary
- Improve errorcodes.py so it captures multiline messages
- SERVER-1241 Prototype Lock Manager for document-level locking
- SERVER-10448 Execution Explain for Find
- Introduce HostAndPort::parse method
- ConnectionString constructor should either work correctly or fail to compile when passed a single string.
- avoid attempting to reconfig before node 3 comes back online in reconfig.js
- better named logging with tracing
- Primary should step down if encountered problems writing to the oplog
- Introduce unittest::assertGet(StatusWith) method to facilitate testing functions that return StatusWith
- Dead code in IDHackRunner::applyProjection
- mongod fails when launched with misconfigured locale
- mongoexport generates 'ObjectID', while the shell is using 'ObjectId'
- canonicalizeClusterDN may synthesize an invalid iterator
- Increase log level of "did reduceInMemory" message in map/reduce
- rs.add could detect _id
- Upstart configuration fails to start server if other instances are running
- mongorestore parseMetadataFile passes non-null terminated string to 'fromjson'
- convert HashTable::iterAll() to use boost::bind instead of function callback
- Add ability to print/decode top level JSON Array
- --use-system-yaml does not detect libyaml-cpp-dev
- geoNear should not allow $natural
- distinct command should validate input
- ShardingTest and authutil js incorrectly handle keyfile authentication
- Position of parameters within out {} object shouldn't matter
- mongoperf crashes randomly when writing with MMF and record size >4k
New in MongoDB 2.6.3 (Jun 21, 2014)
- Equality queries on _id with projection may return no results on sharded collections SERVER-14302.
- Equality queries on _id with projection on _id may return orphan documents on sharded collections SERVER-14304.
New in MongoDB 2.6.2 (Jun 18, 2014)
- Query plans with differing performance can tie during plan ranking SERVER-13675.
- mongod may terminate if x.509 authentication certificate is invalid SERVER-13753.
- Temporary map/reduce collections are incorrectly replicated to secondaries SERVER-13981.
- mongos incorrectly targets multiple shards for nested field shard key predicates SERVER-14138.
- rs.stepDown() during mapReduce causes fassert when writing to op log SERVER-14186.
New in MongoDB 2.7.2 Development (Jun 16, 2014)
- Fixed:
- $where inside of projection $elemMatch causes segmentation fault
- Passing $where predicate to db.currentOp() crashes mongod
- writeback listener may not get correct code back from ClientInfo::getLastError
New in MongoDB 2.6.2 RC 0 (Jun 3, 2014)
- Fixed:
- mapReduce replicates _inc temp collection without _id field
- Plans with differing performance can tie during plan ranking
- mongod may terminate if x.509 authentication certificate is invalid
- Make sure user cache entry is up to date before using it to determine a user's roles in user management commands on mongos
- We don't mark V1 users as probed on databases for which they do not have surrogate user documents
- IndexBounds::endKeyInclusive not initialized by constructor
- Unused snapshot history consuming significant heap space
- sync2.js failed
- Test suites with options tests fail when run with --nopreallocj
- "Whole index scan" query solutions can use incompatible indexes, return incorrect results
- Index bounds builder constructs invalid bounds for multiple negations joined by an $or
- Cloner needs to detect failure to create collection
- noscripting configuration option not available in YAML configuration file
- Stack overflow when parsing deeply nested $not query
- Insert field validation stops at first Timestamp field
- ConvertToCapped on empty collection aborts after invariant() failure
- Add new lsb file location for Debian 7.1
- tags.js has been flakey due to change in its timeout when it was ported to use write commands
- Distinct command on indexed field with geo predicate fails to execute
- Unable to install mongodb-org-server 2.6.1-1 on RHEL5 via RPM
- Mongodump cannot query oplog.$main or oplog.rs when using --dbpath
- mongodb-enterprise is missing needed dependency list
- Bounds should not be combined for $or queries that can use merge sort
- MongoDB upgrade 2.4 to 2.6 check returns error in internal collections
- Solaris builds depend on ILLUMOS libc
- Some nested queries trigger an assertion error
- CollectionOptions parser should skip "size"/"max" elements if values non-numeric
- mongoexport crashes on large timestamps on Windows
- Windows file locking related buildbot failures
- The built-in roles "restore" doesn't have insert privileges on system.roles collection
- Converting v8 internal object to JSON may crash
- planSummary truncated at 255 characters
- verify assert on empty $in clause and sort on second field in compound index
- Catch exception thrown by getShardsForQuery for geo query
- Results of $near query on compound multi-key 2dsphere index not sorted by distance
- SSL-enabled server appears to not be sending the list of supported certificate issuers to the client
- getRunner() returns a bad runner when mixing $or, sort, and NO_BLOCKING_SORT
- non-top-level indexable $not triggers query planning bug
- Queries containing $or may miss results if multiple clauses use the same index
- Shell returns incorrect WriteResult for compatibility-mode upsert with non-OID equality pred on _id field
- The "backup" auth role should allow running the "collstats" command
- Moving large collection across databases with renameCollection triggers fatal assertion
- Excessive freelist scanning for MaxBucket
- connections_opened.js failure
- setup_multiversion_mongodb.py doesn't download 2.4.10 because of non-numeric version sorting
- ndeleted in system.profile documents reports 1 too few documents removed
- "type 7" (OID) error when acquiring distributed lock for first time
- Shell prints startup warning when auth enabled
- Improved:
- Need to expose better timing information in currentOps
- awaitReplication() sometimes fails to get a config version from master causing test failures
- Match x.509 cluster certificates per attribute instead of substring comparison
- when 1st config server is non-responsive, some operations wait for network timeout
- Add planSummary information to count command
- log a message when shouldChangeSyncTarget() believes a node should change sync targets
- Typo in error message for "compatibility mode"
New in MongoDB 2.7.1 Development (May 28, 2014)
- Fixed:
- mapReduce replicates _inc temp collection without _id field
- mongod crashes when re-mapping above user address space of 8TB on Windows
- VS 2013 32-bit binaries do not run on Windows XP
- Make sure user cache entry is up to date before using it to determine a user's roles in user management commands on mongos
- We don't mark V1 users as probed on databases for which they do not have surrogate user documents
- IndexBounds::endKeyInclusive not initialized by constructor
- The built-in roles "restore" doesn't have insert privileges on system.roles collection
- Unused snapshot history consuming significant heap space
- Bounds should not be combined for $or queries that can use merge sort
- sync2.js failed
- Converting v8 internal object to JSON may crash
- Test suites with options tests fail when run with --nopreallocj
- "Whole index scan" query solutions can use incompatible indexes, return incorrect results
- Mongodump cannot query oplog.$main or oplog.rs when using --dbpath
- Windows file locking related buildbot failures
- Index bounds builder constructs invalid bounds for multiple negations joined by an $or
- Insert field validation stops at first Timestamp field
- Add new lsb file location for Debian 7.1
- Some nested queries trigger an assertion error
- Unable to install mongodb-org-server 2.6.1-1 on RHEL5 via RPM
- CollectionOptions parser should skip "size"/"max" elements if values non-numeric
- Shell returns incorrect WriteResult for compatibility-mode upsert with non-OID equality pred on _id field
- Running resync before replset initializes can crash mongod
- Coverity analysis defect 15490: Logically dead code
- prevent updateUpstream from using a null connection
- ExtentManager interface
- Leave false config file switches in getCmdLineOpts.parsed
- Red Hat init.d script error: YAML config file parsing
- Coverity analysis defect 22903: Dereference null return value
- Use RAII to prevent memory leaking in shard targeting
- Improvement:
- awaitReplication() sometimes fails to get a config version from master causing test failures
- mongod could warn user if OS transparent huge pages feature is on
- Match x.509 cluster certificates per attribute instead of substring comparison
- log a message when shouldChangeSyncTarget() believes a node should change sync targets
- Provide richer unwind information in logged stack traces on POSIX systems.
- Improve user cache invalidation enforcement on mongos
- User cache is invalidated too often and too crudely
- Javascript code should throw instances of Error instead of strings.
- On Windows, windows_basic.h should error if we don't have both NTDDI_VERSION and _WIN32_WINNT
- relax merge chunk constraints
- enable build on arm64 system
- Provide implementation of AtomicWord in terms of std::atomic
New in MongoDB 2.6.1 (May 6, 2014)
- Includes all the changes featured in the previous Beta versions
New in MongoDB 2.6.1 RC 0 (Apr 23, 2014)
- Fixed:
- Concurrent GETMORE and KILLCURSORS operations can cause race condition and server crash
- Changing replica set configuration can crash running members
- Array updates on documents with more than 128 BSON elements may crash mongod
- Background index builds from a 2.6.0 primary fail to complete on 2.4.x secondaries
- Using the OplogReplay flag with extra predicates can yield incorrect results
- Replicated data definition commands will fail on secondaries during background index build
- Sensitive credentials in startup options are not redacted and may be exposed
- Upgrading from 2.4.x to 2.6.0 via yum clobbers configuration file
- Cannot install MongoDB as a service on Windows
- mongos does not generate _id for insert documents that are missing it
- geoNear returns distance in meters for legacy points in 2.6
- replset2.js can swallow assertion failures in test
- stepdown_wrt_electable.js makes unsafe use of parallel shells and is unstable as a result
- Ignore orphan documents in sharding_migrate_cursor1.js
- some query stage constructors touch disk
- mr_drop.js is flakey when run in parallel with other tests
- Remove data in test array_shard_key.js
- rollback5.js can fail due to poor assumptions it makes
- Queries using tailable cursors only return one batch if combined with skip()
- initial sharding with hashed shard key can result in duplicate split points
- geonear command creating too-large BSONObjs
- negation of $elemMatch value incorrect in 2.6
- $where should not be allowed under $elemMatch
- Improve wire API message validation
- 2.6.0 does not recognize all sort orders provided by a compound index if the index has trailing fields
- near queries must ensure legacy points are in bounds
- $elemMatch using a compound multikey index can generate an incorrect plan
- Creating index with same name but different spec in mixed version replicaset can abort replication
- Yield policy for batch-inserts should be the same as for batch-updates/deletes
- Large skip and and limit values can cause crash in blocking sort stage
- Log rotation can overwrite previous log files
- fix geo_borders.js
- Wait for deletion after migration in feature2.js
- Explode for sort should try reversing index scan direction
- Write-error contains incorrect namespace when collection creation fails
- Improved:
- Addition of debug symbols has doubled compile time
- getUser and getRole shell helpers shouldn't throw when user/role not found
- Negations over multikey fields do not use the index
New in MongoDB 2.4.10 (Apr 5, 2014)
- Fixed:
- Two background index builds in parallel with unique key constraint violations crashes secondary
- attempting to create a 10th index, with unique constraint violations corrupts db
- Stopping a secondary in phase 2/3 of an index build corrupts the index
- initSyncV1Index.js too close to timeout threshold; flapping test
- mongod 2.4 should not start if unknown indexes present
- Creating an index on system.indexes breaks initial sync of secondary
- Version 2dsphere indexes
- balancer aggressively retries when inconsistency is detected
- sigxcpu not logged
- Do not call relinquish() when not vetoing an election
- Unable to move hashed shard key chunks created by numInitialChunks
- Memory leak in md5sumFile shell utility method (coverity auto-detected)
- replicaset nodes appear to be down during compact
- Abnormal termination of concurrent index builds can lead to a corrupt index catalog
- Bug in v8 memory allocator that causes long-running shell to crash
- SNMP: MIB fails validation
- MongoDB crash on startup on linux system when unable to check readahead due to limited permissions
- Don't move chunks for non-empty hashed collection during shardCollection cmd
- Improved:
- GridFS chunks collection should lower chunk size to 255k
- Value::coerceToString() shouldn't unconditionally construct a stringstream
- Add more info when movePrimary fails in prefix_shard_key.js
- Start election if more than one primary is online
- upon clock skew detection, sync directly from a primary
- add indexes to config.locks and lockpings collection for large numbers of sharded collections
New in MongoDB 2.6.0 RC 3 Development (Apr 3, 2014)
- Fixed:
- Invalid nested config values ignored
- getCmdLineOpts.parsed showing journal field in wrong place
New in MongoDB 2.4.10 RC 0 (Mar 27, 2014)
- Fixed:
- _id with $prefix field causes replication failure due to unvalidated insert
- Creating an index on system.indexes breaks initial sync of secondary
- balancer aggressively retries when inconsistency is detected
- replicaset nodes appear to be down during compact
- sigxcpu not logged
- Bug in v8 memory allocator that causes long-running shell to crash
- Coverity analysis defect 10177: leaked_storage: Variable "f" going out of scope
- Do not call relinquish() when not vetoing an election
- Unable to move hashed shard key chunks created by numInitialChunks
- SNMP: MIB fails validation
- MongoDB crash on startup on linux system with a grsec patched kernel and grsec sysfs restrict activated
- Two background index builds in parallel with unique key constraint violations crashes secondary
- Stopping a secondary in phase 2/3 of an index build corrupts the index
- Static Initalizer race condition with CreateDirectClient and server-side Javascript
- attempting to create a 10th index, with unique constraint violations corrupts db
- mongod 2.4 should not start if unknown indexes present
- Version 2dsphere indexes
- initSyncV1Index.js too close to timeout threshold; flapping test
- KillOp of a background index after building a foreground index corrupts
- Don't move chunks for non-empty hashed collection during shardCollection cmd
- Improved:
- Start election if more than one primary is online
- Value::coerceToString() shouldn't unconditionally construct a stringstream
- upon clock skew detection, sync directly from a primary
- GridFS chunks collection should lower chunk size to 255k
- add indexes to config.locks and lockpings collection for large numbers of sharded collections
- Add more info when movePrimary fails in prefix_shard_key.js
New in MongoDB 2.6.0 RC 2 (Mar 22, 2014)
- Fixed:
- createIndexes command should be explicitly logged
- performance regression wrt 2.4 on simple covered projections
- rollback4.js fails to elect a new primary
New in MongoDB 2.6.0 RC 1 (Mar 7, 2014)
- Fixed issues:
- Equality queries on _id don't obey skip()
- adding projection causes multiKey index query fall back to collection scan
- Improvement:
- Penalize ixisect during plan scoring so that it won't get chosen over faster single-index plans
New in MongoDB 2.6.0 RC 0 (Feb 22, 2014)
- Fixed issues:
- Improvement SERVER-8412: repairDatabase: no Cloner, and use multi index builder
- Bug SERVER-12131: Tests for multi version dump and restore
- Bug SERVER-11982: connection error when doing sharded cluster upgrade following recommended procedure
New in MongoDB 2.5.5 Development (Feb 1, 2014)
- New:
- New write operation method for insert, update, remove
- Bug fixes:
- SNMP Agent does not start
- Add module suite support to smoke.py
New in MongoDB 2.4.9 (Jan 11, 2014)
- Bug fixes:
- misplaced openssl callback registration can cause crashes
- clang compiled mongo shell crashes on exit with a stack trace in v8
- logging in ~ReplicaSetMonitor() crashes
- Non-numeric expiresAfterSeconds causes bad TTL query
- Shell stops working after long autocomplete operation
- Failure to rollback usePowerOf2Sizes should not cause fatal error
- SERVER-11869 Support for non-client opTime in mongod GLE
- $where inside of projection $elemMatch causes segmentation fault
- Passing $where predicate to db.currentOp() crashes mongod
- Cannot set false setParameter options in config file
- textIndexVersion compatibility check not complete
- writeback listener may not get correct code back from ClientInfo::getLastError
- Mongos cannot do slaveOk queries when primary is down
- New sharded connections to a namespace trigger setShardVersion on all shards
- retry logic for read preferences should also apply on lazy recv() network failure
- slaveok versioning logic in mongos should also apply to read prefs
- Modifying collection options can cause restores of collection to fail
New in MongoDB 2.4.9 RC0 (Dec 28, 2013)
- Fixes:
- SERVER-11494: textIndexVersion compatibility check not complete
- SERVER-11194: Non-numeric expiresAfterSeconds causes bad TTL query
- SERVER-7246: Mongos cannot do slaveOk queries when primary is down
New in MongoDB 2.5.4 Development (Dec 2, 2013)
- Fixed issues:
- SERVER-11575: aggregation: optimize $sort on sharded setup to do a proper merge on mongos
- SERVER-10493: Update tools to support backing up and restoring user data properly with new user format 2.6
New in MongoDB 2.4.8 (Nov 2, 2013)
- Increase future compatibility for 2.6 authorization features SERVER-11478.
- Fix dbhash cache issue for config servers SERVER-11421.
New in MongoDB 2.4.7 (Oct 22, 2013)
- Bug fixes:
- Do not veto if "primary" is the node trying to be elected
- slaveOk bit ignored for unsharded aggregate
- Improved:
- Allow to skip initial count() in mapreduce
New in MongoDB 2.5.3 Development (Oct 19, 2013)
- inconsistent naming for indexOnly between cursor.explain() and aggregation explain
- Update $push + $sort should be able to sort by the whole array element
- $anyElementTrue and $allElementsTrue operator for agg
New in MongoDB 2.4.7 RC0 (Oct 11, 2013)
- Bug fixes:
- Do not veto if "primary" is the node trying to be elected
- slaveOk bit ignored for unsharded aggregate
- Improved:
- Allow to skip initial count() in mapreduce
New in MongoDB 2.5.2 Development (Aug 27, 2013)
- New Feature:
- aggregation: unsharded support $out
- Sub-task:
- Extend Aggregation Query Language to Support Complex Redactions
- Set operations for Aggregation Framework $project
New in MongoDB 2.4.6 (Aug 21, 2013)
- New Features:
- Add a global flag to turn off the TTLMonitor thread
- Improvements:
- Add blockCheckSupported() features to Solaris/SmartOS build
- Every write to journal costs additional seek to update file metadata
- Display chunk version, not memory address, in non-default log line
- Sanity check on "from" side that all cloned and modified documents were sent to TO side on commit
- Bug fixes:
- Sorting on chunks not applied in differ
- Heatbeats can time out due to high network latency while fetching oplog batches. Was: buildbot: zbigMapReduce failing on Linux 64-bit DEBUG
- File processinfo_darwin.cpp missing from mongo-cxx-driver
- Missing PF_LOCAL symbol in Solaris 10
- Solaris file relocation error: posix_fadvise
- Missing external symbol strcasestr on Solaris 10
- sharding/index1.js failure on V2.4 Linux 64-bit Subscription SUSE 11
- buildbot: replset9.js failing on Linux RHEL 32-bit
- buildbot-special: smoke JsobjTests::BufBuilderReallocLimit failing on Nightly Linux 64-bit SSL Ubuntu 1204
- Shell displays "JavaScript execution failed: " before all JavaScript errors, adds "L" before line number
- saslStart returns {ok: 1} instead of {ok:0, code: 2} when unsupported mechanism specified.
- Server in replication set fluctuates between states SECONDARY and ROLLBACK if it can't rollback due to too much rollback data
- balancer should stop when ConfigServerCheck indicates inconsistency
- remapPrivateView: Solaris mmap() is not atomic
- Failed SSL connection memory leak
- On Solaris, link to backtrace() at run-time or emulate it if not found
- js fails when balancer interferes
- src/mongo/util/stacktrace.{cpp,h} are missing license headers
- Very large documents can cause premature migration commit
- Simple client fail with segmentation fault in mongoclient library
- Fail if javascript field names have nulls
- read_pref_cmd.js failed on multiple v2.4 builders
- strcasestr emulation returns invalid pointer
- mongo shell crashes with missing host
- chaining.js timing out on OS X 10.5 64-bit, Windows 64-bit, Linux 64-bit
- replication tests with auth fail on V2.4 Linux 64-bit Subscription SUSE 11
- mongod always split at 250000 position
- finding start cursor can get starved
- remove2.js failed on special V2.4 Linux 64-bit SSL SUSE 11 Build #157
- auto2.js failing on Win32 builder
- chaining.js failed on Linux 64-bit subscription, "error doing query"
- Do not change code pages in Windows version of mongo shell
- Add more details on why a shard is 'unavailable' for balancing
- Possible bug with SSL handshake
New in MongoDB 2.4.6 RC1 (Aug 13, 2013)
- Fixed:
- Possible bug with SSL handshake
- Very large documents can cause premature migration commit
- Improved:
- Sanity check on "from" side that all cloned and modified documents were sent to TO side on commit
New in MongoDB 2.4.6 RC0 (Aug 10, 2013)
- Improvements:
- Sanity check on "from" side that all cloned and modified documents were sent to TO side on commit
- Bug fixes:
- batch limit check for _cloneLocs can fail when docs close to BSONObjMaxUserSize - 1024
- Failed SSL connection memory leak
New in MongoDB 2.4.5 (Jul 4, 2013)
- New Features:
- use journal commit instead of fsync command for config server writes
- Improvements:
- Quota exceeded error (12501) should be in mongo log
- Fix issues found in static analysis
- add numeric code to getLastError error when primary steps down
- Fixed:
- No check for building identical background indexes concurrently
- Strings with NUL bytes don't round-trip correctly from BSON JavaScript
- Windows feature detection macros assume Vista aware SDK headers.
- migrations should use better slave count to determine up-to-date
- sharedclient tests failing to find libmongoclient.so
- Call to Mongo() crashes v8
- Solaris/SmartOS client program "authTest" fails with "relocation error: R_AMD64_PC32"
- constructors.js failing in debug mode
- lastHeartbeatRecv flaps between invalid and valid dates
- Non-text fields in compound text index spec are re-ordered by reIndex or initial sync
- Balancer round aborted with idle sharded collection
- mongos with --upgrade and missing --auth flag prints "config servers not in sync" message
- make dbhash take a list of collections to hash and mongos check should use it
- Ghostsyncing does not retry after a network failure
- chaining.js timing out on Windows 64-bit
- map reduce doesn't seem to yield unless it finds matches
- Add safety checks to V8 C++ bindings
- scons --sharedclient mongoclient builds libmongoclient.a, no shared library build.
- stepdown3.js failing on SSL special builder
- Authenticating as internal user shouldn't require a database lock
- smokeClient re-runs some tests with the same test name, breaking buildlogger
- HexData(0, "000000000000000000000005") will throw
- Assertion on unordered_fast_key_table_internal.h
- Enterprise package should not require libgsasl
New in MongoDB 2.4.5 RC0 (Jun 26, 2013)
- Bug fixes:
- Assertion on unordered_fast_key_table_internal.h
- scons --sharedclient mongoclient builds libmongoclient.a, no shared library build.
- Add safety checks to V8 C++ bindings
New in MongoDB 2.4.4 (Jun 5, 2013)
- db.createCollection creates undefined fields which cause mongorestore to fail
- mongorestore should ignore undefined options
- WriteConcern with tags>2 say the write timedout, when it didn't
New in MongoDB 2.4.4 RC0 (May 29, 2013)
- Bug fixes:
- mrShardedOutput.js failing on multiple platforms - ensure transferMods after commit
- opReplicatedEnough should assert on step down
- Improvement:
- Display chunk version, not memory address, in non-default log line
New in MongoDB 2.5.0 Development (May 23, 2013)
- Bug fixes:
- Couldn't kill $where op in features3.js on RHEL 32
- sharding_multiple_ns_rs.js use wait logic instead of sleep to make sure new primary is online
- return_partial_shards_down.js turn off balancer before manual chunk moves
New in MongoDB 2.4.3 (Apr 24, 2013)
- Bug fixes:
- Shell ignores modified object's "_id" field
- Phrase search won't match phrases that aren't space-delimited
- Improvement:
- Race condition in log rotation (was: SIGUSR1 should set a flag rather than doing rotation)
New in MongoDB 2.4.3 RC0 (Apr 19, 2013)
- Fixed:
- 'Cloning' a document in JavaScript can create an empty _bson field
- Shell ignores modified "_id" field
- Improved:
- Invalid index on config.lockpings on the 2.4.1 config server
New in MongoDB 2.4.2 (Apr 18, 2013)
- Fixed:
- Mongod and mongos crash induced by many concurrent invocations of the getnonce command.
- Field names can be repeated in JavaScript when the same value is set multiple times
- db.replSetInfo() issue with converting OpTimes to seconds
New in MongoDB 2.4.2 RC0 (Apr 11, 2013)
- Fixed:
- replsetprio1.js failing consistently on Solaris in v2.4 branch
- "Extra" fields added to lazy BSON V8 objects not order preserving
- Improved:
- sharding_migrateBigObject.js longer timeout for slow machines
New in MongoDB 2.4.1 (Mar 23, 2013)
- Fixed:
- Index changes lost during initial sync period
New in MongoDB 2.4.0 (Mar 19, 2013)
- CHANGES:
- Major Features:
- Text Search
- New Geospatial Indexes with GeoJSON and Improved Spherical Geometry
- New Hashed Index and Sharding with a Hashed Shard Key
- Hashed Index
- Hashed Sharding
- Security Improvements:
- New Modular Authentication System with Support for Kerberos
- Role Based Access Control and New Privilege Documents
- Administration Changes:
- --setParameter Option Available on the mongos and mongod Command Line
- Changes to serverStatus Output Including Additional Metrics
- Increased Chunk Migration Write Concern
- BSON Document Validation Enabled by Default for mongod and mongorestore
- Indexing Changes:
- Support for Multiple Concurrent Index Builds
- db.killOp() Can Now Kill Foreground Index Builds
- Improved Validation of Index Types
- Interface Changes:
- $setOnInsert – New Update Operator
- Limit Number of Elements in an Array
- JavaScript Engine Changed to V8
- Additional Limitations for Map-Reduce and $where Operations
- Improvements to the Aggregation Framework:
- $match queries now support the $geoWithin operator for bounded geospatial queries.
- The new $geoNear pipeline stage to support geospatial queries.
- $min operator only considers non-null and existing field values. If all the values for a field are null or are missing, the operator returns null for the minimum value.
- For sort operations where the $sort stage immediately precedes a $limit in the pipeline, the MongoDB can perform a more efficient sort that does not require keeping the entire result set in memory.
- The new $millisecond operator returns the millisecond portion of a date.
- The new $concat operator concatenates array of strings.
- NEW:
- Developer Productivity:
- Aggregation Framework refinements include an overhaul of the underlying engine introduced in MongoDB 2.2 making it easier to leverage real-time, in-place analytics. MongoDB 2.4 includes significant performance improvements, additional support for binary data, support for $geoWithin and $near geospatial queries, improved string concatenation with the new $concat operator, and improved date calculation semantics.
- Geospatial enhancements support new use cases with support for polygon intersection queries (with $geoIntersects), support for GeoJSON, and an improved spherical model. Learn more about geospatial improvements in 2.
- Text Search provides a simplified, integrated approach to incorporating search functionality into apps with support for language specific stemming and stop words in 15 languages and real time indexes. Text search is beta for 2.4 and is not recommended for production use. Learn more about text search.
- New update semantics for arrays with the $push update operator. Applications can now use $slice to maintain fixed size arrays, and use $sort to maintain sorted arrays. Learn more about capped arrays.
- New $setOnInsert update operator supports specifying fields to add only on insert and upsert operations.
- Ease of Operations:
- Hashed indexes and shard keys provide simple, even distribution for reads and writes. Learn more about hashed indexes and shard keys.
- New serverStatus metrics including a working set analysis tool makes capacity planning easier for operations teams. Learn more about the new serverStatus metrics including the working set analyzer.
- More control for operators with the ability to terminate indexing operations with automatic resource cleanup.
- Improved Performance:
- V8 JavaScript engine offers better performance and concurrency with JavaScript based actions including those using the $where query operator as well as mapReduce and eval. Learn more about MongoDB on V8, and JavaScript Changes in MongoDB 2.4.
- Improvements to count provide dramatically faster count operations. Counting is now up to 20 times faster for low cardinality index based counts.
- Significant optimizations to $elemMatch when using a multi-key index.
- More Robust Security:
- Role-Based privileges allow organizations to assign more granular security policies for server, database and cluster administration. Learn more about role based access control in MongoDB.
- Kerberos authentication mechanism in MongoDB Enterprise.
New in MongoDB 2.4.0 RC3 (Mar 14, 2013)
- Bug:
- [SERVER-8873] - Bug in decision logic for whether a term in a document is a stopword
- [SERVER-8880] - mongo_sm.exe segfaults for certain configuration settings when building with VS2010
- [SERVER-8914] - Rename (serverStatus.metrics) "document.scanned" -> "queryExecutor.scanned"
- [SERVER-8921] - improve error message on invalid text index spec
- Task:
- [SERVER-8920] - Add new fields to dbStats command for pdfile version
New in MongoDB 2.4.0 RC2 (Mar 7, 2013)
- Fixed:
- js increment operators (ob.prop += ob2.prop) do not work, after assigment like this ob = ob2
- Documents with null value for hashed shard key are not returned via mongos
- Improvement:
- Remove read-only constraint on Reduce function values
New in MongoDB 2.4.0 RC1 (Feb 26, 2013)
- Fixes:
- Map-reduce memory leak
- sharding/gridfs.js test fails when calling tojson
- collection_manager_test debug build assert failure
New in MongoDB 2.2.3 (Feb 2, 2013)
- Fixes:
- Startup race with --fork
- backport sorted chunk cursor to 2.2
- slowness in mongos when dealing with replset due to getServerAddress() calls
New in MongoDB 2.4.0 RC0 (Feb 2, 2013)
- Fixes:
- Merge serverAdmin role into clusterAdmin
- max_message_size.js failing on 32-bit windows
- max_message_size.js fails in auth passthrough suite
New in MongoDB 2.2.3 RC1 (Jan 26, 2013)
- Bug fix:
- Startup race with --fork
- backport sorted chunk cursor to 2.2
- slowness in mongos when dealing with replset due to getServerAddress() calls
New in MongoDB 2.2.3 RC0 (Jan 12, 2013)
- Bug fix:
- Seg fault when shutting down replica set member - Subscription Build with SSL Enabled
- Initial sync criteria needs to check minValid, not the oplog
- Improvement:
- New replication dep. on minvalid collection causes bad behavior
New in MongoDB 2.3.2 Development (Jan 12, 2013)
- Bug fix:
- Seg fault when shutting down replica set member - Subscription Build with SSL Enabled
- Initial sync criteria needs to check minValid, not the oplog
- Improvement:
- aggregation $min uses Value ordering to compare null and undefined values, does not exclude null and undefined values from consideration
New in MongoDB 2.2.2 (Dec 3, 2012)
- Major Features:
- Aggregation Framework
- TTL Collections
- Concurrency Improvements
- Improved Data Center Awareness with Tag Aware Sharding
- Fully Supported Read Preference Semantics
- Compatibility Changes:
- Authentication Changes
- mongodump Output can only Restore to 2.2 MongoDB Instances
- ObjectId().toString() Returns String Literal ObjectId("...")
- ObjectId().valueOf() Returns hexadecimal string
- Behavioral Changes:
- Restrictions on Collection Names
- Restrictions on Database Names for Windows
- _id Fields and Indexes on Capped Collections
- New $elemMatch Projection Operator
- Windows Specific Changes:
- Windows XP is Not Supported
- Service Support for mongos.exe
- Log Rotate Command Support
- New Build Using SlimReadWrite Locks for Windows Concurrency
- Tool Improvements:
- Index Definitions Handled by mongodump and mongorestore
- mongooplog for Replaying Oplogs
- Authentication Support for mongotop and mongostat
- Write Concern Support for mongoimport and mongorestore
- mongodump Support for Reading from Secondaries
- mongoimport Support for full 16MB Documents
- Timestamp() Extended JSON format
- Shell Improvements:
- Improved Shell User Interface
- Helper to load Server-Side Functions
- Support for Bulk Inserts
- Operations:
- Support for Logging to Syslog
- touch Command
- indexCounters No Longer Report Sampled Data
- Padding Specifiable on compact Command
- Added Build Flag to Use System Libraries
- Memory Allocator Changed to TCMalloc
- Replication:
- Improved Logging for Replica Set Lag
- Replica Set Members can Sync from Specific Members
- Replica Set Members will not Sync from Members Without Indexes Unless buildIndexes: false
- New Option To Configure Index Pre-Fetching during Replication
- Map Reduce Improvements:
- Improved support for sharded MapReduce, and
- MapReduce will retry jobs following a config error
- Sharding Improvements:
- Index on Shard Keys Can Now Be a Compound Index
- Migration Thresholds Modified
- Licensing Changes:
- Added License notice for Google Perftools (TCMalloc Utility).
New in MongoDB 2.2.1 (Oct 31, 2012)
- Major Features:
- Aggregation Framework
- TTL Collections
- Concurrency Improvements
- Improved Data Center Awareness with Tag Aware Sharding
- Fully Supported Read Preference Semantics
- Compatibility Changes:
- Authentication Changes
- findAndModify Returns Null Value for Upserts
- mongodump Output can only Restore to 2.2 MongoDB Instances
- ObjectId().toString() Returns String Literal ObjectId("...")
- ObjectId().valueOf() Returns hexadecimal string
- Behavioral Changes:
- Restrictions on Collection Names
- Restrictions on Database Names for Windows
- _id Fields and Indexes on Capped Collections
- New $elemMatch Projection Operator
- Windows Specific Changes:
- Windows XP is Not Supported
- Service Support for mongos.exe
- Log Rotate Command Support
- New Build Using SlimReadWrite Locks for Windows Concurrency
- Tool Improvements:
- Index Definitions Handled by mongodump and mongorestore
- mongooplog for Replaying Oplogs
- Authentication Support for mongotop and mongostat
- Write Concern Support for mongoimport and mongorestore
- mongodump Support for Reading from Secondaries
- mongoimport Support for full 16MB Documents
- Timestamp() Extended JSON format
- Shell Improvements:
- Improved Shell User Interface
- Helper to load Server-Side Functions
- Support for Bulk Inserts
- Operations:
- Support for Logging to Syslog
- touch Command
- indexCounters No Longer Report Sampled Data
- Padding Specifiable on compact Command
- Added Build Flag to Use System Libraries
- Memory Allocator Changed to TCMalloc
- Replication:
- Improved Logging for Replica Set Lag
- Replica Set Members can Sync from Specific Members
- Replica Set Members will not Sync from Members Without Indexes Unless buildIndexes: false
- New Option To Configure Index Pre-Fetching during Replication
- Map Reduce Improvements:
- Improved support for sharded MapReduce
- MapReduce will retry jobs following a config error.
- Sharding Improvements:
- Index on Shard Keys Can Now Be a Compound Index
- Migration Thresholds Modified
- Licensing Changes:
- Added License notice for Google Perftools (TCMalloc Utility).
New in MongoDB 2.2.1 RC0 (Sep 24, 2012)
- SERVER-7061 - mongos can use invalid ptr to master conn when setShardVersion fails
- SERVER-6540 - queueing writebacks register with lastError too early
- SERVER-6993 - findAndModify positional operator regression with undotted query fields
New in MongoDB 2.2.0 RC 2 (Aug 24, 2012)
- Bug:
- [SERVER-6757] - map reduce double free when dropping source collection during yield
- [SERVER-6759] - Nightly Subscription build failing on SUSE
- [SERVER-6766] - DocumentSourceGroup does not properly serialize constant expressions, can cause a valid expression on mongos to be unparsable on shards.
- [SERVER-6778] - printStackTrace does not work when running as a Windows Service
- [SERVER-6779] - $coerceToBool cannot be serialized, causes verify assertion when some optimized expressions are sent to shards
- [SERVER-6785] - Possible mongos memory leak
- [SERVER-6793] - 2.2.0-rc1 stops responding to other requests with high-fault reads?
- [SERVER-6795] - ExpressionCompare incorrectly optimizes reverse sense expressions to a comparison with the wrong inclusivity
- [SERVER-6809] - splitVector doesn't filter additional index fields when shard key is prefix of index
- [SERVER-6811] - prefix shard keys index bounds handling
- [SERVER-6814] - memory leak on page fault exception in BtreeCursorImpl::init()
- [SERVER-6825] - Hard shutdown can leave replication in unrestartable state
New in MongoDB 2.0.7 (Aug 10, 2012)
- Bug:
- [SERVER-2833] - mongod.exe does not shut down correctly as a Windows service
- [SERVER-2942] - MapViewOfFileEx failed during large import
- [SERVER-3097] - mongod --install uses wrong image path depending on current working directory
- [SERVER-3969] - Shell interactive password prompt can't handle spaces
- [SERVER-4291] - Assertion: 13273:single data buffer expected while using mongodump
- [SERVER-4800] - mongos cursor handling with timeouts
- [SERVER-4907] - sparse indexes break replication of array based operators
- [SERVER-5473] - mongostat throws an error when connecting via a 1.8.x mongos - "unrecognized command: getnonce"
- [SERVER-5594] - missed check of node index when initializing replica set with host down
- [SERVER-5663] - Private pages accumulate in Windows RAM and page file when journaling
- [SERVER-5680] - repl13.js failing on Windows 64-bit
- [SERVER-5872] - autosplit would be triggered before data size touch chunksize. The return message "updatedExisting" of update is missed
- [SERVER-5920] - bad reload of database config
- [SERVER-5988] - where3.js leaving collections on slave at end of test in 2.0 branch
- [SERVER-6006] - moveChunk fails with migration already in progress
- [SERVER-6047] - $pullAll causes empty embedded object field to be created
- [SERVER-6132] - a failure inside MakeChunkWritable should call abort/fassert instead of assert
- [SERVER-6162] - backport of targeted shard ranges instead of broadcast on all queries
- [SERVER-6167] - very verbose messaging with large numbers of collections
- [SERVER-6178] - Cannot use mongos if subset of config servers can't read from or write to disk
- [SERVER-6252] - Debug assertion in Windows debug build, bad code in any build, due to incorrect lock usage
- [SERVER-6305] - option to turn off splitVectors on particular mongoses
- [SERVER-6311] - FlushViewOfFile failures can result in invalid journal on Windows
- [SERVER-6359] - mongoexport now outputs full strings in CSV mode
- [SERVER-6372] - fassert identifier causes Windows 64bit 2008+ to fail compile in 2.0 branch
- [SERVER-6391] - Yielding with one (or more) active writer and heavy read load results in severe performance degradation
- [SERVER-6509] - ignore SIGPIPE
- [SERVER-6512] - ReplicaSetMonitor::_checkConnection does not check upper bounds for the indexes
- Improvement:
- [SERVER-4992] - Disable dropDatabase command on "config" if sharded collections exist with data
- [SERVER-6414] - use regular file io, not mmap for external sort
New in MongoDB 2.1.2 Development (Jun 27, 2012)
- Bug:
- [SERVER-1470] - Update w/upsert ignores dbref field from query on insert
- [SERVER-1877] - Using single hyphen for install parameter will install un-startable Windows service
- [SERVER-2291] - count command returns zero in some error cases rather than reporting an error with ok:false
- [SERVER-2639] - Inserting into a capped collection an object larger than max size fails silently
- [SERVER-2659] - query_yield2 failure
- [SERVER-2942] - MapViewOfFileEx failed during large import
- [SERVER-3100] - MongoDB often does not shut down cleanly when using init script
- [SERVER-3620] - test (dbtests) fails with pthread assertion
- [SERVER-3639] - --repair fails if mongodb.lock file exists (and has data) if journaling on (but there are no journal files)
- [SERVER-3877] - Solaris 1.8.2 mongo Doesn't Parse Username and Password Options Correctly
- [SERVER-3918] - make sparse indexes error out on {$exists: false} queries
- [SERVER-4027] - Accept geo points equal to 180 (or specified max)
- [SERVER-4138] - Mongo crashes in windows if database name is a reserved file name
- [SERVER-4142] - mongod.exe on Windows -- Source files in SCons build but not in Visual Studio project
- [SERVER-4262] - when dropping collections need to invalidate all conn sharding state
- [SERVER-4372] - Creating a DB with a name containing a colon creates two DBs
- [SERVER-4439] - Replica set members shouldn't sync from a node that is very behind
- [SERVER-4476] - mongod's cached data should be refreshed on removeShard
- [SERVER-4505] - Don't assume old primary is still primary when no nodes are returning isMaster
- [SERVER-4581] - Mongos and mongod keep trying to reconnect to removed shard
- [SERVER-4726] - Spurious warning: ClientCursor::yield can't unlock b/c of recursive lock during --repair
- [SERVER-4732] - potential segfault on full config reload during wbl if collection is dropped / unsharded but still receives writebacks
- [SERVER-4758] - OplogReader has no socket timeout
- [SERVER-4800] - mongos cursor handling with timeouts
- [SERVER-4811] - OID increments can overflow for a given time period
- [SERVER-4972] - mongorestore on server with --auth allows restore without credentials of colls with no index
- [SERVER-5000] - Connection count is not in sync with the connection thread name
- [SERVER-5040] - Cloner can fail to create unique indexes on initial sync
- [SERVER-5056] - Server cannot automatically recover if it terminates during recovery
- [SERVER-5101] - Test failure in closeall.js
- [SERVER-5124] - authentication seems to intermittently fail after adding/removing a shard
- [SERVER-5198] - incorrect assumptions in write operations using cursors
- [SERVER-5200] - slowNightly tests failing on sharding_balance4.js
- [SERVER-5230] - HostAndPort::me() should use bind_ip
- [SERVER-5233] - Mongodump stdout not working with authentication
- [SERVER-5240] - mongos fails to connect to active cluster with config hosts down
- [SERVER-5243] - mongos will route getLastError command to the config server when last insert triggered a split
- [SERVER-5258] - RS manager can demote current primary without any log messages or closing connections
- [SERVER-5283] - other threads can see partially sharded chunkmanager
- [SERVER-5304] - initial sync fails to create index on capped collection
- [SERVER-5393] - Killing mongod during a repair can leave it unable to start up
- [SERVER-5428] - count8.js failing on Nightly RHEL build
- [SERVER-5441] - Mongo shell "getlasterror" does not return "updatedExisting" via mongos
- [SERVER-5473] - mongostat throws an error when connecting via a 1.8.x mongos - "unrecognized command: getnonce"
- [SERVER-5485] - implement thread safety for shell utils, using fine grained locking
- [SERVER-5494] - Changes to benchrun causing failure in bench_test1.js
- [SERVER-5511] - Junk strings in listCommand help text?
- [SERVER-5536] - 2.0/2.1 sharded mapReduce compatibility
- [SERVER-5538] - legacy (2.0) staleconfigexceptions can be thrown w/o namespace, 2.1 needs to handle
- [SERVER-5545] - DurableImpl::commitIfNeeded and dur.cpp's _groupCommit are not sufficiently aggressive
- [SERVER-5552] - adding an index while an update operation yields can result in incorrect index key entries
- [SERVER-5556] - Error 8070 should be an massert not a uassert
- [SERVER-5570] - Killing of 'count' query cause incorrect behavior
- [SERVER-5597] - Windows implementation of toWideString in text.cpp is incorrect.
- [SERVER-5616] - Any shell command containing the string ".auth" is not added to shell history
- [SERVER-5624] - mongos does not respect notimeout for cursors
- [SERVER-5627] - mongodb hangs when doing mapreduce
- [SERVER-5643] - keyfile documentation is incorrect in mongod help
- [SERVER-5649] - Initial sync of capped collection does not create _id index
- [SERVER-5670] - externally preallocated data files may be ignored when allocating extents
- [SERVER-5693] - invalid system_js function will cause mongodb server crash.
- [SERVER-5698] - "assert failed : reconfig worked" in fastsync.js
- [SERVER-5720] - GridFS::setChunkSize rejects all sizes but 0
- [SERVER-5740] - index bounds may be incorrectly determined for $not:$elemMatch queries
- [SERVER-5741] - nested $elemMatch queries are not handled in queryutil, trigger "warning: shouldn't get here?" log message
- [SERVER-5742] - bigMapReduce.js failing b/c of migrate deletion during m/r
- [SERVER-5746] - Wrong initialization for ReplicaSetMonitor Nodes
- [SERVER-5748] - mongo/platform folder missing after c++ client driver installation
- [SERVER-5750] - assert in server5012.js
- [SERVER-5764] - Multi-line mode in the shell went away
- [SERVER-5772] - assert in query_yield2.js
- [SERVER-5785] - balancer isOverlapping() check is failing
- [SERVER-5791] - SConstruct failing to find os.environ['HOME']
- [SERVER-5796] - HexData undocumented, crashy
- [SERVER-5797] - Uncaught exception in count_slaveok.js
- [SERVER-5805] - Fatal Assertion 16213 in fsync.js
- [SERVER-5817] - scons error in 32-bit RHEL build
- [SERVER-5819] - Use FileAllocator on Windows
- [SERVER-5825] - "No module named hashlib" in utils.py
- [SERVER-5842] - Exceptions thrown in scripting/engine_spidermonkey.cpp need to be handled there
- [SERVER-5844] - mongos cursors return the wrong value for startingFrom
- [SERVER-5852] - freebsd 64-bit backtrace segfaults
- [SERVER-5856] - make query optimizer code not access data in constructor
- [SERVER-5867] - Cannot use SRWLocks on Windows Server 2003
- [SERVER-5872] - autosplit would be triggered before data size touch chunksize. The return message "updatedExisting" of update is missed
- [SERVER-5876] - user authentication should retry on primary
- [SERVER-5883] - duplicate key error in replset7.js
- [SERVER-5885] - center query update asserting in geo_full.js
- [SERVER-5886] - initial_sync3.js bb failure with "not master"
- [SERVER-5891] - TTLMonitor complains with --auth
- [SERVER-5895] - auth.js times out waiting for user authentication to replicate
- [SERVER-5898] - uncaught exception in mr_shard_version.js
- [SERVER-5918] - invalid memory writes in sharding test suite
- [SERVER-5920] - bad reload of database config
- [SERVER-5924] - Implicit yield reporting in MultiCursor::recoverFromYield() can overstate the yield count if the cursor's current() document is deleted during a yield.
- [SERVER-5926] - Segfault when procesing a command with empty namespace
- [SERVER-5935] - count8.js sharding_passthrough tests
- [SERVER-5936] - assertion (fassert) may be triggered by exact match geo lookup with $or
- [SERVER-5940] - error in remove1.js
- [SERVER-5941] - Failure in count6.js during sharding_passthrough
- [SERVER-5942] - benchRun unable to find all config servers during mr_during_migrate.js
- [SERVER-5948] - replSet member can fall out of RECOVERING back into SECONDARY even if no other node in the set can be authenticated against.
- [SERVER-5950] - assert in repl13.js
- [SERVER-5959] - Mongod crashes with access denied if you spawn multiple shells inserting in quick succession
- [SERVER-5962] - "TypeError: result.remaining has no properties" in auth_add_shard.js
- [SERVER-5963] - exception cloning object in replset7.js
- [SERVER-5968] - geo_update_btree.js never completes, in debug mode only
- [SERVER-5970] - QueryOptimizerCursorTests core test failure in Linux debug mode
- [SERVER-5971] - replication timeout in replsets_priority1.js
- [SERVER-5973] - Aggregation $sort should correctly handle dates before 1970
- [SERVER-5986] - fsync deadlock issues
- [SERVER-5993] - fsync_lock_read_secondaries.js fails on sharding_passthrough
- [SERVER-5995] - capped collection has different hash on master/slave at end of where4.js
- [SERVER-5996] - "uncaught exception: map reduce failed" in zbigMapReduce.js
- [SERVER-5999] - page fault exception in ClientCursor::aboutToDelete() can leave another Cursor / ClientCursor in an inconsistent state
- [SERVER-6001] - key matching is not handled properly for the $elemMatch operator
- [SERVER-6003] - Query optimizer failure in core tests on linux 32-bit debug
- [SERVER-6006] - moveChunk fails with migration already in progress
- [SERVER-6020] - Exception in MongoMutexTest on Windows 32-bit
- [SERVER-6021] - Need to make more constructors not access data
- [SERVER-6022] - test failure in cursora.js
- [SERVER-6031] - read only user can get write priority
- [SERVER-6034] - OS X failing to build with "invalid character '%' in mnemonic" on atomic_word_test
- [SERVER-6044] - "not enough storage is available" for MapViewOfFileEx
- [SERVER-6045] - aggregate cmd crashes server with empty pipeline argument
- [SERVER-6053] - query safety with PageFaultException
- [SERVER-6061] - Null pointer dereference segfault in mongo shell
- [SERVER-6073] - WIndows service installation hits assertion failure in src\mongo\db\client.h(262)
- [SERVER-6077] - Build times out compiling queryoptimizertests.cpp on OS X 32-bit
- [SERVER-6082] - "process cannot access the file" in remove2.js
- [SERVER-6089] - balancer error in mrShardedOutput.js
- [SERVER-6090] - uncaught exception in auth_add_shard.js
- [SERVER-6091] - Uncaught exception in sync_passive2.js
- [SERVER-6092] - chunks not balanced at end of no_balance_collection.js
- [SERVER-6094] - sharding/remove2.js has cleanup issues at end of test, fails on Linux but blows up test on Windows
- [SERVER-6103] - test failure in counttests.cpp
- [SERVER-6114] - Windows compile failing with unresolved external symbols
- [SERVER-6116] - buildbot zbigMapReduce.js counts failing in mapreduce
- [SERVER-6130] - Replication timeout in moveprimary-replset.js
- [SERVER-6132] - a failure inside MakeChunkWritable should call abort/fassert instead of assert
- [SERVER-6133] - flushing connection pool can leak connections
- [SERVER-6154] - failure in authCommands2
- [SERVER-6155] - stale config server in sort1.js
- [SERVER-6160] - TypeError in replsets/auth1.js
- [SERVER-6164] - connection logging sometimes has no numbers
- Improvement:
- [SERVER-1506] - when sharding on a and need an index on a,b allow only a,b index
- [SERVER-2023] - touch command to pre-heat a collection
- [SERVER-2187] - Mongorestore should warn more
- [SERVER-2545] - multi data center support via location aware sharding
- [SERVER-2939] - Support Unicode fully in the Mongo shell (was "Linenoise UTF8 support")
- [SERVER-3062] - Read from the nearest slave
- [SERVER-3102] - invalidate querypattern when index becomes multikey
- [SERVER-3356] - disk/yield lock - initial query
- [SERVER-3636] - not in mem yielding for single doc delete
- [SERVER-3735] - Reload settings every pass through the balancer loop
- [SERVER-3746] - Support sharding GridFS on {files_id:1, n:1}
- [SERVER-4156] - fix read only user support with sharding
- [SERVER-4180] - Allow multiple constraints within a $elemMatch clause to be used with a multikey index
- [SERVER-4392] - split network thread out from worker thread for secondaries
- [SERVER-4407] - Log warnings on startup if (hard) rlimits are no good
- [SERVER-4988] - printStackTrace on Windows
- [SERVER-4992] - Disable dropDatabase command on "config" if sharded collections exist with data
- [SERVER-5046] - per collection option to pad to power of 2
- [SERVER-5083] - Include database name in auth log message
- [SERVER-5246] - Move linenoise out of third_party
- [SERVER-5459] - Add rs.syncFrom() helper
- [SERVER-5468] - sslPEMKeyPassword Should not be visible in logs and similar
- [SERVER-5475] - use chunk diffs instead of full chunk data reload in mongod and mongos
- [SERVER-5492] - Complete serverStatus in FreeBSD
- [SERVER-5648] - Improved support for native AtomicUInt64
- [SERVER-5658] - Add more debugging info to applyOps code path
- [SERVER-5706] - If only slaveDelay'd nodes are available, use them
- [SERVER-5784] - Record all btree stats (stop sampling)
- [SERVER-5790] - sharding_rs2.js failing during slowNightly tests
- [SERVER-5863] - Have mongod --help show default values
- [SERVER-5912] - Error message for too-long line in mongoimport is unclear
- [SERVER-5934] - rewrite chunk delete
- [SERVER-5977] - switch from list.sort() to sort(vector)
- [SERVER-6019] - stats for PageFaultException
- [SERVER-6023] - add an explicit requireOrder argument to NamespaceDetailsTransient::getCursor()
- [SERVER-6039] - make ShardChunkManager not use data in constructor
- New Feature:
- [SERVER-211] - TTL collections
- [SERVER-828] - Support for positional ($) operator in fields to return specifier
- [SERVER-2238] - New projection operator $elemMatch
- [SERVER-4632] - Display "Welcome to MongoDB" message first time a user runs mongo shell
- [SERVER-5458] - --nohttpinterface option on mongos
- [SERVER-5685] - Have multiple threads applying oplog ops
- [SERVER-5777] - Add support for a range constraint on the first sort field to in/sort/limit optimization
- [SERVER-5782] - need a $literal operator to help prevent injection attacks
- [SERVER-5861] - Support a richer templating language in benchRun
- [SERVER-5903] - pass limit to sharded count
- Task:
- [SERVER-5902] - check fileMD5 failure for count() problems
- Sub-task:
- [SERVER-4628] - good lock state reporting with the more granular locking
- [SERVER-5794] - mongod should not check minor version on new connections
New in MongoDB 2.0.6 (Jun 27, 2012)
- Bug:
- [SERVER-2917] - Rest / HTTP interface not working with AUTH and command
- [SERVER-4603] - when migrating the last chunk off of a shard for a collection, version set to 0 and does *not* block version reset
- [SERVER-4609] - StringBuilder signed integer max buffer size spec is too low, can cause allocated memory buffer overflow upon call to BSONObj::toString()
- [SERVER-4750] - Secondary syncs to another secondary that has slaveDelay > 0
- [SERVER-4758] - OplogReader has no socket timeout
- [SERVER-5040] - Cloner can fail to create unique indexes on initial sync
- [SERVER-5353] - _id query on capped collection warning can be printed incorrectly
- [SERVER-5405] - mongos does not send reads to secondaries after replica restart when using keyFiles
- [SERVER-5581] - assertion when clearing the query pattern for an unsatisfiable query (2.0 only, already fixed in 2.1)
- [SERVER-5746] - Wrong initialization for ReplicaSetMonitor Nodes
- [SERVER-5791] - SConstruct failing to find os.environ['HOME']
- Improvement:
- [SERVER-3791] - compact always creates a new extent
- [SERVER-5303] - yield when fetching a document for migrate
- [SERVER-5706] - If only slaveDelay'd nodes are available, use them