Release Notes - Core Server - Version 3.5.4 - HTML format

Question

Bug

  • [SERVER-13732] - Predicates in top-level implicit AND query not considered when generating index access plan for contained OR
  • [SERVER-19491] - arbiters should have priority 0 for clarity
  • [SERVER-21428] - Enable enumeration of codes contained in ErrorCodes class
  • [SERVER-26349] - Support running dmesg -T on platforms that require sudo
  • [SERVER-26494] - remove unreachable else-branch in sync_source_feedback.cpp logic
  • [SERVER-27564] - Dagger tool does not produce correct output
  • [SERVER-27623] - SLES11 s390x build should target z9-109, not z196
  • [SERVER-27682] - Add SCons variable files for the MongoDB GCC and clang toolchains
  • [SERVER-27700] - WT secondary performance drops to near-zero with cache full
  • [SERVER-27839] - Allow for step downs during reconfig in ReplSetTest initiate
  • [SERVER-27863] - Reschedule early alarms in NetworkInterfaceASIO to avoid mongos crash
  • [SERVER-27879] - Filename blacklist in burn_in_tests.py has no effect on Windows due to path normalization
  • [SERVER-27891] - reIndex command ignores writeConcern
  • [SERVER-27897] - Remove uses of temporary RAII objects
  • [SERVER-27913] - Make sure the last applied hash is corresponding to the last applied optime in bgsync start()
  • [SERVER-27930] - Accessing cursor with pending data after renaming collection may trigger fassert
  • [SERVER-27935] - Fix serialization of concurrent fsyncLock execution
  • [SERVER-27936] - fix improper release of locks in master/slave handleDuplicateDbName
  • [SERVER-27941] - Remove the shardVersion check when entering the critical section.
  • [SERVER-27950] - Add SocketException to the list of NetworkErrors
  • [SERVER-27954] - Viewing a code_w_s object in the shell produces malformed output
  • [SERVER-27956] - Build successfully under G++ 6.2
  • [SERVER-27996] - Accessing system.namespaces cursor with pending data after removing namespaces may cause crash
  • [SERVER-28005] - Oplog query network timeout is less than the maxTimeMs
  • [SERVER-28013] - Ensure ReplClientInfo's last opTime can't be moved backwards
  • [SERVER-28017] - $ne perform a case sensitive find when it should do a case insensitive find based on collation settings
  • [SERVER-28022] - Accessing cursor with pending data after forcing system.namespaces record move may cause crash
  • [SERVER-28037] - Raise default writeConcern wtimeout in db.js to 10 minutes
  • [SERVER-28038] - Improve WiredTigerRecordStore invariants for capped visiblity
  • [SERVER-28041] - remove awaitNodesAgreeOnPrimary() call in sync2.js
  • [SERVER-28047] - ReplSetTest._callIsMaster() should set slaveOk on primary
  • [SERVER-28049] - List Databases command should apply filter on name only before database locks
  • [SERVER-28050] - Reconnect connection after stepdown in read_committed_stale_history.js
  • [SERVER-28065] - blacklist jstests/core/views/duplicate_ns.js from initial sync suites
  • [SERVER-28071] - FTS index language override parsing errors not handled correctly for oplog idempotency
  • [SERVER-28075] - Wait for DB works in simulateSuccessfulV1ElectionAt()
  • [SERVER-28105] - sharding_with_x509.js should use deletes that can be versioned
  • [SERVER-28110] - Set secondaryCatchUpPeriodSecs smaller when requesting remote primary stepdown
  • [SERVER-28132] - Remove sudo from hang_analyzer invocation in evergreen.yml
  • [SERVER-28134] - Clean up header include order sensitivity
  • [SERVER-28135] - stepdown.js should always fsyncUnlock() all secondary nodes
  • [SERVER-28154] - Race condition in ttl_sharded.js
  • [SERVER-28162] - Tests that call getLatestProfilerEntry() should be blacklisted from dynamic initial sync passthrough suites
  • [SERVER-28169] - Set eviction=(threads_min=1) in Microbenchmarks testing
  • [SERVER-28184] - remove election_timing.js (and lib/election_timing_test.js)
  • [SERVER-28185] - remove reconfig_without_increased_queues.js
  • [SERVER-28288] - Windows MongoDB 3.4.1 tools show "built-without-version-string" instead of the actual version

New Feature

  • [SERVER-18794] - Add an aggregation expression to convert an object to an array of key, value pairs
  • [SERVER-23818] - Include Evergreen task id in metadata sent to logkeeper
  • [SERVER-28004] - Add SCons support for targeting iOS, tvOS, and associated simulators
  • [SERVER-28390] - Mark link targets as Precious when incremental linking flags are enabled

