Navigation

3.4 Changelog

3.4.6 Changelog

Sharding

  • SERVER-27789 Increase timeouts in commands_that_write_accept_wc_*
  • SERVER-28351 blacklist move_stale_mongos.js and split_stale_mongos.js from the continuous stepdown suite
  • SERVER-28418 make the split command on mongod return a stale version error if the requested chunk bounds are not found
  • SERVER-29489 Balancer stats generation calls ‘listDatabases’ on shards without maxTimeMS or timeout

Replication

  • SERVER-25765 Commands should wait for write concern even if they throw an exception
  • SERVER-26848 Exit catchup mode when not syncing more data
  • SERVER-28100 extend ReplSetTest.awaitNodesAgreeOnPrimary() to accept an optional expectedPrimaryIndex
  • SERVER-28186 Increase slaveDelay in repl10.js test
  • SERVER-28326 Wait for primary to stabilize in initial_sync4.js test after node is added to 1 node replica set
  • SERVER-28378 Extend secondary catch up period in priority_takeover_two_nodes_equal_priority.js
  • SERVER-28676 [v3.4] minor_version_tags_old_new_old.js should not use replSetStepUp command
  • SERVER-28677 InitialSyncer::_setup_inlock() should reset last applied and durable optimes.
  • SERVER-28751 Allow stepDown command to work against primary in catchup mode
  • SERVER-28803 Increase timeout for clean_shutdown_oplog_state.js
  • SERVER-28813 drop collection before doing dummy write in syncFrom helper
  • SERVER-28877 Cancel race in replication executor can cause elections to assert.
  • SERVER-28969 Wait until the voter has the latest optime in case 3 of catchup.js
  • SERVER-29056 InitialSyncer::_startupComponent should reset ‘component’ before returning CallbackCanceled due to shutdown
  • SERVER-29100 Wait for the same journaling requirement in get_last_error.js
  • SERVER-29240 Add test to ensure valid index creation for capped collections that roll over during initial sync
  • SERVER-29382 Fix cancel race related to the timeout in ReplicationCoordinatorImpl::CatchupState
  • SERVER-29536 apply_batch_only_goes_forward.js should be configured to use 2 electable nodes instead of 3

Query

SERVER-29197 Dangling index records when initial syncing node clones a capped collection that deletes records during collection scan

Aggregation

  • SERVER-28717 $lookup does not expand ‘localField’ as expected when it is a dotted path representing fields within an array
  • SERVER-29001 Stack overflow in views_test (–dbg=on –opt=off) due to long aggregation pipeline
  • SERVER-29618 $geoWithin in aggregation pipeline after $lookup and $unwind returns incorrect results
  • SERVER-29647 Avoid moving $match to be before $sort + $limit
  • SERVER-29676 arrayToObject should not error out on explicit value of null for value

Storage

  • SERVER-22322 Better error message for “no database” from listIndexes
  • SERVER-27347 Only close idle cached cursors on the WiredTiger ident that is busy
  • SERVER-29011 Compact Calls to WiredTiger take multiple overlapping WT_SESSION objects

Operations

  • SERVER-29075 Add remaining client metadata to the currentOp output
  • SERVER-29509 shell_history.js should tolerate extended file ACLs

Build and Packaging

  • SERVER-27260 systemd service files should not start mongod with –quiet
  • SERVER-29409 Reduce Amazon Linux Enterprise build to weekly
  • SERVER-29503 Migrate server build from 10.10 instances to new 10.12 instances

Internals

  • SERVER-28052 Make SHA1Hash a full fledged class
  • SERVER-28162 Tests that call getLatestProfilerEntry() should be blacklisted from dynamic initial sync passthrough suites
  • SERVER-28323 Don’t pass JavaScript scopes a function ID number
  • SERVER-28864 Intra-cluster compression on by default
  • SERVER-28960 Unittest “death tests” should not dump core
  • SERVER-28997 Limit SCRAM-SHA-1 Cache’s use of Secure Memory
  • SERVER-29040 Remove deprecated “run” argument in rpm systemd service file
  • SERVER-29148 Increase run time for mongos tests in sys-perf
  • SERVER-29237 Add maxConnecting in asio connpool
  • SERVER-29433 Improve logging during ReplicaSetFixture initialization
  • SERVER-29485 Use vendorized YCSB in sys-perf.yml
  • SERVER-29516 Tools build on OS X needs to set -mmacosx-version-min in CGO_{C,LD}FLAGS
  • SERVER-29527 Use infrastructure_provisioning.sh and infrastructure_teardown.sh
  • SERVER-29646 hang_analyzer.py should send a SIGUSR1 to resmoke.py before attaching to any processes
  • SERVER-29680 Update perf.yml microbenchmarks replset config
  • WT-3219 Make the clang-analyzer job fail when lint is introduced
  • WT-3297 support the gcc/clang -fvisibility=hidden flag
  • WT-3327 Checkpoints can hang if time runs backward
  • WT-3331 Test format aborted due to time rollback
  • WT-3362 Cursor opens should never block for the duration of a checkpoint
  • WT-3369 WT_CURSOR->uri should always match the URI used to open the cursor
  • WT-3373 Access violation due to a bug in internal page splitting

3.4.5 Changelog

Sharding

  • SERVER-28513 stale_mongos_updates_and_removes.js should only call ensurePrimaryShard once
  • SERVER-28850 Coverity analysis defect 100646: PW.PARAMETER_HIDDEN
  • SERVER-28854 Replace msgBase with msg in assertion detail
  • SERVER-28925 Use listDatabases({‘nameOnly’: true}) in the addShard implementation
  • SERVER-29016 Config primary may hang in shutdown waiting for Balancer
  • SERVER-29066 Sharded findAndModify will not implicitly create the database if it does not exist

