Release Notes - Core Server - Version 2.3.0 - HTML format

Bug

  • [SERVER-1887] - dropIndex not working if a name was specified during the ensureIndex
  • [SERVER-1994] - mongorestore doesn't return an error code to OS when the requested operation can't be completed.
  • [SERVER-2561] - validate assumption in FindingStartCursor::prevLoc that a looped oplog will not have empty extents (or fix)
  • [SERVER-3407] - oplog is not idempotent for array operators, which could lead to silent data corruption (without journalling)
  • [SERVER-4161] - nscannedObjects is not calculated properly for covered index queries
  • [SERVER-4596] - dist lock may complete entirely before other lock done with tournament, unnecessary error
  • [SERVER-4781] - replica set initial sync failure when update cannot be applied to a future version of an object received via clone
  • [SERVER-4943] - $pop operator may replicate incorrectly
  • [SERVER-4944] - $pull operator may replicate incorrectly
  • [SERVER-4945] - $addToSet operator may replicate incorrectly
  • [SERVER-5354] - don't create field range for $atomic
  • [SERVER-5728] - Regular Expression Query Limitations
  • [SERVER-5890] - HTTP Digest authentication doesn't work with Internet Explorer
  • [SERVER-6152] - mongooplog --help is wrong
  • [SERVER-6207] - Windows version of printStackTrace is not thread-safe
  • [SERVER-6540] - queueing writebacks register with lastError too early
  • [SERVER-6633] - Incorrect help text in shell -- o.isObjectId is not a function
  • [SERVER-6634] - Count accepts negative skip values
  • [SERVER-6671] - oplog is not strictly idempotent when unique index is present
  • [SERVER-6672] - slaveDelay Setting Causes Replica Ops to be Applied in Batches at approximately the slaveDelay Interval
  • [SERVER-6678] - features2.js mr fails with 2.0 mongod 2.2 mongos
  • [SERVER-6717] - The 'test' program does not log messages in msgasserted()
  • [SERVER-6736] - Inconsistent conversion from bytes to MB for oplog size
  • [SERVER-6757] - map reduce double free when dropping source collection during yield
  • [SERVER-6759] - Nightly Subscription build failing on SUSE
  • [SERVER-6762] - Assertion failure cursor.get() db/repl/../oplogreader.h 93
  • [SERVER-6765] - mongos_validate_backoff.js too sensitive
  • [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-6794] - Incorrect use of WSAGetLastError() to get file system error code (Windows)
  • [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-6810] - Memory leak in mongos when using auth
  • [SERVER-6811] - prefix shard keys index bounds handling
  • [SERVER-6814] - memory leak on page fault exception in BtreeCursorImpl::init()
  • [SERVER-6821] - findAndModify update code path didn't result in splits in findAndModify2.js
  • [SERVER-6825] - Hard shutdown can leave replication in unrestartable state
  • [SERVER-6832] - sharding on prefix doesn't trigger "move top chunk" heuristic and causes assertion 10367
  • [SERVER-6834] - jstests/sharding/read_pref.js fails sometimes
  • [SERVER-6848] - SConstruct mixes tabs and spaces -- the tabs should be 8 spaces
  • [SERVER-6856] - potential out of bounds read in prefetchRecordPages()
  • [SERVER-6860] - Assertion: 13548:BufBuilder grow() > 64MB when trying to profile a huge document
  • [SERVER-6861] - pipeline parser allows multiple pipeline stage fields in a stage spec object, uses the last one only instead of triggering a parse error
  • [SERVER-6877] - mongodump raises BSONElement: bad type 117 error
  • [SERVER-6878] - distinct3.js test may leave an operation running after the test finishes; evalb does not restrict profiling query to operations the test itself generates
  • [SERVER-6881] - Do not replicate from hidden nodes
  • [SERVER-6902] - MongoDB 2.2 and MongoDB 2.0 cannot be mixed in sharded cluster
  • [SERVER-6908] - Do not pass strings by value, pass by const ref (&)
  • [SERVER-6909] - verify assertion when new version of a document is requested that does not match dotted field expression of original query; excessive logging
  • [SERVER-6911] - TTL monitor reports "ERROR: error processing ttl for db" during initial sync
  • [SERVER-6914] - jstests/dur/closeall.js failing in Buildbot
  • [SERVER-6918] - jstests/geo_borders.js fails verify in debug builds
  • [SERVER-6925] - DR102 too much data written uncommitted
  • [SERVER-6931] - warning message occasionally logged incorrectly when a client cursor is exhausted
  • [SERVER-6943] - addTagRegion/addShardTag fail with 3 config server sharded clusters
  • [SERVER-6948] - Can't call commitIfNeeded in DBDirectClient::call if not write-locked
  • [SERVER-6956] - Chunk::splitIfShould does not acquire the distributed balance lock when moving chunks
  • [SERVER-6960] - Build system produces incorrect debugsymbols archive
  • [SERVER-6993] - findAndModify positional operator regression with undotted query fields
  • [SERVER-7003] - Deletions during chunk movement can cause migrations to fail
  • [SERVER-7004] - db.hostInfo() crashes mongod with: Uncaught std::exception: basic_string::_S_create
  • [SERVER-7006] - mongo tools seg fault in 2.2.0 with replica sets in connection string
  • [SERVER-7010] - ObjectId(ObjectId("4e859938e4b0c81c1411b0c7")) triggers stackdump
  • [SERVER-7017] - Rename of DB can cause overflow of namespace length
  • [SERVER-7023] - Visual Studio rebuilds jsscan.c unnecessarily
  • [SERVER-7028] - ReplSetConfig constructor using DBDirectClient can trigger page faults
  • [SERVER-7031] - Windows service shuts down when user logs out
  • [SERVER-7036] - long log lines are logged with added NULs when truncated
  • [SERVER-7040] - small oplog suite and manual execution of js tests that call startParallelShell do not work (small oplog / count8 buildbot failures)
  • [SERVER-7045] - validate command does not explain failure in all cases
  • [SERVER-7047] - validate command checks for "hudsonSmall": leftover code?
  • [SERVER-7061] - mongos can use invalid ptr to master conn when setShardVersion fails
  • [SERVER-7062] - profile4.js buildbot failures
  • [SERVER-7099] - "Syncing to: hostname" can appear in the errmsg field from the response of replSetGetStatus
  • [SERVER-7104] - jsonString has incorrect output on undefined BSON elements.
  • [SERVER-7108] - Better message for uassert 9517
  • [SERVER-7111] - DBClientReplicaSet::connect should not assert if primary is down but secondaries are available
  • [SERVER-7145] - Assertion in exportimport1.js test after import
  • [SERVER-7146] - new writeback_bulk_insert.js test failing
  • [SERVER-7147] - Balancer interfering with moveChunk in shard5.js
  • [SERVER-7160] - Mongorestore doesn't auth against admin DB when using username and password arguments
  • [SERVER-7181] - Assertion: 13111:field not found, expected type 2 when an error occured during the index building phase in restore
  • [SERVER-7182] - Getting need to login error when trying to restore a single database
  • [SERVER-7186] - Batched oplog application increases frequency of idempotency violations
  • [SERVER-7190] - Mongodump metadata.json files should be in proper json format
  • [SERVER-7198] - Do not go into rollback before reaching minvalid
  • [SERVER-7199] - Bump minvalid when recloning ops on initial sync
  • [SERVER-7204] - logging for shard selection for chunk migration is too verbose
  • [SERVER-7229] - test failure in replset8.js
  • [SERVER-7230] - timing error in repl_monitor_stress.js
  • [SERVER-7238] - power of 2 allocation breaks with docs > 8mb
  • [SERVER-7250] - c++ driver build broken on bson change
  • [SERVER-7253] - Do not use indirect pointer to call 'snprintf'
  • [SERVER-7265] - fail_point_test failure on bbot
  • [SERVER-7272] - mock_dbclient_connection.cpp compiler warning on Windows 64-bit 2008+
  • [SERVER-7273] - documenttests.cpp:808 warning about int64->double truncation
  • [SERVER-7294] - Passing bad logpath to mongod/mongos should prevent server startup.
  • [SERVER-7300] - Race Condition in FailPoint::setMode
  • [SERVER-7329] - mongoimport does not report all failures
  • [SERVER-7338] - jstests/sharding/sync6.js fails on Windows with Boost::filesystemv3
  • [SERVER-7339] - jstests/tool/dumpfilename1.js fails on Windows with Boost::filesystemv3
  • [SERVER-7341] - Make mongorestore on Windows agnostic about directory separators (slash and backslash)
  • [SERVER-7342] - jstests/disk/directoryperdb.js fails on Windows
  • [SERVER-7352] - Do not try to exit cleanly after unhandled exception in Windows
  • [SERVER-7362] - With Boost::filesystem v3 on Windows, we need to work with canonical file paths
  • [SERVER-7368] - replSetStepDown fails in stepdown2.js
  • [SERVER-7371] - Fix corner case where an update mod is applied twice
  • [SERVER-7409] - Ubuntu build failing

