Release Notes - Core Server - Version 2.5.3 - HTML format

Question

  • [SERVER-9031] - Support for libssl 0.9.8k without FIPS_mode_set

Bug

  • [SERVER-1155] - Update with positional operator with regex selector fails
  • [SERVER-2996] - RWLockTest2 flaky
  • [SERVER-3046] - $bit update modifier doesn't work when field does not exist
  • [SERVER-3988] - should regex matching work with $pull? it doesn't.
  • [SERVER-4973] - $not should return error if used as a top-level key in query document
  • [SERVER-5037] - mongostat --noheaders --discover prints headers
  • [SERVER-6140] - sharded aggregation explain failure
  • [SERVER-6782] - All targeted queries will fail with db-level auth if primary shard is unavailable.
  • [SERVER-7379] - Immutable shardkey becomes mutable
  • [SERVER-7808] - mongos allows you to specify an invalid port number
  • [SERVER-7920] - getCollectionNames function may return empty string in the list
  • [SERVER-8011] - use _exit() instead of dbexit() in processCommandLineOptions() (db.cpp)
  • [SERVER-8238] - Log warning if collections are missing _id index
  • [SERVER-8477] - Extra return statement in DBException::toString()
  • [SERVER-8524] - --sslPEMKeyFile and other ssl arguments require the full path when using --fork
  • [SERVER-8535] - Removing permissions on log directory causes stack dump
  • [SERVER-8682] - mongo tools do not support --sslPEMKeyFile or --sslPEMKeyPassword
  • [SERVER-8684] - Driver crashes with boost 1.52
  • [SERVER-8713] - bsondump output interferes with progress meter
  • [SERVER-8942] - readWrite users can delete privilege documents via cloneCollection
  • [SERVER-9109] - initAndListen returns on ECONNABORTED
  • [SERVER-9238] - Shell stops working after long autocomplete operation
  • [SERVER-9240] - Exterior shell of polygon is invalid: duplicate points not ignored in Polygon/MultiPolygon
  • [SERVER-9248] - MongoDB crash on startup on linux system when unable to check readahead due to limited permissions
  • [SERVER-9275] - rpm/init.d-mongod uses dbpath for pidfile location
  • [SERVER-9289] - Date operators incorrectly throw exceptions for object arguments
  • [SERVER-9340] - Mongo will stop loading the configuration file if comment line exceeds 256 characters
  • [SERVER-9441] - Secondaries execute distinct/aggregate commands irrespective of slaveOk bit
  • [SERVER-9446] - No sanity check of role existence when creating users
  • [SERVER-9501] - initial sync exception: 10083 create collection invalid size spec
  • [SERVER-9533] - getLastError with j:true does not set err if journaling disabled
  • [SERVER-9601] - copyDB requires privileges on the "admin" database on the target machine, not the "todb" database
  • [SERVER-9628] - text indexing picks up strings in arrays ignoring remaining dotted path
  • [SERVER-9648] - mongoexport should export date types with milliseconds in csv mode
  • [SERVER-9660] - mongos version check for upgrade should use buildInfo instead of serverStatus
  • [SERVER-9818] - Problems when starting MongoDB with > 1023 FDs
  • [SERVER-9927] - WSAPoll not defined on windows server 2003 64
  • [SERVER-10013] - no rollback of collection version on soft-fail migration commit (findOne::prepare failed)
  • [SERVER-10034] - Invalid --pidfilepath is silently ignored
  • [SERVER-10186] - setupSecurityKey should check character count after whitespace has been stripped
  • [SERVER-10202] - BasicTests::SleepBackoffTest failed on V2.4 Windows 32-bit
  • [SERVER-10231] - Creating an index on system.indexes breaks initial sync of secondary
  • [SERVER-10235] - ProgressMeter for closeAllFiles uses arguments incorrectly
  • [SERVER-10251] - JsobjTests::OIDTests::ToDate failed on Nightly Linux 64-bit SSL Amazon AMI
  • [SERVER-10261] - Disable SSL session caching on server to avoid Java driver SSL connection problems
  • [SERVER-10285] - Seg Fault when parsing Point using 2dsphere Indexes
  • [SERVER-10319] - [mongostat] --discover option does not respect --rowcount (-n) output limitation
  • [SERVER-10339] - MONGODB-X509 user authentication should not require the clusterAuthMode option.
  • [SERVER-10341] - sync_passive2.js fails on Nightly Solaris-SmartOS 64-bit, Linux 32-bit
  • [SERVER-10382] - Interrupted count commands don't return an error code
  • [SERVER-10408] - Setting sleep to 0 in mongostat results in uninitialized data being printed
  • [SERVER-10460] - Index Rebuilder may not always run at startup on a secondary
  • [SERVER-10518] - repl writer worker can't have undefined in a query expression
  • [SERVER-10567] - Socket close race when relinquishing a replica node
  • [SERVER-10580] - Fix consolidate-repos.sh to work if /var/www is a symlink
  • [SERVER-10581] - Ignore enterprise packages in consolidate-repos.sh
  • [SERVER-10594] - slaveOk bit ignored for unsharded aggregate
  • [SERVER-10618] - complex_sharding.js HANGING on Windows 32-bit only
  • [SERVER-10623] - Mongod fails to start as unprivileged user when {{/sys/devices/system/node}} is not readable and executable.
  • [SERVER-10624] - JS print() function doesn't print in mongod
  • [SERVER-10635] - Rebranding broke httpClientTest when SSL is enabled
  • [SERVER-10638] - buildbot cleanup_orphaned_cmd_prereload.js fails intermittently
  • [SERVER-10639] - trace_missing_docs_tests.js fails on mci builder in auth passthrough mode
  • [SERVER-10654] - drop_dups.js failing on Linux 32-bit, 64-bit (but not DEBUG?)
  • [SERVER-10655] - aggregation_auth : mongos_slaveok.js failing on linux-64, osx-108-dur-off
  • [SERVER-10657] - replsets_prefetch_stress.js (slow_weekly_tests) failing on MCI win64, linux64
  • [SERVER-10660] - mongod --repair erroneously reports pdfile version is out of date
  • [SERVER-10678] - Socket constructor should not throw when the provided FD is closed already.
  • [SERVER-10688] - sync6.js - verify failed in DistributedLock:lock_try on Linux 32-bit debug
  • [SERVER-10693] - Redact pipeline not including non-object array members
  • [SERVER-10694] - command_line_parsing.js failed on Nightly Windows builders
  • [SERVER-10707] - Coverity analysis defect 10178
  • [SERVER-10726] - memory.js taking 7+ hours on Linux 64 DEBUG
  • [SERVER-10733] - DistributedLock::unlock() can rarely throw
  • [SERVER-10739] - Shell and C++ driver sends -1 instead of 0 as initial responseTo in the wire message header.
  • [SERVER-10742] - mongod config file no longer accepts verbose=vvv syntax
  • [SERVER-10766] - Always write lastmodEpoch field on config.collections
  • [SERVER-10774] - user_management_commands_parser_test failing on DEBUG builders
  • [SERVER-10775] - get_last_error.js failing on multiple "duroff" builders
  • [SERVER-10779] - JSON Parser Needs to Support the DBRef $db Field
  • [SERVER-10782] - Mongoexport doesn't work with --fieldFile
  • [SERVER-10792] - Add correct Enterprise license to Windows installer
  • [SERVER-10794] - For compatibility with old versions of the shell, db.addUser("user", "password") should create a super-user.
  • [SERVER-10795] - Interrupting Javascript during V8Scope initialization causes resource leak
  • [SERVER-10798] - Log information leakage
  • [SERVER-10803] - Fix buildbot url capture in smoke.py on windows
  • [SERVER-10814] - Install enterprise dlls with C++ driver in the appropriate subdirectory
  • [SERVER-10816] - MCI: all test suites failing on windows-64-2k8-debug, Windows 64-bit DEBUG
  • [SERVER-10817] - httpinterface.js failing on Nightly Linux 64-bit
  • [SERVER-10821] - Enterprise license agreement needs to be fixed
  • [SERVER-10823] - isMaster does not contain tags in some cases
  • [SERVER-10828] - Add MS redestributable VS run time to Enterprise installer package
  • [SERVER-10829] - Windows mongod.exe should print to log its flavor
  • [SERVER-10832] - Invoking the $mul update operator against a missing element yields 1, should yield 0
  • [SERVER-10837] - trace_missing_docs_test.js (sharding) failing on Win 32 bit
  • [SERVER-10838] - mongod crashes with multiple SSL connections
  • [SERVER-10871] - starting mongodb as a service fails on ubuntu (precise) with new separated packages
  • [SERVER-10875] - mongo segfaults while authenticating user with x509 and no command line ops specified
  • [SERVER-10876] - starting mongod service fails on redhat based systems using new packages
  • [SERVER-10878] - geo_update_btree failing on linux-64-debug
  • [SERVER-10885] - mongodump produces invalid bson when dumping to stdout in verbose mode
  • [SERVER-10903] - fix negation of unsigned value in extsort
  • [SERVER-10908] - Sanity check for adding config server as shard server never runs
  • [SERVER-10912] - parallel tests failing since intro of user management shell helpers
  • [SERVER-10914] - $out and capped collections should probably error
  • [SERVER-10919] - logging in ~ReplicaSetMonitor() crashes
  • [SERVER-10922] - Adding repl set member as a non-repl set shard succeeds
  • [SERVER-10927] - if a replicaset member goes down during a $out we are left with an inconsistent state
  • [SERVER-10933] - SNMP MIB file cannot be parsed in snmpwalk
  • [SERVER-10946] - MONGODB-X509 auth appears to succeed but all operations fail with code 13
  • [SERVER-10950] - Compile failure on C++11 builder
  • [SERVER-10969] - auth_x509.js failing on enterprise-ubuntu1204-64 ssl
  • [SERVER-10972] - correctly set timestamp in config.collections
  • [SERVER-10975] - Incorrect log path in /etc/mongod.conf for deb packages
  • [SERVER-10977] - return code from refreshing metadata not checked in merge
  • [SERVER-10979] - MONGODB-X509 authentication fails against Windows build
  • [SERVER-10989] - --quiet flag does not suppress logged info messages for tools
  • [SERVER-10990] - modifier_push_test.cpp compile failure on enterprise-rhel-57-64-bit
  • [SERVER-10992] - client / secondExample failing on Linux 32-bit (MCI only, not Buildbot)
  • [SERVER-11002] - Insufficient permission will crash checkReadAhead()
  • [SERVER-11010] - Building without NDEBUG defined causes tcmalloc to prefer the mmap allocator to sbrk allocator
  • [SERVER-11011] - getCmdLineOpts returns boolean values as strings for options that come from a config file
  • [SERVER-11018] - Auth behavior of mergeChunks command is inconsistent with splitChunk
  • [SERVER-11032] - Do not veto if "primary" is the node trying to be elected
  • [SERVER-11035] - count10.js failing on some Enterprise MCI builders
  • [SERVER-11056] - authorization_manager_test:testAcquireV2User failing on OS X
  • [SERVER-11062] - parse_number_test.exe failing on Windows 32-bit
  • [SERVER-11070] - Building in C++03 mode against libc++ fails due to attempts to use the TR1 headers
  • [SERVER-11073] - Assertion Failure when trying to create a user
  • [SERVER-11083] - replsets/temp_namespace.js failing on Windows 64-bit 2008R2+
  • [SERVER-11088] - core suite Profiler:BigDoc failing on Enterprise Windows 64-bit
  • [SERVER-11089] - replsets/ismaster1.js failing on Windows 64-bit DEBUG
  • [SERVER-11091] - profile1.js failed on Linux 32-bit, C++11 Ubuntu, Enterprise RHEL 6.2
  • [SERVER-11093] - Compile failures on MCI Linux 64-bit builders
  • [SERVER-11108] - MSI build fails for non-enterprise msi
  • [SERVER-11110] - some enterprise and community subpackages on redhat do not conflict
  • [SERVER-11122] - moveChunk fails in sharding/hash_basic.js on slow hosts
  • [SERVER-11125] - setProfilingLevel() does not accept zero for slowms parameter
  • [SERVER-11129] - auth_helpers.js failing on Enterprise Linux 64
  • [SERVER-11130] - authTest-sharedclient failing on RHEL 5.7 64-bit
  • [SERVER-11132] - "table scans not allowed" during parallel/basicPlus.js on RHEL 5.7
  • [SERVER-11138] - temp_namespace.js failing on many builders, replsets_auth suite
  • [SERVER-11139] - tool/dumpfilename1.js failing on Linux 64-bit DEBUG
  • [SERVER-11140] - directoryperdb.js failing on Linux 64 builders
  • [SERVER-11150] - batched_command_response_test failing on Linux-64 DEBUG
  • [SERVER-11151] - initial_sync3.js failed on Linux 64-bit DEBUG, Linux 64-bit DEBUG DUR OFF
  • [SERVER-11152] - buildindexes.js broken with auth on Linux 64-bit, Linux 64-bit DEBUG
  • [SERVER-11153] - SERVER-7379.js broken with auth on Linux 64-bit DEBUG
  • [SERVER-11154] - repl/basic1.js broken with auth on Linux-64, Linux-64 DEBUG
  • [SERVER-11155] - aggregation/mongos_slaveok.js broken with auth on Linux 64 DEBUG
  • [SERVER-11160] - compile failure on Solaris: server_options.cpp: "facilitynames was not declared in this scope"
  • [SERVER-11161] - initial_sync1_x509.js failed on Enterprise RHEL 5.7 64-bit
  • [SERVER-11162] - tool_replset.js failing on Linux 64-bit DEBUG DUR OFF
  • [SERVER-11163] - initial_sync1.js failing on Enterprise RHEL 5.7 64-bit
  • [SERVER-11164] - smoke.py fails inside of setup_admin_user
  • [SERVER-11165] - or4.js failing on (at least) Enterprise builders
  • [SERVER-11167] - getmore_error.js failing on Enterprise Linux 64-bit Amazon AMI
  • [SERVER-11168] - sharding/inTiming.js failed on Enterprise Linux 64-bit Amazon AMI
  • [SERVER-11169] - compile failure on Enterprise Windows 64-bit
  • [SERVER-11170] - ipv6_connection_string_validation.js failing on MCI Linux 64-bit
  • [SERVER-11174] - csvexport_dates.js failing on Linux 32-bit
  • [SERVER-11175] - bulk_shard_insert.js failing on Linux 64-bit DEBUG
  • [SERVER-11176] - geo_axis_aligned.js failed on Solaris, Windows
  • [SERVER-11177] - stale_clustered.js failed on RHEL 5.7 64-bit
  • [SERVER-11179] - or6.js failed on Windows 64-bit DEBUG
  • [SERVER-11181] - parallel basic.js failing on Windows 64 DEBUG (or6.js?)
  • [SERVER-11186] - BSON-format Audit Logs Need Remote and Local Address Fields
  • [SERVER-11187] - Audit system incorrectly logs index creation as collection creation.
  • [SERVER-11189] - camelCase audit parameters
  • [SERVER-11212] - snmp module not initialized
  • [SERVER-11220] - empty_cluster_init.js failing
  • [SERVER-11244] - parallel test failure on where4.js
  • [SERVER-11421] - Config server does not invalidate the config.chunks cache
  • [SERVER-11517] - Mongo index on implicit/explicit $and not consistent
  • [SERVER-11775] - $all with null handled differently in 2.4 and 2.5