Replication

  • SERVER-26360 After node goes into RECOVERING due to being too stale to sync from its source, it will never recover even if there is a valid sync source it could use
  • SERVER-26741 “Fatal Assertion 16360” triggered by temporary collections dropped when restarted in standalone mode
  • SERVER-27966 last_vote.js should wait for replication before stepping down node 0 pre-reconfig
  • SERVER-28387 Extend secondary catchup period during stepdown in server-23299-1.js
  • SERVER-28480 last_vote.js should use ReplSetTest::stepUp() on node 1 before reconfig
  • SERVER-28490 Check the state after acquiring the lock in bgsync
  • SERVER-28688 Deadlock between shutdown and stepdown
  • SERVER-28815 multi_rs.js - step down primary during upgrade/downgrade without {force:true}

Query

  • SERVER-26765 Move views tests into jsCore
  • SERVER-28952 Multikey indexes should not be eligible for DISTINCT_SCAN if distinct key is an array component

Storage

  • SERVER-28038 Improve WiredTigerRecordStore invariants for capped visiblity
  • SERVER-28357 MMAPv1 compact operation may trigger “quota exceeded” error (12501)
  • SERVER-28427 GlobalLock with timeout can still block indefinitely
  • SERVER-29088 Cache uuid in Collection class to fix perf regression

Operations

  • SERVER-15407 Set thread name on Mac OS X and Linux
  • SERVER-26634 Integrate GDB pretty printers for server vocabulary types

Build and Packaging

  • SERVER-26781 Add support for building with openssl 1.1.0
  • SERVER-27682 Add SCons variable files for the MongoDB GCC and clang toolchains

Internals

  • SERVER-19677 Intel library self-check in unit tests
  • SERVER-21842 Generate report.json file and dump stacks on Windows when Event object created by resmoke.py is set
  • SERVER-27279 pthread_setname_np is not supported on SUSE 11.4
  • SERVER-27281 pkill/pgrep cannot find mongod on Linux
  • SERVER-27285 Add a jsCore passthrough with a replset that periodically SIGKILLs a secondary
  • SERVER-27408 burn_in_tests.py doesn’t always exclude tagged tests when generating outfile
  • SERVER-27570 Enforce stricter checks on top level command BSON objects
  • SERVER-27727 Hide idle threads in hang_analyzer
  • 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-27873 Dump a JavaScript backtrace of any code running in SpiderMonkey in hang_analyzer.py
  • SERVER-27874 Display locks and generate digraph for threads using LockManager locks and/or pthread_mutexes
  • SERVER-27877 hang_analyzer.py should deduplicate stacks from different threads in GDB
  • SERVER-28007 Re-enable support for CRC32 hardware acceleration on s390x
  • SERVER-28132 Remove sudo from hang_analyzer invocation in evergreen.yml
  • SERVER-28291 mongodb-uniqstack should dedupe based on frame.pc() rather than frame.name()
  • SERVER-28348 Detect single-process deadlocks involving LockManager locks and/or pthread_mutexes
  • SERVER-28349 Process output logs generated by hang_analyzer are missing stderr
  • SERVER-28354 Add new option to supply base process name in hang_analyzer
  • SERVER-28400 Update to Firefox ESR 45.8.0
  • SERVER-28415 Run thread backtrace before loading Python modules in hang_analyzer.py on ARM platform
  • SERVER-28416 Handle GDB error in hang_analyzer.py mongodb-uniqstack module
  • SERVER-28463 Add set scheduler-locking to Hang Analyzer to prevent threads from running in GDB
  • SERVER-28466 The hang analyzer should not attach to resmoke.py in Evergreen
  • SERVER-28479 hang_analyzer.py on OS X fails to find Python processes
  • SERVER-28584 Remove initialsync_{WT|MMAPv1}_dr tasks from sys-perf
  • SERVER-28588 Handle GDB error in hang_analyzer.py find_frame function
  • SERVER-28710 vectorized send() should handle EWOULDBLOCK
  • SERVER-28760 Add egress logging to legacy write path
  • SERVER-28868 Set noCursorTimeout option on oplog cursor in ReplSetTest.prototype.checkOplogs()
  • SERVER-28971 Error in depth_first_search algorithm incorrectly recurses on visited nodes
  • SERVER-28995 Format string in JstackDumper class of hang_analyzer.py has too few placeholders
  • SERVER-29018 3.4: mongos segfault in getMore on view with find batchSize of 0
  • SERVER-29068 Retry operations in set_feature_compatibility_version.js after network interruption

3.4.4 Changelog

Security

  • SERVER-27821 Make large_role_chain.js not run on DEBUG systems
  • SERVER-28014 When SSL mode is preferSSL, log connections that do not use SSL

Sharding

  • SERVER-20854 Don’t refresh database and collection information from config server while holding a mutex
  • SERVER-22611 ChunkManager refresh can occasionally cause a full reload
  • SERVER-27681 Better concurrency control on shard metadata refresh
  • SERVER-27701 mongos crashed with “Invariant failure remote.status.isOK()”
  • SERVER-28519 Bump verbosity for mongos and config servers in authCommands.js (v3.4)
  • SERVER-28697 Ignore some NoProgressMade errors in sharding_balance4.js
  • SERVER-28698 Use the ‘chunkDataCommitted’ failpoint for migration_critical_section_concurrency.js
  • SERVER-28807 parseShardKeyPattern can leak for bad inputs

