- Release Notes >
- Release Notes for MongoDB 3.4 >
- 3.4 Changelog
3.4 Changelog¶
On this page
3.4.10 Changelog¶
Security¶
- SERVER-25855 Increase more timeouts in mongos_cache_invalidation.js
- SERVER-28727 mongoldap should not print each acquired role’s database inline
Sharding¶
- SERVER-29932 add asserts to mapReduce_inSharded_outSharded.js
- SERVER-30825 blacklist shard_existing_coll_chunk_count.js from the continuous config stepdown suite
- SERVER-31049 View with collation doesn’t work as expected in sharded cluster
- SERVER-31091 The config server balancer stop command does not obey maxTimeMS
- SERVER-31111 Add assert.commandWorked to migrateBig_balancer.js
- SERVER-31204 Calling shardCollection after enableSharding may fail if executed against different mongos
Replication¶
- SERVER-29772 Provide option to 3.2 and 3.4 to allow initial sync to complete even when it encounters renameCollection entries
- SERVER-30830 applyOps should return NamespaceNotFound when applying a CRUD operation on a non-existent collection/database
- SERVER-30840 extend timeout in replsets/index_delete.js (3.4 only)
- SERVER-30842 Don’t try to set last optime for client backwards after rollback
- SERVER-31467 Blacklist initial_sync_rename_collection_unsafe.js from 3.2 initial sync variant
Query¶
- SERVER-31139 mongod fatal error after issuing $text index find containing nested non-text fields as the index prefix
- SERVER-31366 profile_getmore.js does not tolerate killCursors command
JavaScript¶
- SERVER-29651 Interrupt signal is ignored when received inside certain functions.
- SERVER-30362 JavaScript DBCollection.toString() stops working
- SERVER-30502 –disableJavaScriptJIT does not disable JIT
Storage¶
- SERVER-15723 Avoid G_X lock for rename_collection within database
- SERVER-28637 wiredtiger journal files accumulate with each server start/stop
- SERVER-30927 Use readConcern afterClusterTime for initsync oplog queries
- SERVER-31403 Disable mongo-rocks variant on v3.2 and v3.4
Operations¶
- SERVER-19076 printShardingStatus/sh.status should pass a decent indent to tojson() for shard keys
- SERVER-28821 MozJS ASAN integration should not invariant that all memory was freed
- SERVER-30361 mongod.conf bindIp option accept bogus parameters
- SERVER-30769 Mongo shell throws ‘exception during autocomplete’
- SERVER-31176 mongo shell should use stderr for password prompt
Build and Packaging¶
- SERVER-23516 Using apt-get update chowns user to mongodb
- SERVER-30166 Use of string instead of std::string in some source files prevents compilation
- SERVER-30558 Remove Solaris builds from master
- SERVER-31197 building.md GCC version requirement out-of-date
- SERVER-31338 RHEL compile task failing in drivers nightly 3.4 branch
Internals¶
- SERVER-21933 Update README
- SERVER-29087 system-perf.yml needs to be changed to use the new name for the timeseries html file
- SERVER-29287 Upgrade pcre to 8.41
- SERVER-29524 sys-perf: Call infrastructure_provisioning.py instead of infrastructure_provisioning.sh
- SERVER-29565 Remove sys-perf compare tasks
- SERVER-30045 Debug symbols for unittest binaries are not uploaded on non-GDB platforms
- SERVER-30117 FeatureCompatibilityVersion::onInsertOrUpdate should only write to the server parameter on commit
- SERVER-30241 Attach workloads html to evergreen task
- SERVER-30891 perf.yml: make the -repl variants run frequently
- SERVER-30938 Enable ycsb-wmajority tests in system_perf.yml
- SERVER-31006 Use the latest release of curator on all branches
- SERVER-31108 Update baseline tag for microbenchmarks
- SERVER-31271 don’t use nspr allocator for js threads for better ASAN
- SERVER-31273 Use Source/Sink version of snappy functions
- SERVER-31427 Disable stepback for Enterprise SLES 11/12 and Ubuntu1604 s390x
- SERVER-31527 Rebaseline sys-perf after adjusting tests (3.4.9 and 3.2.17)
- WT-3263 Allow archive on restart/recovery if clean shutdown
- WT-3264 Permanent change to disable logging should eventually remove all logs
- WT-3284 tree-walk restart bug
- WT-3308 Add statistics tracking around yield loops
- WT-3351 Recovery assertion failure: old_lognum < lognum
- WT-3406 Reconciliation is choosing reserved records for writing.
- WT-3461 Avoid long sleeps when the system clock is adjusted
- WT-3470 Avoid a metadata cursor open for table open/drop
- WT-3533 eviction handle walk can race with handle re-open
- WT-3590 Keep data consistent if writes fail during a clean shutdown
3.4.9 Changelog¶
Sharding¶
- SERVER-20392 Sharding an existing small collection results in large number of chunks
- SERVER-30183 a moveChunk that joins the active moveChunk on a shard may not respect its waitForDelete
- SERVER-30487 RangeDeleter holds WT transaction open while waiting for majority
- SERVER-30636 RangeDeleter assert failed because of replication lag
Replication¶
- SERVER-28277 Need to increase timeout in read_committed_with_catalog_changes.js
- SERVER-29802 Non-atomic applyOps command should not take out a global exclusive lock
- SERVER-30554 relax locking mode in applyOps when applying CRUD-only ops non-atomically
Query¶
SERVER-30189 Reduce calls to allocator for large $in expressions
Write Operations¶
SERVER-27317 Inserting a document with a Decimal128 value when featureCompatibilityVersion is 3.2 results in a closed socket
JavaScript¶
- SERVER-30875 Add support for a “no-owned bson” mode for JS Scopes
- SERVER-30971 Use of “scope” field in mapReduce triggers BSONObj ownership error
Storage¶
- SERVER-26239 Improve handling of WT_CACHE_FULL for inMemory storage engine
- SERVER-30490 Compile RocksDB with USE_RTTI=1
- SERVER-30790 ServerStatus on WiredTiger accesses the storage engine without any locks
Build and Packaging¶
- SERVER-29686 Remove /var/lib/mongodb from mongodb-org[-unstable] deb metapackage
- SERVER-30562 avoid running many duplicate ARM64 tests for the community build
Internals¶
- SERVER-26377 Skip running FSM workloads that use the compact command on the LSM build variant
- SERVER-26824 Skip FSM workloads which rely on nUpserted or nRemoved when Balancer is enabled
- SERVER-28824 Unhandled hang analyzer exception escapes loop to get threads from each process
- SERVER-29431 initialsync.js does not verify that initial sync succeeds
- SERVER-29714 Add Exception Message to Validate_Locale.cpp
- SERVER-30509 Update Evergreen API URL in burn_in_tests.py
- SERVER-30643 Performance regression with SSL
- WT-3329 With a uniform workload and a number of small collections, eviction does a poor job of selecting candidates for eviction.
- WT-3438 Don’t tune eviction thread count when the count is fixed
- WT-3499 Checkpoint can miss not yet committed item
3.4.7 Changelog¶
Sharding¶
- SERVER-29817 Optimize incremental update performance of ChunkManager and CollectionMetadata
- SERVER-30058 Balancer policy should not move chunks off shards on ‘size exceeded’ conditions
- SERVER-30060 Optimize the sharding balancer’s cluster statistics gathering
Replication¶
- SERVER-27581 shouldRetry() logic in multiInitialSyncApply_noAbort() is over-aggressive
- SERVER-28192 priority_takeover_one_node_higher_priority jstest needs longer stepDownGuard
- SERVER-28677 InitialSyncer::_setup_inlock() should reset last applied and durable optimes.
- SERVER-29015 TopologyCoordinator should not transition to candidate role in a single node replica set if we are in maintenance mode
- SERVER-29240 Add test to ensure valid index creation for capped collections that roll over during initial sync
- SERVER-29282 BSON Document Size can be exceeded when grouping inserts on SECONDARY nodes
- SERVER-29297 stepUp should wait for durability in awaitReplication
- SERVER-29383 When catchUpTimeoutMillis is 0, we should skip doing catchup entirely
- SERVER-29540 awaitNodesAgreeOnPrimary should log why it retries
- SERVER-30049 applyOperation_inlock() allows exceptions from Collection::insertDocument() to percolate to caller
- SERVER-30054 update tags.js to make nodes at indexes 3 and 4 unelectable
- SERVER-30138 make node 1 unelectable in initial_sync_invalid_views.js (3.4)
- SERVER-30139 Increase waitForState timeout in replsetprio1.js
- SERVER-30411 (3.4) last_vote.js should make assertCurrentTerm exception safe
Query¶
SERVER-29299 remove evalc.js and add currentOp to basicPlus.js’s background operations.
Storage¶
- SERVER-27831 Deadlock when listing collections on “local” database with replication enabled for KVCatalog-based storage engines without document locking
- SERVER-28737 Have ephemeralForTest use std::mutex for protecting its internal data structures
Build and Packaging¶
- SERVER-28171 Use Python 2.7 for all python invocations in evergreen.yml
- SERVER-30199 ‘SConfBase’ object has no attribute ‘CheckBoostMinVersion’
Tools¶
- TOOLS-1109 failes to build on arm64 (syscall.Dup2 not supported)
- TOOLS-1741 mongoimport –uri throws errors when passed Atlas Connection String URI
Internals¶
- SERVER-26452 renameCollection should handle write conflicts
- SERVER-28046 Increase timeouts in replsets/read_committed_on_secondary.js to 10 minutes
- SERVER-28596 Upload hanging or failing tests in compile_all to S3
- SERVER-28991 Eliminate having individual threads in resmoke.py for flushing log output to logkeeper
- SERVER-29035 Update system-perf.yml baseline references
- SERVER-29327 Prevent DBDirectClient queries from storing MaxTimeMS on cursors
- SERVER-29568 Enable configuration of OpenSSL cipher suite via setParameter
- SERVER-29886 Hang analyzer shouldn’t produce core dumps on ASan builders
- SERVER-29947 Implement Storage Node Watchdog
- SERVER-30132 Storage Node Watchdog needs to check journal directory
- SERVER-30169 Increase Watchdog Test timeouts
- SERVER-30415 Exclude new “evergreen” agent binary name from automatic process killing in Evergren
- SERVER-30433 Increase Watchdog Test timeouts
- TOOLS-1542 dump and export shouldn’t count views before running
- TOOLS-1563 windows tests are failing after use mongodb 3.4 “current” tests
- TOOLS-1577 update the readme with information about mongoreplay
- TOOLS-1713 Move mongoreplay evergreen config .evergreen.yml into common.yml
- TOOLS-1743 legacy24 and legacy26 dumprestore tests failing on master
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-29352 Disable SNMP integration for OS X enterprise builds
- 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¶
- SERVER-27382 Remove usages of DBConfig::reload
- SERVER-27809 Move split logic outside of the Chunk class
- SERVER-27940 Deadlock ReplicaSetMonitorManager on shutdown
- SERVER-28030 Move ‘initial chunks’ writes out of ChunkManager
- 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-28155 Cleanup sharding library dependencies
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