New Feature

  • [SERVER-963] - Separate os packages into multiple packages
  • [SERVER-1105] - access control per collection
  • [SERVER-1534] - $min, $max field update operators
  • [SERVER-4504] - aggregation: need an explain facility
  • [SERVER-4899] - aggregation: need an expression to give the size of an array in projections
  • [SERVER-7455] - Replace the keyfile used for replica sets with x.509 authentication
  • [SERVER-7471] - Windows Enterprise Edition
  • [SERVER-7533] - Expose method to the mongo shell to get the status of a ReplSetMonitor instance
  • [SERVER-8678] - Implement automated config schema upgrade from v4 to v5
  • [SERVER-9390] - Multi-language support for text search
  • [SERVER-10588] - make $cond accept object as argument
  • [SERVER-10628] - $anyElementTrue and $allElementsTrue operator for agg
  • [SERVER-11044] - Expose BSONObj::wocompare to mongo shell

Task

  • [SERVER-6246] - Manipulate user objects exclusively via commands
  • [SERVER-7176] - Audit and write final tests for update() refactoring
  • [SERVER-7314] - Get rid of Model "ORM" class from C++ driver
  • [SERVER-8864] - Allow mixed SSL and non-SSL connections
  • [SERVER-9067] - Port current update() test logic to new interface
  • [SERVER-9282] - Audit tools for correct handling of log output
  • [SERVER-9515] - Commands for manipulating role objects
  • [SERVER-9517] - New schema for users and roles data
  • [SERVER-9518] - Keep ephemeral copies of role and user data in memory in mongos and mongod
  • [SERVER-9766] - Remove C++ driver client tarball and document new procedure to build C++ driver from primary DB sources
  • [SERVER-9956] - Windows installer support (MSI) for Enterprise build
  • [SERVER-9980] - Add write concern to user management commands
  • [SERVER-10156] - Windows Cyrus SASL plugin
  • [SERVER-10253] - Move command line parsing into MONGO_INITIALIZERS with correct prerequisites and dependents
  • [SERVER-10254] - Use new command line parser in all executables
  • [SERVER-10255] - Refactor storage of command line options
  • [SERVER-10289] - Configuration for auditing
  • [SERVER-10358] - Advanced filtering for audit events.
  • [SERVER-10471] - develop query planner
  • [SERVER-10492] - bring up an MCI instance
  • [SERVER-10521] - Create all types involved in implementing the commands
  • [SERVER-10532] - Implement sharded operation state management
  • [SERVER-10534] - Implement the mongos network abtraction for write commands
  • [SERVER-10535] - Implement sharding version control on the mongod side
  • [SERVER-10536] - Hook new write commands to mongos command handling logic
  • [SERVER-10547] - Do lightweight insert check (not deep okForStorage check)
  • [SERVER-10565] - Re-implement explain() for new execution engine
  • [SERVER-10650] - Add a Server Fail point on MaxTimeMS
  • [SERVER-10670] - Build and maintain roles data structure from contents of admin.system.roles
  • [SERVER-10717] - New implementation of $push should log positional sets when possible
  • [SERVER-10721] - Add an error code for "no such cmd: <command name>"
  • [SERVER-10740] - Generate test result report from smoke.py
  • [SERVER-10741] - Remove outputNs from agg return object
  • [SERVER-10743] - Add "millis" option to sleep command
  • [SERVER-10745] - Eliminate AuthorizationSession::hasInternalAuthorization()
  • [SERVER-10802] - Add helpers to LogBuilder
  • [SERVER-10850] - drop.js via sharding_passthrough.js failing on Nightly Linux RHEL 64-bit
  • [SERVER-10883] - MSI's for 2008 and 2008r2 plus should use distinct install directories
  • [SERVER-10911] - Add $currentDate update modifier
  • [SERVER-10978] - inconsistent naming for indexOnly between cursor.explain() and aggregation explain
  • [SERVER-10985] - Eliminate obsolete constants in AuthorizationManager
  • [SERVER-11006] - Enterprise rpm packages must change dependency from gsasl to cyrus-sasl
  • [SERVER-11048] - Remove unused mongo.spec from repo