Replication

  • SERVER-24498 Write tests for linearizable reads in a sharded system
  • SERVER-26360 After node goes into RECOVERING due to being too stale to sync from its source, it will never recover even if there is a valid sync source it could use
  • SERVER-26830 Randomize priority takeover timeout
  • SERVER-27098 review and fix log levels in DataReplicator
  • SERVER-27120 Increase synchronization between producer/applier threads and stepdown/stepup
  • SERVER-27329 Move BackgroundSync::_rollback into rs_rollback.cpp and unit test it
  • SERVER-27403 Consider term and rbid when validating the proposed sync source
  • SERVER-27543 Create new metadata for oplog queries
  • SERVER-27834 Index builds during initial sync should not implicitly create collections
  • SERVER-27966 last_vote.js should wait for replication before stepping down node 0 pre-reconfig
  • SERVER-27995 Make replication naming conventions consistent
  • SERVER-28135 stepdown.js should always fsyncUnlock() all secondary nodes
  • SERVER-28181 Deadlock involving the mutexes of oplog fetcher and replication coordinator
  • SERVER-28184 remove election_timing.js (and lib/election_timing_test.js)
  • SERVER-28185 remove reconfig_without_increased_queues.js
  • SERVER-28272 extend timeout in step_down_during_draining.js when waiting for new primary
  • SERVER-28275 fix misleading log message in ReplicationCoordinatorImpl::_startElectSelfIfEligibleV1()
  • SERVER-28278 Wait for desired sync source to replicate dummy write before running replSetSyncFrom in syncFrom shell helper
  • SERVER-28376 ReplSetTest.initiate() should call awaitReplication before requesting node 0 to step up as primary
  • SERVER-28377 Do not check that remote last applied is ahead of local last fetched in OplogFetcher first batch during initial sync
  • SERVER-28446 Blacklist top.js from dynamic initial sync suites
  • SERVER-28695 step_down_during_draining.js should wait for writes to be durable before disable replication on secondaries using fail point
  • SERVER-28699 ReplSetTest should always awaitSecondaryNodes() at the end of initiate

Query

  • SERVER-27711 createIndexes command no longer supports maxTimeMS option
  • SERVER-27761 view can be created on top of a view with different collation than underlying view
  • SERVER-27972 Add a featureCompatibilityVersion op observer for database/collection drop
  • SERVER-28121 DurableViewCatalog shouldn’t throw on null byte in view ns
  • SERVER-28498 Stop running the rlp* tasks on the “Enterprise RHEL 6.2 DEBUG Code Coverage” builder
  • SERVER-28546 documents can erroneously be unindexed from a partial index

Write Operations

  • SERVER-26703 Inserting deeply-nested documents should fail with error
  • SERVER-28347 Prohibit updates that cause documents to exceed the depth limit

Aggregation

  • SERVER-8433 Aggregating deeply-nested documents can cause stack overflow
  • SERVER-18794 Add an aggregation expression to convert an object to an array of key, value pairs
  • SERVER-23310 Add an expression to convert an array of pairs to an object
  • SERVER-27644 distinct on a view doesn’t “flatten” array members
  • SERVER-28409 Decrease verbosity during testshard1.js

JavaScript

SERVER-22520 Educate ASAN leak checker about js allocations

Storage

  • SERVER-22954 MigrationDestinationManager should not directly use MMAPv1 durable interface
  • SERVER-28548 mmap b-tree removals may cause index readers or writers to return invalid data
  • SERVER-28572 Update test case to use valid custom WiredTiger configuration values
  • SERVER-28645 Fail commands that require too many locks instead of crashing
  • SERVER-28646 Don’t report ops as passed if logOps causes txn to fail

Operations

  • SERVER-16821 Do not abort server when receiving multiple SIGUSR1 in the same second
  • SERVER-28380 Add a test-only clearLog command for clearing out RamLog, use it in tests when checking for a specific log message

Build and Packaging

  • SERVER-20540 Support compiling with split DWARF debug info
  • SERVER-28390 Mark link targets as Precious when incremental linking flags are enabled

Internals

  • SERVER-21539 Generate report.json file when resmoke.py receives a SIGUSR1
  • SERVER-26952 Cache SCRAM-SHA-1 ClientKey
  • SERVER-27191 hang analyzer should dump lock manager state
  • SERVER-27684 Remove the self-imposed 2 minute limit from hang_analyzer.py
  • SERVER-27687 ppc64le build incorrectly indicates pointer size of 32
  • SERVER-27691 ServiceContext::setKillAllOperations should be replaced with an operation that interrupts running operations
  • SERVER-27853 Fetch debug symbols before invoking hang_analyzer.py
  • SERVER-27854 initiate replicasets faster in replicaset.py
  • 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-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-28091 Disk stats collection on OS X only captures I/O utilization averaged over the uptime of the machine
  • SERVER-28169 Set eviction=(threads_min=1) in Microbenchmarks testing
  • SERVER-28259 Log time to establish egress connections through NetworkInterfaceASIO
  • SERVER-28329 Remove comparison tasks from Microbenchmarks
  • SERVER-28426 Update etc/longevity.yml to use run_test.py instead of run-${test}.sh
  • SERVER-28430 Expose dropConnections() method on ConnectionPool through the NetworkInterface
  • SERVER-28462 Update perf.yml to compare against latest stable release
  • SERVER-28489 MockStream should handle cancellation while it is paused
  • SERVER-28526 Update Evergreen API URL in burn_in_tests.py
  • SERVER-28530 SSLThreadInfo invokes constructor in destructor
  • SERVER-28547 sharding_continuous_config_stepdown suite doesn’t actually step any nodes down
  • SERVER-28586 “do jepsen setup” function should check out branch before trying to change to subdirectory
  • SERVER-28652 Add logging to track egress connection pool size
  • SERVER-28692 Move shell tarball generation to compile task
  • SERVER-28748 Set virtual memory ulimit in package smoke testing for mongo shell tests
  • SERVER-28823 burn_in_tests.py does not use api server default due to missing None check
  • WT-98 Update the current cursor value without a search
  • WT-2439 Enhance reconciliation page layout
  • WT-2990 checkpoint load live_open assertion failure
  • WT-3136 bug fix: WiredTiger doesn’t check sprintf calls for error return
  • WT-3155 Remove WT_CONN_SERVER_RUN flag
  • WT-3182 Switch make-check to run the short test suite by default
  • WT-3190 Enhance eviction thread auto-tuning algorithm
  • WT-3191 lint
  • WT-3193 Close a race between verify opening a handle and eviction visiting it
  • WT-3196 Race with LSM and eviction when switching chunks
  • WT-3199 bug: eviction assertion failure
  • WT-3202 wtperf report an error on in_memory=true mode : No such file or directory
  • WT-3203 bulk-load state changes can race
  • WT-3204 eviction changes cost LSM performance
  • WT-3207 Drops with checkpoint_wait=false should not wait for checkpoints
  • WT-3208 test format hung with 9mb cache
  • WT-3211 WT_CURSOR.remove cannot always retain its position.
  • WT-3212 ‘wt dump’ crashes when given table with unknown collator
  • WT-3213 generated test/format CONFIG invalid on next run
  • WT-3216 add support for clang-tidy
  • WT-3224 LSM assertion failure pindex->entries == 1
  • WT-3225 WiredTiger won’t build with clang on CentOS 7.3.1611
  • WT-3227 Python test suite inserts unnecessary whitespace in error output.
  • WT-3228 Remove with overwrite shouldn’t return WT_NOTFOUND
  • WT-3234 Update WiredTiger build for clang 4.0.
  • WT-3238 Java: Cursor.compare and Cursor.equals throw Exceptions for valid return values
  • WT-3240 Coverity reports
  • WT-3243 Reorder log slot release so joins don’t wait on IO
  • WT-3244 metadata operations failing in in-memory configurations
  • WT-3249 Unit test test_readonly fails as it is unable to open WiredTiger.lock
  • WT-3250 Incorrect statistics incremented on Windows
  • WT-3254 test_reconfig02 uses incorrect configuration string
  • WT-3262 Schema operations shouldn’t wait for cache
  • WT-3265 Verify hits assertion in eviction when transiting handle to exclusive mode
  • WT-3271 Eviction tuning stuck in a loop

