MongoDB Changelog

New in version 2.8.0 RC 1

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

New in version 2.6.5 (October 9th, 2014)

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

New in version 2.6.4 (August 12th, 2014)

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

New in version 2.7.4 Dev (July 28th, 2014)

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

New in version 2.7.3 Dev (July 4th, 2014)

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

New in version 2.6.3 (June 23rd, 2014)

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

New in version 2.6.2 (June 18th, 2014)

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

New in version 2.6.2 RC 1 (June 10th, 2014)

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

New in version 2.7.1 Dev (May 28th, 2014)

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