Improvement

  • [SERVER-1351] - GLE upserted _id field should always be filled in
  • [SERVER-2363] - $push/$pushAll support for insertion at any position (top/bottom/ordinal)
  • [SERVER-3442] - mongoimport should take collection name from filename, like mongorestore
  • [SERVER-3579] - Standardize package & service names across installers
  • [SERVER-4516] - findAndModify should tolerate _id in update field if it doesn't modify it
  • [SERVER-4868] - Record more in config.changelog
  • [SERVER-5195] - db.printSlaveReplicationInfo should ignore arbiters
  • [SERVER-5916] - In $group allow "$$ROOT" to expand to the whole document matched.
  • [SERVER-6157] - Refactor BSONObjExtSort
  • [SERVER-6192] - $and and $or expressions may not short circuit non constants and optimize to a constant if the original expression has only one constant
  • [SERVER-6193] - string constants prevent optimization of non string sensitive operators
  • [SERVER-6219] - use ::mongo in macros
  • [SERVER-6299] - Additional serverStatus metrics to the MongoDB Enterprise SNMP offering
  • [SERVER-6376] - Tag replica set nodes without election or reconnections
  • [SERVER-6399] - Refactor update() code
  • [SERVER-6405] - Wrapper for NamespaceDetails and NamespaceDetailsTransient
  • [SERVER-6620] - Auth credentials should be invalidated when user is removed
  • [SERVER-6901] - db.printSlaveReplicationInfo() and db.printReplicationInfo() should be present in both rs.* and db.*
  • [SERVER-7140] - Print same information that prints on startup when the log is rotated
  • [SERVER-7144] - Support improved config file parsing
  • [SERVER-7454] - syslog should include facility information in addition to level as part of the priority argument
  • [SERVER-7727] - Provide at least two extra free format fields to store user information
  • [SERVER-7961] - Use x.509 certificates for authentication
  • [SERVER-8069] - Support full $slice / $sort semantics in $push
  • [SERVER-8375] - upon clock skew detection, sync directly from a primary
  • [SERVER-8510] - Move command line parsing into MONGO_INITIALIZERS and support JSON config files
  • [SERVER-8600] - improve handling of non-fsyncable directories
  • [SERVER-8606] - Remove to change frightening OpenVZ message at mongod startup
  • [SERVER-8715] - $push with only $sort pushes a $sort field
  • [SERVER-8915] - remove systeminfo and the calls thereto
  • [SERVER-8937] - C++ Unit Tests Should Print Success/Failure summary at end of execution.
  • [SERVER-8992] - uasserts in GeoParser::parseGeoJSONPolygon don't return _id for document in error
  • [SERVER-9352] - Log entire index specification
  • [SERVER-9371] - addTagRange should prevent min and max being the same
  • [SERVER-9437] - continue interface cleanup for rollback RemoveSavers
  • [SERVER-9590] - Update $push + $sort should be able to sort by the whole array element
  • [SERVER-9770] - Allow windows builds to use the dynamic C and C++ runtime libraries
  • [SERVER-9771] - Enable support for building the C++ driver as a DLL on windows.
  • [SERVER-10165] - Change aggregate shell helper to return cursor.
  • [SERVER-10513] - deprecate votes in replica set config
  • [SERVER-10520] - Add SSL cipher restriction capability
  • [SERVER-10540] - "couldn't update slave" error messages are not meaningful
  • [SERVER-10596] - V8 cache data is not cleaned up in connection after usage
  • [SERVER-10613] - Optimize simple aggregations using $redact followed by a $match
  • [SERVER-10641] - Additional input validations for geo queries
  • [SERVER-10704] - fix unit tests that still use votes>1
  • [SERVER-10712] - duplicate code in mongodump
  • [SERVER-10715] - MatchableDocument: improve performance capabilities of getting an iterator
  • [SERVER-10730] - Allow custom install directory location on Windows
  • [SERVER-10752] - VS2013 support
  • [SERVER-10753] - Please update the informative message for combination of fsync and j options for write concern
  • [SERVER-10804] - Add more details to test report generated by smoke.py
  • [SERVER-10822] - Add C++ driver headers to Windows Installer
  • [SERVER-10830] - Add building a windows enterprise installer (msi) target to scons
  • [SERVER-10930] - Improve error message when detecting duplicate command line arguments
  • [SERVER-10958] - Provide _id and error for failed document from multi-update
  • [SERVER-11021] - cache dbhash results in mongod for config. collections
  • [SERVER-11031] - Remove irrelevant socket recv error message
  • [SERVER-11067] - Use local db lock to save replica set [re]config
  • [SERVER-11090] - convert audit options and snmp options to not use Module
  • [SERVER-11102] - When building in debug mode, gperftools debug allocation features should be enabled
  • [SERVER-11115] - Inspecting db.collection.aggregate() shows hardcoded test checks
  • [SERVER-11136] - Support json parsing of NumberLong/Int

Edit/Copy Release Notes

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