3.4.3 Changelog

Sharding

Replication

  • SERVER-20844 Start ReplSetTests faster wrt initial election
  • SERVER-26914 improve log messages for freshness checking
  • SERVER-26918 backup_restore.js - nodes should agree on primary before starting FSM clients
  • SERVER-26930 backup_restore.js should await replication after fsm clients have stopped and hidden node has become secondary
  • SERVER-27035 rs.compareOpTimes() throws exception when comparing with empty OpTime
  • SERVER-27189 _getLastOpTime / _getDurableOpTime do not handle missing nodes gracefully
  • SERVER-27405 fix race in read_after_optime.js
  • SERVER-27488 Unblacklist bypass_doc_validation.js in static resync passthrough
  • SERVER-27551 QuorumChecker should retry requests that fail
  • SERVER-27783 Remove unnecessary lock in SyncSourceFeedback
  • SERVER-27791 increase write concern timeout in gle/block2.js and gle/get_last_error.js from 30 seconds to 5 minutes
  • SERVER-27794 Provide write concern to bulk insert in indexbg_drop.js
  • SERVER-27799 apply setParameter for maxSyncSourceLagSecs to slave 2 only in maxSyncSourceLagSecs.js
  • SERVER-27808 backup_restore.js should await replication and re-evaluate primary before adding new hidden secondary to replica set
  • SERVER-27810 Guarantee that replicaset is stable with node 0 as primary after ReplSetTest.initiate()
  • SERVER-27816 increase wtimeout in sync2.js
  • SERVER-27837 exclude rename collection FSM workload in backup_restore.js
  • SERVER-27839 Allow for step downs during reconfig in ReplSetTest initiate
  • SERVER-27840 add wtimeout to write concerns in protocol_version_upgrade_downgrade.js
  • SERVER-27844 increase timeout in repl/block2.js
  • SERVER-27847 increase timeout in apply_batch_only_goes_forward.js
  • SERVER-27861 Make the failover in drain.js more reliable
  • SERVER-27889 Change catchup.js to be resilient to replSetStepUp failing because the node is already a candidate
  • SERVER-27905 fix race in DataReplicatorTest::DataReplicatorReturnsCallbackCanceledIfShutdownImmediatelyAfterStartup
  • SERVER-28005 Oplog query network timeout is less than the maxTimeMs
  • SERVER-28013 Ensure ReplClientInfo’s last opTime can’t be moved backwards
  • SERVER-28037 Raise default writeConcern wtimeout in db.js to 10 minutes
  • SERVER-28041 remove awaitNodesAgreeOnPrimary() call in sync2.js
  • SERVER-28047 ReplSetTest._callIsMaster() should set slaveOk on primary
  • SERVER-28050 Reconnect connection after stepdown in read_committed_stale_history.js
  • SERVER-28075 Wait for DB works in simulateSuccessfulV1ElectionAt()
  • SERVER-28110 Set secondaryCatchUpPeriodSecs smaller when requesting remote primary stepdown

Query

SERVER-28017 $ne perform a case sensitive find when it should do a case insensitive find based on collation settings

Aggregation

  • SERVER-27253 $lookup and $graphLookup do not increment index stats counters
  • SERVER-27362 MapReduce can attempt to deregister a cursor without holding a collection lock

Storage

  • SERVER-3181 Add option to listDatabases to only get db names, not size info
  • SERVER-27807 creating a snapshot and registering it in the replcoord is not synchronous
  • SERVER-27857 Rewrite the remove_during_mr.js test as an FSM workload
  • SERVER-27936 fix improper release of locks in master/slave handleDuplicateDbName
  • SERVER-28049 List Databases command should apply filter on name only before database locks
  • SERVER-28249 Use TCMalloc MarkThreadTemporarilyIdle instead of MarkThreadIdle

WiredTiger

  • SERVER-28026 Disable auto-tuning of WiredTiger eviction threads

MMAP

  • SERVER-24963 Concurrent collection.drop() and system.indexes.count() can trigger an fassert
  • SERVER-27930 Accessing cursor with pending data after renaming collection may trigger fassert
  • SERVER-27996 Accessing system.namespaces cursor with pending data after removing namespaces may cause crash
  • SERVER-28022 Accessing cursor with pending data after forcing system.namespaces record move may cause crash

TTL

SERVER-28154 Race condition in ttl_sharded.js

Operations

  • SERVER-6065 db.shutdownServer() does not work as expected when mongod is a Windows Service
  • SERVER-16796 Increase logging activity for journal recovery operations
  • SERVER-27863 Reschedule early alarms in NetworkInterfaceASIO to avoid mongos crash