Task

  • [SERVER-3144] - mongo shell host & port doc issue
  • [SERVER-20540] - Support compiling with split DWARF debug info
  • [SERVER-21675] - Remove 'legacy' from Evergreen task names
  • [SERVER-23225] - Add jstest asserting protocolVersion:0 + readConcern:Majority == BAD
  • [SERVER-25309] - Add RHEL 6 zSeries build variant
  • [SERVER-27120] - Increase synchronization between producer/applier threads and stepdown/stepup
  • [SERVER-27543] - Create new metadata for oplog queries
  • [SERVER-27704] - Chunk metadata cache updates on the primary must be written to config.chunks.ns
  • [SERVER-27746] - Integrate LogicalClock with oplog
  • [SERVER-27748] - Implement LogicalTimeMetadata
  • [SERVER-27768] - Implement HMAC key for signing Logical clock's storage & distribution
  • [SERVER-27773] - Add operationTime to command response
  • [SERVER-27813] - Change ReplSetTest's checkDBHashesForReplSet() function to handle duplicate namespaces being returned
  • [SERVER-27855] - Attach all NetworkInterface instances with EgressHooks
  • [SERVER-27858] - Increase the task timeout when running to the concurrency suite to 6 hours
  • [SERVER-27886] - move paths.* into mmapv1
  • [SERVER-27887] - add toBson() rvalue overload method to RecordData
  • [SERVER-27890] - remove tempness of cappedTruncateAfter
  • [SERVER-27904] - Extend support for moving predicates into contained ORs to multikey indexes
  • [SERVER-27914] - Verify canAcceptWritesForDatabase() is called while the caller holds the global lock
  • [SERVER-27972] - Add a featureCompatibilityVersion op observer for database/collection drop
  • [SERVER-27977] - Remove config connection string command parameters that are no longer used to initiate sharding, and eliminate current uses of ShardLocal::getConnString()
  • [SERVER-27983] - Move sys-perf state to /data from $HOME
  • [SERVER-27985] - remove _everStartedWrite from WiredTigerRecoveryUnit
  • [SERVER-28026] - Disable auto-tuning of WiredTiger eviction threads
  • [SERVER-28029] - Update sanitizer builders to use toolchain clang
  • [SERVER-28030] - Move 'initial chunks' writes out of ChunkManager
  • [SERVER-28067] - Update sys-perf.yml to copy over cluster.json
  • [SERVER-28086] - Update system-perf.yml tagged commit
  • [SERVER-28094] - remove StaticObserver code
  • [SERVER-28098] - Get rid of DBConfig::getAllShardIds
  • [SERVER-28106] - Cleanup the contract of ChunkManager::findIntersectingChunk
  • [SERVER-28111] - Move parallel.h/parallel.cpp to be under mongo/s/client
  • [SERVER-28112] - Remove virtualenv workaround for SUSE 12 in etc/evergreen.yml
  • [SERVER-28147] - Increase time out on sys-perf shard tests
  • [SERVER-28161] - make ClusterWrite::explain path use ARS instead of DBClientMultiCommand
  • [SERVER-28163] - make cluster_get_last_error_cmd.cpp use ARS instead of DBClientMultiCommand
  • [SERVER-28171] - Use Python 2.7 for all python invocations in evergreen.yml
  • [SERVER-28173] - create a component that sends requests in parallel to multiple hosts over ASIO

Improvement

  • [SERVER-2104] - covered index should support dotted fields
  • [SERVER-3181] - Add option to listDatabases to only get db names, not size info
  • [SERVER-18407] - Ensure getLastErrorDefaults/getLastErrorModes are satisfiable
  • [SERVER-18410] - Remove RWLock
  • [SERVER-21933] - Update README
  • [SERVER-25879] - AtomicWord constructor should be constexpr
  • [SERVER-26830] - Randomize priority takeover timeout
  • [SERVER-26965] - Use RAII type for turning off replicated writes
  • [SERVER-27158] - Shut down clusters on finished jobs in resmoke
  • [SERVER-27553] - Remove mongo/util/print.h
  • [SERVER-27627] - Use requests library to manage HTTP posts in resmoke.py buildlogger support
  • [SERVER-27810] - Guarantee that replicaset is stable with node 0 as primary after ReplSetTest.initiate()
  • [SERVER-27836] - Package smoke testing should retry verify step and not call converge
  • [SERVER-27866] - The globalLockManager dump should print thread ID in decimal & hex
  • [SERVER-27868] - Upload debug symbols on all build variants that create separate symbol files
  • [SERVER-27869] - Create a build artifact of hang_analyzer.py output and upload it to S3
  • [SERVER-27870] - Add option to invoke hang_analyzer.py with an explicit list of PIDs
  • [SERVER-27871] - Add hang_analyzer.py option to produce core dump, default to off
  • [SERVER-27875] - Dump critical sections on Windows in hang_analyzer.py
  • [SERVER-27876] - hang_analyzer.py should deduplicate stacks from different threads in Windows debugger CDB
  • [SERVER-27973] - make ClusterClientCursor own ClusterClientCursorParams and pass the params by reference to RouterStageMerge/ARM
  • [SERVER-28000] - sys-perf: Organize all dsi yaml config files under configurations/
  • [SERVER-28036] - Use dmesg -c to clear ring buffer before tasks instead of dmesg --clear
  • [SERVER-28052] - Make SHA1Hash a full fledged class
  • [SERVER-28099] - Use key rather than cmp in libdeps.py sorted_by_str
  • [SERVER-28102] - Add more diagnostic info to stats.js
  • [SERVER-28155] - Cleanup sharding library dependencies

Edit/Copy Release Notes

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