New Feature

  • [SERVER-4045] - Display queries for getmore ops in db.currentOp() output
  • [SERVER-5175] - Need "failpoints" system to facilitate testing core server.
  • [SERVER-5213] - add total connections ever opened to server status
  • [SERVER-7050] - C++ Driver to support creation of TTL indexes

Task

  • [SERVER-6051] - Consider moving memory.js from the jstests suite to slowNightly
  • [SERVER-7002] - wrap the profile code with try-catch
  • [SERVER-7032] - add help for sh.addTagRange
  • [SERVER-7116] - Configure MIT Kerberos dev/test platform
  • [SERVER-7290] - Make it harder to misuse failpoint
  • [SERVER-7302] - Add SpiderMonkey info to THIRD-PARTY-NOTICES file

Improvement

  • [SERVER-1929] - handle replica set flapping
  • [SERVER-2001] - option to hash shard key
  • [SERVER-2380] - Make db.printCollectionStats() behave the same way as db.collection.stats()
  • [SERVER-3104] - index bound improvements for elemMatch query on multikey index
  • [SERVER-4073] - getLastError should return the members that the write has been replicated to
  • [SERVER-4314] - Add support for boost filesystem v3
  • [SERVER-5112] - Need a better story for startup-time initialization of C++ modules.
  • [SERVER-5211] - Refactor CmdLine::store
  • [SERVER-5561] - Move definition of BOOST_FILESYSTEM_VERSION preprocessor constant out of pch.h
  • [SERVER-5635] - Feedback when 2D index values are out of range
  • [SERVER-5705] - make db.printShardingStatus() print the shard key for every sharded collection
  • [SERVER-5845] - Cursor can get deleted because of timeout at the finish stage of a sharded map reduce
  • [SERVER-5939] - JavaScript version() function should return version string
  • [SERVER-6224] - mongotop should give error message when trying to connect to a mongos instance
  • [SERVER-6336] - Use template language evaluator in benchRun
  • [SERVER-6450] - Use ps::Rolling to provide a working-set size estimate
  • [SERVER-6694] - C++ driver for GridFS should create unique index on files_id, n
  • [SERVER-6750] - Clarify message for error 10334 - Invalid BSONObj error when doing Map/Reduce
  • [SERVER-6808] - RecoveryJob shouldn't find MMF for each entry
  • [SERVER-6816] - Improve journal data handling after multithreaded batch writing
  • [SERVER-6930] - Trim minvalid document to avoid "DFM::findAll extent empty" log messages
  • [SERVER-6946] - Only send authentication table on commands when running with auth
  • [SERVER-7049] - Leftover test for incorrect 'assert'
  • [SERVER-7289] - validate command should do more inexpensive tests
  • [SERVER-7344] - Provide function/variable interface for determining what javascript interpreter the shell and server are compiled with

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.