Build and Packaging

  • SERVER-25309 Add RHEL 6 zSeries build variant
  • SERVER-27623 SLES11 s390x build should target z9-109, not z196
  • SERVER-27836 Package smoke testing should retry verify step and not call converge
  • SERVER-27856 Stop running the concurrency suite on the ubuntu1604-arm64-large distro

Internals

  • SERVER-21675 Remove ‘legacy’ from Evergreen task names
  • SERVER-23959 option to allow disabling job object creation in smoke.py for win32
  • SERVER-26522 CleanEveryN output should be written to logkeeper
  • SERVER-26523 Replace raise errors.TestFailure with raise errors.ServerFailure in passthrough hooks where appropriate
  • SERVER-26642 JS compiled code string length limit on Windows
  • SERVER-27091 Add large dataset initialsync test into system performance test
  • SERVER-27234 Evergreen task disk statistics improvement
  • SERVER-27700 WT secondary performance drops to near-zero with cache full
  • SERVER-27784 Remove httpget() from packager.py
  • SERVER-27858 Increase the task timeout when running to the concurrency suite to 6 hours
  • SERVER-27920 Fix incorrect locking of Client context
  • SERVER-27935 Fix serialization of concurrent fsyncLock execution
  • SERVER-27963 Disable CRC32 hardware support on s390x builders
  • SERVER-27983 Move sys-perf state to /data from $HOME
  • SERVER-28000 sys-perf: Organize all dsi yaml config files under configurations/
  • SERVER-28067 Update sys-perf.yml to copy over cluster.json
  • SERVER-28086 Update system-perf.yml tagged commit
  • SERVER-28147 Increase time out on sys-perf shard tests
  • SERVER-28239 Fix double ticket holder release in transport layer legacy during primary step down
  • TOOLS-1605 Conditionally create a Windows job object in smoke.py
  • WT-2771 Add a statistic to track per-btree dirty cache usage
  • WT-2790 Fix a text case false positive in test_sweep01
  • WT-2833 improvement: add projections to wt dump utility
  • WT-2898 Improve performance of eviction-heavy workloads by dynamically controlling the number of eviction threads
  • WT-2909 Create automatable test verifying checkpoint integrity after errors
  • WT-2994 Create documentation describing page sizes and relationships
  • WT-3080 Python test suite: add timestamp or elapsed time for tests
  • WT-3082 Python test suite: shorten default run to avoid pull request timeouts.
  • WT-3083 Fix a bug in wtperf config dump
  • WT-3086 Add transaction state information to cache stuck diagnostic information
  • WT-3088 bug: Don’t evict a page with refs visible to readers after a split
  • WT-3091 Add stats to test_perf0001
  • WT-3092 Quiet a warning from autogen.sh
  • WT-3093 Padding the WT_RWLOCK structure grew the WT_PAGE structure.
  • WT-3097 Race on reconfigure or shutdown can lead to waiting for statistics log server
  • WT-3099 lint: static function declarations, non-text characters in documentation
  • WT-3100 test bug: format is weighted to delete, insert, then write operations.
  • WT-3104 Fix wtperf configs for eviction tests
  • WT-3105 Fix a deadlock caused by allocating eviction thread sessions dynamically
  • WT-3106 Add truncate support to command line wt utility
  • WT-3108 Also dump disk page size as part of metadata information
  • WT-3109 wording fix in transaction doc
  • WT-3110 Add more test cases for the WT command line utility
  • WT-3111 util_create() doesnt free memory assigned to “uri”
  • WT-3112 Handle list lock statistic not incremented in eviction server
  • WT-3113 Add a verbose mode to dump the cache when eviction is stuck
  • WT-3114 Avoid archiving log files immediately after recovery
  • WT-3115 Change the dhandle lock to a read/write lock
  • WT-3116 Python style testing in s_all may not execute correctly
  • WT-3118 Protect random-abort test against unexpectedly slow child start
  • WT-3120 Fix ordering problem in connection_close for filesystem loaded in an extension
  • WT-3121 In test suite create standard way to load extensions
  • WT-3126 bug: dist/s_all script has misplaced quote causing bad error reporting
  • WT-3127 bug: CPU yield calls don’t necessarily imply memory barriers
  • WT-3128 wt printlog returns operation-not-supported if it doesn’t find any log files
  • WT-3130 Ensure extensions have access to database home directory
  • WT-3134 Coverity scan reports 1368529 and 1368528
  • WT-3135 search_near() for index with custom collator
  • WT-3137 Hang in __log_slot_join/__log_slot_switch_internal
  • WT-3139 Enhance wtperf to support periodic table scans
  • WT-3143 Coverity scan report 1369053
  • WT-3144 bug fix: random cursor returns not-found when descending to an empty page
  • WT-3148 Improve eviction efficiency with many small trees
  • WT-3149 Change eviction to start new walks from a random place in the tree
  • WT-3150 Reduce impact of checkpoints on eviction server
  • WT-3152 Convert table lock from a spinlock to a read write lock
  • WT-3156 Assertion in log_write fires after write failure
  • WT-3157 checkpoint/transaction integrity issue when writes fail.
  • WT-3159 Incorrect key for index containing multiple variable sized entries
  • WT-3161 checkpoint hang after write failure injection.
  • WT-3164 Ensure all relevant btree fields are reset on checkpoint error
  • WT-3170 Clear the eviction walk point while populating from a tree
  • WT-3173 Add runtime detection for s390x CRC32 hardware support
  • WT-3174 Coverity/lint cleanup
  • WT-3175 New hang in internal page split
  • WT-3179 test bug: clang sanitizer failure in fail_fs
  • WT-3180 fault injection tests should only run as “long” tests and should not create core files
  • WT-3184 Problem duplicating index cursor with custom collator
  • WT-3186 Fix error path and panic detection in logging loops
  • WT-3187 Hang on shutdown with a busy cache pool
  • WT-3188 Fix error handling in logging where fatal errors could lead to a hang
  • WT-3189 Fix a segfault in the eviction server random positioning

3.4.2 Changelog

Sharding

  • SERVER-26562 Move CommitChunkMigration command implementation into a Catalog function and unit test it
  • SERVER-26785 rewrite addshard2.js to be able to unblacklist it from the last_stable suite
  • SERVER-26791 move/split/mergeChunk commands do a full metadata refresh on the shard
  • SERVER-26903 ShardingTest is failing non-retriable writes when the primary steps down because the stepdown suite turns the electionTimeoutMillis down from 10,000 ms to 5,000 ms
  • SERVER-27146 Enforce maxStalenessSeconds >= 90
  • SERVER-27258 A v3.4 config server can crash with a core dump if it gets an unsupported shard key from mongo S.
  • SERVER-27321 Rename ScopedChunkManager::getExisting to refreshAndGet
  • SERVER-27364 Remove DBConfig::setPrimary
  • SERVER-27366 Remove DBConfig::enableSharding
  • SERVER-27381 Remove DBConfig::dropDatabase
  • SERVER-27393 Balancer taking 100% CPU due to large number of dropped sharded collections
  • SERVER-27419 Move cluster ‘drop’ command to a separate file
  • SERVER-27428 MigrationChunkClonerSourceLegacy’s unit-tests do not wait for the onCommand handler thread to complete
  • SERVER-27460 RouterStageMerge::kill() can crash during mongos shutdown
  • SERVER-27466 move transitionToPrimaryHangBeforeInitializingConfigDatabase to before taking the global exclusive lock
  • SERVER-27473 Remove writes from DBConfig
  • SERVER-27480 Get rid of ConfigServer class
  • SERVER-27510 Compare only epochs instead of full chunk versions in CollectionMetadata::checkChunkIsValid()
  • SERVER-27526 Get rid of all non-metadata usages of DBConfig::isShardingEnabled
  • SERVER-27556 Cleanup sharding request processing code
  • SERVER-27613 Remove unused ‘chunkVersion’ field sent in splitChunk command
  • SERVER-27667 Get rid of the sharding Request class
  • SERVER-27726 Split ShardingCatalogManagerImpl into multiple .cpp files by category of operation
  • SERVER-27736 DBConfig should not store unsharded collections

Replication

  • SERVER-23759 shutting down a node while replication is initializing can crash
  • SERVER-25860 Flatten / optimize fixup_info
  • SERVER-26528 Add additional logging when sync source is changed or cleared
  • SERVER-26773 two_initsync.js should check that inserts succeed
  • SERVER-26945 master-slave ReplSource::resyncDrop should not assume database name obtained from listDatabases result exists locally
  • SERVER-26951 remove or improve replset9.js
  • SERVER-27046 race between CollectionCloner::_findCallback and CollectionCloner::_insertDocuments
  • SERVER-27050 Ensure upstream node doesn’t roll back after checking minvald
  • SERVER-27052 Add asynchronous operation support to DataReplicator
  • SERVER-27056 Don’t enforce data freshness for step-up command
  • SERVER-27079 DataReplicator should wait for last oplog fetcher to finish before starting next initial sync attempt
  • SERVER-27118 Default shutdown command’s ‘timeoutSecs’ argument to 10 seconds
  • SERVER-27123 Only update commit point via spanning tree
  • SERVER-27125 Arbiters in pv1 should vote no in elections if they can see a healthy primary of equal or greater priority to the candidate
  • SERVER-27154 replSetRequestVotes command should wait for durability
  • SERVER-27155 replSetRequestVotes records dryRun votes as real
  • SERVER-27157 replSetRequestVotes doesn’t synchronize between processing and recording request
  • SERVER-27216 Increase catchup timeout to 300 seconds in catchup.js
  • SERVER-27231 add failpoint to turn off re-evaluating sync sources, for jstests that manipulate chaining
  • SERVER-27282 Clean up and fix bugs in RS rollback error handling
  • SERVER-27295 always set slaveOk to true on remote commands in the old initial sync
  • SERVER-27301 converted OpObserver into an interface. ServiceContext should always return a valid OpObserver implementation.
  • SERVER-27323 Use stopOplogFetcher failpoint instead of rsSyncApplyStop failpoint in write_concern_after_stepdown_and_stepup.js
  • SERVER-27352 Fix stepdown command in double_rollback.js
  • SERVER-27365 reconfig_without_increased_queues.js should initiate node 2 of its replicaset with priority 0
  • SERVER-27397 Disable OplogFetcher sync source re-evaluation during initial sync
  • SERVER-27409 zbigMapReduce.js should use a write concern for inserts so it does not roll over its oplog
  • SERVER-27446 operation_latency_histogram.js fails in initial sync passthrough due to reads performed by the repl system
  • SERVER-27461 Retry connecting to shut down primary until failure in shutdown_primary.js
  • SERVER-27468 Do not run dynamic initial sync passthroughs on 3dot2 initial sync variant
  • SERVER-27523 geo_s2cursorlimitskip.js fails in initial sync passthrough due to reads performed by the repl system
  • SERVER-27544 shutdown_primary.js shouldn’t try to disable rsSyncStopApply failpoint on primary
  • SERVER-27582 lastVote is not properly initialized
  • SERVER-27583 SyncSourceFeedback should be shut down outside ReplicationCoordinatorExternalStateImpl lock
  • SERVER-27611 DatabaseCloner::shutdown() does not shut down CollectionCloner
  • SERVER-27624 SyncSourceFeedback should check for shutdown before setting _reporter
  • SERVER-27656 Ensure node 0 is not primary during reconfig in last_vote.js
  • SERVER-27657 last_vote.js should wait for reconfig to reach all nodes before continuing
  • SERVER-27677 CollectionBulkLoader::_releaseResources() should ensure there is a Client available
  • SERVER-27678 CollectionCloner should call _finishCallback at most once
  • SERVER-27680 Make bgsync check stopOplogFetcher failpoint before scheduling new OplogFetcher
  • SERVER-27712 Do not specify _id field in user_defined_roles_on_secondaries.js
  • SERVER-27741 fix race in DataReplicatorTest::DataReplicatorResetsOnCompletionCallbackFunctionPointerUponCompletion
  • SERVER-27775 fix race in collection_cloner_test CollectionClonerTest::CollectionClonerCannotBeRestartedAfterPreviousFailure

Query

  • SERVER-24027 The planner does not consider reversing index scan direction in order to obtain a SORT_MERGE plan
  • SERVER-26734 indexStats action is not sufficient privileges for $indexStats operator
  • SERVER-27042 Fix and modernize currentop.js
  • SERVER-27438 Legacy query via mongos drops $comment
  • SERVER-27449 set_feature_compatibility_version.js should not give votes to replica set members expected to crash
  • SERVER-27465 rewrite killop.js using setYieldAllLocksHang failpoint
  • SERVER-27525 collation.js should use test-specific database
  • SERVER-27584 Add support for filter to listDatabases
  • SERVER-27649 Don’t error on serialization of $elemMatch with $regex

Write Operations

SERVER-24563 Secondary crash when inserting document into db with different case

Aggregation

  • SERVER-25535 Remove injectExpressionContext() methods from pipeline directory
  • SERVER-27288 DocumentSourceSkip and DocumentSourceMatch getNext() should release GetNextResult reference prior to subsequent underlying source getNext() call
  • SERVER-27304 Create setParameter to make all aggregations which require merging select the primary shard as the merger
  • SERVER-27307 DocumentSourceCursor should store namespace as NamespaceString
  • SERVER-27406 Reduce DocumentSourceCursor batch size from 16MB to 4MB
  • SERVER-27420 Aggregation should explicitly parse apart BSON Arrays
  • SERVER-27527 Remove explicit shardingEnabled check for databases in M/R and aggregation

Storage

  • SERVER-25286 Remove drop2.js dependency on count scan yield behavior
  • SERVER-27243 Upgrade to 3.4 ‘create collection’ fails in Backup
  • SERVER-27256 Run getMore test in sharded configuration in views_authz.js
  • SERVER-27418 [trivial] Enable noPassthrough/index_version_v2.js test for MongoRocks
  • SERVER-27512 queryable_mmapv1 can encounter larger blocks than the default page size
  • SERVER-27591 Need to abandonSnapshot after unlocking in TTLMonitor

WiredTiger

  • SERVER-26545 Remove fixed-size limitation on WiredTiger hazard pointers

Operations

  • SERVER-26960 Consider improving error message when attempting $natural sort on a view
  • SERVER-27289 Shell: mongo –host replSet/Host:Port no longer works
  • SERVER-27576 MongoDB 3.4 ‘mongo’ shell quit() not working

Build and Packaging

SERVER-27450 Add i386 architecture to repo config yaml for debian and ubuntu.

Tools

  • TOOLS-1553 PreProcessing is failling with “got invalid document size”
  • TOOLS-1569 mongo-replay crashes during playback
  • TOOLS-1576 nil pointer derereference when error occurs

Internals

  • SERVER-24695 burn_in_tests.py should have a mechanism for blacklisting tests and suites similar to resmoke.py
  • SERVER-26308 Decrease number of jobs for sharding-related suites on Windows DEBUG and PPC variants
  • SERVER-26525 Factor out identical jstest checkLog functions and increase timeout
  • SERVER-26806 Randomly restart initial sync in the dynamic initial sync passthrough
  • SERVER-26860 add more unittests for compatible-first locking policy
  • SERVER-27126 Remove reference to mongodb-mongo-master Evergreen project in burn_in_tests.py script
  • SERVER-27175 Address slowness in Explain::getPlanSummary
  • SERVER-27208 Update microbenchmarks to use next mongo-perf release
  • SERVER-27232 Refresh and Setup timeouts in the ASIO connpool can prematurely time out an operation
  • SERVER-27306 Remove AutoGetCollection* methods that take std::string namespace
  • SERVER-27339 ReplSetTest shouldn’t inspect TestData directly
  • SERVER-27343 Reduce Frequency of sys-perf runs
  • SERVER-27350 Enable access control for microbenchmarks in Evergreen
  • SERVER-27370 MongoDB 3.4.0 with –rest segfaults if the route /isMaster is called
  • SERVER-27456 Microbenchmarks: Increase inMemorySizeGB and oplogSize
  • SERVER-27459 dbtest should set featureCompatibilityVersion to the most recent value during global initialization
  • SERVER-27568 mongo-perf: Release 2017-01
  • SERVER-27605 Reduce concurrency for jsCore_small_oplog_rs_resync_static, jsCore_small_oplog_rs_initsync and jsCore_small_oplog_rs_initsync_static
  • SERVER-27618 Make NetworkInterfaceASIO stress test less stressful
  • SERVER-27653 Blacklist Concurrency suite in burn_in_tests
  • SERVER-27754 Use requests instead of httplib2 in packager.py
  • TOOLS-1541 support exporting views
  • TOOLS-1549 –gssapiServiceName should not require –gssapiHostName in the tools
  • TOOLS-1559 TestCommandOpGetMoreLiveDB is failing after upgrade to 3.4 in evergreen
  • TOOLS-1579 Progress bar exceeding 100%
  • WT-283 Add a way to change persistent object settings
  • WT-2336 Add a test validating schema operations via file system call monitoring
  • WT-2402 Misaligned structure accesses lead to undefined behavior
  • WT-2670 Inefficient I/O when read full DB (poor readahead)
  • WT-2960 Inserting multi-megabyte values can cause pathological lookaside usage
  • WT-2969 Possible snapshot corruption during compaction
  • WT-3014 Add GCC/clang support for ELF symbol visibility.
  • WT-3021 Fixes needed for Java log cursor example, Java raw mode cursors, log cursors in raw mode
  • WT-3025 fix error path in log_force_sync
  • WT-3028 Workloads with all dirty pages could trigger diagnostic stuck check
  • WT-3030 Test failure indicating invalid key order during traversal
  • WT-3034 Add support for single-writer named snapshots.
  • WT-3037 Fix some outdated comments in logging
  • WT-3048 WiredTiger maximum size warning uses the wrong format.
  • WT-3051 Remove external __wt_hex symbol.
  • WT-3052 Improve search if an index hint is wrong
  • WT-3053 Review Python and Java calls to internal WiredTiger functions
  • WT-3054 Java PackTest, PackTest03 do not compile
  • WT-3055 Java AsyncTest faults
  • WT-3056 For cursors with projections, keys should be allowed
  • WT-3057 WiredTiger hazard pointers should use the WT_REF, not the WT_PAGE.
  • WT-3061 syscall test runs with checkpoint_sync=false and doesn’t acknowledge pwrite64
  • WT-3064 minor tree cleanups: .gitignore, NEWS misspelling
  • WT-3066 lint
  • WT-3068 Copy wtperf artifacts when running Jenkins tests
  • WT-3069 Fix build failures in LevelDB APIs
  • WT-3070 Fix search_near() for index cursor
  • WT-3071 Java: fix build with -Werror=sign-conversion
  • WT-3075 Document and enforce that WiredTiger now depends on Python 2.7
  • WT-3078 Fix a hang in the reconfiguration test.
  • WT-3084 Fix Coverity resource leak complaint.

3.4.1 Changelog

Security

SERVER-27194 Views should require both “viewOn” and “pipeline” to be specified if modifying view when auth is enabled

Sharding

  • SERVER-22657 Add invariants and write unit-tests for the legacy migration chunk cloner
  • SERVER-26832 Add tests for shell commands
  • SERVER-26849 Should join balancer thread on shutdown
  • SERVER-27071 ensure config.version doc cannot replicate to secondaries in config_version_rollback.js
  • SERVER-27078 Race in ShardRegistry initialization causes it to not update the config server connection string
  • SERVER-27102 force a ShardRegistry reload in the beginning of addShard to ensure a removed shard’s ReplicaSetMonitor has been detached
  • SERVER-27215 Some invariants in MigrationChunkClonerSourceLegacy are not applicable to broadcast multi-update and multi-delete

Replication

  • SERVER-27024 Write additional test for new replSetStepDown behavior
  • SERVER-27092 blacklist apply_ops1.js from dynamic initial sync passthroughs
  • SERVER-27110 clear OplogBuffer at the end of initial sync
  • SERVER-27117 set writeConcernMajorityJournalDefault to false in nojournal, inmem, and ephemeralForTest variants
  • SERVER-27124 Disallow readConcern:majority reads on pv0
  • SERVER-27164 Deadlock during oplog application when implicitly creating multiple collections on the same DB
  • SERVER-27176 Improve performance of command writeConcern parsing
  • SERVER-27196 add timeouts to stepdown_needs_electable_secondary.js
  • SERVER-27206 blacklist tests involving MapReduce from initial sync dynamic passthroughs
  • SERVER-27214 Disallow chaining in stepdown_needs_electable_secondary.js and stepdown_needs_majority.js

Query

  • SERVER-27197 Code BSON type should not be compared using a collation-aware string comparator
  • SERVER-27200 Comparison of the scope object in a BSON element of type CodeWScope should not respect the collation
  • SERVER-27207 Find on view with sort through mongos may incorrectly return empty result set
  • SERVER-27300 Disallow indexing of BSONType::Symbol with a non-simple collation

Aggregation

  • SERVER-27201 $graphLookup triggers null pointer dereference
  • SERVER-27213 Two $match stages combine incorrectly, yielding incorrect results.

Storage

  • SERVER-27203 Queryable WT incorrectly read config string
  • SERVER-27217 Allow nopreallocj to be specified in YAML config file
  • SERVER-27246 Running applyOps with an op on a nonexistent database using mmapv1 will crash mongod

WiredTiger

  • SERVER-26870 Sometimes collection data file is not removed even though collection is dropped
  • SERVER-27218 Startup warning recommending the use of XFS isn’t displayed properly in Mongo Shell

Operations

  • SERVER-27210 3.4.0 mongo shell unable to connect using MongoURI with “ssl=true”
  • SERVER-27271 rolesInfo command raises System.InvalidOperationException : Duplicate element name ‘roles’.

Build and Packaging

  • SERVER-17368 Create windows SSL zip file with OpenSSL files
  • SERVER-27130 Switch mongo-rocks to v3.4 branch for 3.4
  • SERVER-27241 Cannot write pid file to /var/run/mongodb/mongod.pid: No such file or directory
  • SERVER-27377 Dynamic builds should use –no-as-needed for executables, not just libraries

Tools

  • TOOLS-1498 Stats collection has large playback performance impact
  • TOOLS-1501 Add option to set capture buffer size to avoid packet loss
  • TOOLS-1502 Playback file contains full reply payload
  • TOOLS-1516 mongoreplay: out of bounds error in “shortenreply” during record
  • TOOLS-1535 Add test for restoring a collection with a default collation
  • TOOLS-1561 nil pointer dereference in mongoreplay when error on new playback file creation

Internals

  • SERVER-20447 Add concurrency workload that tests distributed lock code
  • SERVER-26445 resmoke.py’s LoggerPipe threads can stop consuming output from their pipes for long periods
  • SERVER-26940 Network Interface ASIO Integration Test stress test opens too many connections on windows
  • SERVER-26981 Update mongo-perf
  • SERVER-27141 Update perf.yml, system-perf.yml, and longevity.yml on 3.4 branch
  • SERVER-27145 Shard name from a single node mongod not used as shard index in getSerializedCluster concurrency suite file cluster.js
  • SERVER-27171 Add operator<<(bool) to StringBuilderImpl
  • SERVER-27202 Mark sys-perf cluster idle after regression runs
  • SERVER-27223 Make Command::parseNs() more efficient
  • SERVER-27240 ConnectBG must not close() while the background thread is active
  • SERVER-27275 Longevity uploads compiled mongod archive to different url than sys-perf
  • SERVER-27358 Socket::connect expects _timeout field to be in milliseconds
  • SERVER-27363 Typo in packaging script
  • SERVER-27388 Handle exceeded time limit in NI connection hook
  • TOOLS-1541 support exporting views
  • TOOLS-1558 use mongodb 3.4 “current” tests in master