Navigation

3.6 Changelog

3.6.3 Changelog

Security

  • SERVER-31893 Explicitly define timeout for synchronous LDAP calls
  • SERVER-32086 Suppress LDAP user cache invalidation log message by default
  • SERVER-32779 Upgrade third_party tomcrypt to 1.18.1 final
  • SERVER-32933 Allow mongod to start when unable to reach LDAP server

Sharding

  • SERVER-27724 Explore whether we can further minimize chunk metadata reloads on shards
  • SERVER-28923 Add diagnosability and supportability features for retryable writes
  • SERVER-29423 Sharding balancer may schedule multiple migrations with the same source or destination
  • SERVER-30152 add safe secondary reads targeted tests for mapReduce
  • SERVER-30671 Don’t expect operationTime to not change in causal_consistency_shell_support.js
  • SERVER-31860 setFCV on a cluster can fail to call setFCV on shards if the config server primary’s ShardRegistry is empty
  • SERVER-31979 Chunk migration statistics are not recorded in the moveChunk.commit changelog entries
  • SERVER-32235 Blacklist core/drop3.js test from causally consistent workloadss
  • SERVER-32368 do not perform UUID check against a shard’s config cache in the sharding_csrs_continuous_config_stepdown_WT suite
  • SERVER-32554 Source shard stepdown while entering critical section can trigger cloner invariant
  • SERVER-32568 The migration_sets_fromMigrate_flag.js test is not compatible with sharding continuous stepdown suite
  • SERVER-32569 Introduce uniform way to allow config servers and shard replica sets to start in non-cluster mode
  • SERVER-32592 Stepdown during migration cleanup can crash the source shard primary
  • SERVER-32593 CSRS stepdown during migration commit can trigger fassert on source shard primary
  • SERVER-32886 Unnecessary sleeps during chunk migration
  • SERVER-32901 Pull the CollectionShardingState map out of ShardingState
  • SERVER-32924 tag skip_sharding_configuration_checks test with requires_persistence tag
  • SERVER-32970 Put back random chunk size initialization in mongos auto split tracking
  • SERVER-33234 dropIndexes on mongos should ignore IndexNotFound from individual shards if some shard returned success

Replication

  • SERVER-21456 Improve closing connection behavior when stepping down from primary
  • SERVER-28290 stepping down due to a higher term seen in a heartbeat should not discard term after stepdown
  • SERVER-28895 Remove old form of replSetUpdatePosition command
  • SERVER-31707 Test changeStreams on a sharded collection where the shard doesn’t know the collection is sharded
  • SERVER-32028 Make reconfig() in rslib.js resilient to NodeNotFound error
  • SERVER-32209 Reset the in-memory optimes on PV downgrade and upgrade
  • SERVER-32361 Rollback tests that expect a fatal assertion after node restart should not wait for connection
  • SERVER-32402 dropDatabase after step down can cause fassert
  • SERVER-32432 Race condition causes seg fault in ReplicationCoordinatorExternalStateImpl shutdown
  • SERVER-32532 Two-phase dropDatabase may not replicate all collection drops before the database drop.
  • SERVER-32556 Retryable write on local db hits an invariant
  • SERVER-32564 Increase assert.soon timeout when waiting for election in rollback_crud_op_sequences.js
  • SERVER-32624 dropDatabase() should wait for collection drops using ReplicationCoordinator::awaitReplication() instead of awaitReplicationOfLastOpForClient()
  • SERVER-32783 CollectionCloner::shutdown() should not block on resetting _verifyCollectionDroppedScheduler
  • SERVER-32794 Make timeouts unrelated to elections not depend on election timeout
  • SERVER-32803 stepup.js should retry replSetStepUp command when it is overtaking another primary
  • SERVER-32840 Remove pv0 jepsen tests
  • SERVER-32919 initial_sync_many_dbs.js should use less data

Query

  • SERVER-28260 Create a killAnyCursor privilege
  • SERVER-31484 Operation deadline and awaitData timeout should be separate
  • SERVER-31854 After the first drop, assertSchemaMatch() should assert that subsequent drops succeed
  • SERVER-32441 3.6 mongod crash on find with index and nested $and/$or
  • SERVER-32492 idhack_sharded.js should use _waitForDelete:true in moveChunk
  • SERVER-32606 Tailing oplog on secondary fails with CappedPositionLost
  • SERVER-33005 Contained $or access planning is incorrect for $elemMatch object, results in invariant failure
  • SERVER-33089 Unable to start queryable mongod because it failed to regenerate index for admin.system.users
  • SERVER-33092 elemMatchProjection.js incorrectly assumes that shell generates monotonically increasing _id values
  • SERVER-33333 Prevent failed cross user getMores from having side effects

Aggregation

  • SERVER-31760 Lookup sub-pipeline is not using index for equality match
  • SERVER-32349 Resuming a sharded change stream when there are multiple changes with the same timestamp may be impossible
  • SERVER-32690 Aggregation can trip invariant related to renamed fields optimization

Storage

  • SERVER-32259 Improve error handling for fetchTypeAndSourceURI()
  • SERVER-32274 Do not timestamp applyOps writes on standalones
  • SERVER-32533 In oplog truncate with WT, don’t use a start key
  • SERVER-32573 Skip wt_delayed_secondary_read_concern_majority.js when running with WiredTiger’s LSM tree
  • SERVER-32637 Ensure that upgrading to 3.6 when on pv0 doesn’t break if you don’t explicitly turn off readConcernMajority
  • SERVER-32851 setFeatureCompatibilityVersion can race with createCollection such that FCV 3.6 is set and some collections do not have UUIDs

Operations

  • SERVER-32072 DBRef with NumberInt ID changing to float in the shell
  • SERVER-32473 Error loading history file on first shell usage
  • SERVER-33140 mongodb+srv URI support broken on shell v3.6.2 for Windows

Build and Packaging

  • SERVER-32516 Fails to compile with Boost 1.66
  • SERVER-32580 Microbenchmarks: update the enterprise branch for mongo v3.6
  • SERVER-32649 got “used vector type where scalar is required” when using GCC 7
  • SERVER-32932 When testing SLES 12 packages make sure required repos exist
  • SERVER-33181 Upgrade ASIO to latest

Internals

  • SERVER-21630 Expand resmoke’s CheckReplDBHash support to config servers and sharded replica sets
  • SERVER-28396 resmoke.py’s logkeeper client should respect size limit for POST requests by splitting them up
  • SERVER-28822 Improve DBConnectionPool’s growth semantics
  • SERVER-31636 Split up generational_jstestfuzz* Evergeen tasks into query_fuzzer and update_fuzzer tasks
  • SERVER-31670 Change replica set fixture used by replica_sets_jscore_passthrough to make its secondary have zero votes
  • SERVER-31768 Don’t create the first collection chunk on a primary drained shard
  • SERVER-31886 Powercycle tasks running on Windows
  • SERVER-31935 Archive process of interest core dumps from remote EC2 instance
  • SERVER-31942 Large changes in unreliable tests can prevent test lifecycle update
  • SERVER-32060 Move MMAPv1 powercycle tasks to MMAPv1 specific variants
  • SERVER-32071 Powercycle - use internal crash
  • SERVER-32074 Powercycle - Add stack dump when SIGUSR1 or Windows event is received
  • SERVER-32090 Powercycle - pymongo client args are overwritten
  • SERVER-32107 Update DNS root nameservers for DNS Query test
  • SERVER-32110 Powercycle remote host not accessible in Evergreen timeout phase
  • SERVER-32161 MongoDB 3.2+ fails to compile on PPC64LE with glibc 2.26+
  • SERVER-32169 A cursor created with a session cannot be killed outside that session
  • SERVER-32197 Remote host is missing the debug symbols for hang_analyzer in evergreen.yml
  • SERVER-32203 Log the remote EC2 instance status when a failure to access it is detected in evergreen.yml
  • SERVER-32205 Dropping admin db sets FCV to 3.4 but leaves UUIDs
  • SERVER-32222 change_streams_primary_shard_unaware.js needs to be marked as requiring persistence
  • SERVER-32228 Powercycle - handle remote host restarts
  • SERVER-32243 Add an option to have the validate hook skip some collections.
  • SERVER-32260 Call workload_setup.py from mongo repo
  • SERVER-32298 Add a background system task to periodically copy remote statistics in evergreen.yml
  • SERVER-32299 Add disk statistics for remote EC2 instances
  • SERVER-32376 Blacklist tests that manually call startSession in the retryable_writes_jscore_stepdown_passthrough suite
  • SERVER-32403 Increase remote EC2 expire time to 3 hours
  • SERVER-32410 Validate User::CredentialData before attempting to perform authentication
  • SERVER-32414 Remove stale stdx:: requirements from lint.
  • SERVER-32429 black list regex_targeting.js from step down suites
  • SERVER-32468 Use a 1-node CSRS in non-stepdown sharding passthroughs tests
  • SERVER-32475 Microbenchmarks on v3.6 use master version of enterprise module
  • SERVER-32486 Windows builds of the shell should report the failing domain name in DNS lookup failures
  • SERVER-32515 Powercycle - rsync file exclude list
  • SERVER-32520 Add VPC support for launching AWS EC2 instances
  • SERVER-32522 set_read_and_write_concerns.js treats mapReduce “out” field like aggregation’s $out stage
  • SERVER-32527 Update package tests to use new BUILD2 VPC
  • SERVER-32541 Disable Powercycle MMAPv1 task
  • SERVER-32551 Cluster with x.509 membership authentication serves client connection with cluster client certificate
  • SERVER-32585 Remove unnecessary dependencies from requirements.txt for ese_WT tests
  • SERVER-32609 update_test_lifecycle fails when a test group does not have historical data
  • SERVER-32614 update_test_lifecycle may fail because datetime.strptime() is not thread safe
  • SERVER-32631 specifying –bind_ip localhost results in error “address already in use”
  • SERVER-32664 Sys-perf enable running baselines at lower priority
  • SERVER-32680 Update perf projects to use newer baselines
  • SERVER-32691 Create passthrough for w=”majority” with 2-node replica set to address lost test coverage
  • SERVER-32704 sys-perf: Skip validating oplog as enabled by SERVER-32243
  • SERVER-32740 Set bootstrap.ycsb_dir and bootstrap.workloads_dir in system_perf.yml
  • SERVER-32766 net.bindIpAll with net.ipv6 fails with “listen: Address already in use, terminating”
  • SERVER-32772 dbtest task in Evergreen should write to task directory
  • SERVER-32774 Ensure change_streams_secondary_reads suite has voting secondaries
  • SERVER-32788 Update “secondary performance” sysperf test to use nonvoting secondaries
  • SERVER-32806 retried findAndModify not using oplogHack when querying for pre/post image oplog entry
  • SERVER-32891 Sys-perf change order of mongodb_setup and workload_setup calls
  • SERVER-32896 Upload dsi-artifacts.yml in system_perf.yml
  • SERVER-32925 sys-perf 3.6 should run the change stream tests
  • SERVER-32987 Move the contents of the ‘uuid’ library to be under ‘base’
  • SERVER-33068 run_check_repl_dbhash.js hook exits without actually running dbhash on a replica set
  • SERVER-33142 Experiment with disabling cluster reuse in system_perf.yml
  • SERVER-33147 Limit the -j/num_jobs_available for high core ARM CI servers
  • SERVER-33158 Logical Session refresh batches are too large
  • SERVER-33219 Add a backpressure mechanism to the CRUD client in backup_restore*.js tests
  • SERVER-33236 Update perf.yml to use ssh form of git clone
  • WT-2705 High throughput cache bound many threaded workloads can experience long latencies
  • WT-3074 Automate a test to stress eviction walk with many active trees
  • WT-3133 Detect or track long latency operations
  • WT-3295 Allow LSM to merge into custom data sources
  • WT-3565 Test and understand mixed timestamp/no-timestamp usage to same data
  • WT-3587 Remove HAVE_VERBOSE conditional compilation
  • WT-3597 Add a diagnostic check for updates to the same key out of timestamp order
  • WT-3632 Increase how granularly cache usage settings can be configured
  • WT-3654 Fix warning in Windows build on evergreen
  • WT-3695 format failed to report a stuck cache
  • WT-3716 Restore the WT_VERB_TEMPORARY verbose flag.
  • WT-3720 flags macros cast flags to unsigned values, hiding warnings.
  • WT-3725 Add statistics to locks around timestamp structures
  • WT-3732 Handle adding WT indices while cursors on the table are open
  • WT-3734 Fix undefined behavior in verbose output
  • WT-3738 Review internal session allocation accounting
  • WT-3740 race in page dirty-byte decrement.
  • WT-3750 Fast-path fs_directory_list of a single file.
  • WT-3753 Building on Windows –enable-java
  • WT-3766 Lookaside sweep for obsolete updates
  • WT-3767 Avoid lookaside instantiation for faster reads
  • WT-3768 Lookaside optimization: birthmarks
  • WT-3769 Fix a bug in reverse cursor walks with particular delete patterns and prefix compression enabled
  • WT-3772 Hot backup causes uncontrolled growth of WiredTigerPreplog files
  • WT-3774 Enhance Python lookaside testing to cover cursor modify
  • WT-3775 Improve commit timestamp is older than oldest timestamp error message
  • WT-3779 Add support for string formats with WT_CURSOR::modify
  • WT-3780 Improve error messages on invalid WT_CURSOR::modify usage
  • WT-3783 Fix transaction isolation to use the correct enum
  • WT-3787 test_compact02 failed as compaction halted due to eviction pressure
  • WT-3790 Switch statistics to rdtsc from epoch calls
  • WT-3792 LSM version 1 metadata incompatibility
  • WT-3793 WiredTiger page debug dump functions should unpack integer keys
  • WT-3794 Coverity 1383547 and lint
  • WT-3795 lint cleanups for the op-tracking software, reduce record write size.
  • WT-3796 Report a better error message if transaction commit fails
  • WT-3799 Test/format with timestamps enabled pin cache full
  • WT-3806 Make sure rdtsc values move forward in time
  • WT-3807 clang static analysis updates
  • WT-3809 Fix a bug in lookaside related to birthmarks
  • WT-3810 wt_rdtsc calibration needs to be longer and verify validity
  • WT-3811 Add basic ability to visualise operation tracking
  • WT-3812 debugging page output should handle complex key/value items.
  • WT-3816 Enable prefix compression on the lookaside table
  • WT-3818 __rec_txn_read() code order cleanup
  • WT-3819 clang static analysis improvements
  • WT-3820 Add a WT_SESSION.breakpoint method for Python debugging.
  • WT-3822 Update WiredTiger copyrights to 2018
  • WT-3824 tsc_nsec_ratio can compute to zero and cause divide by zero bug
  • WT-3825 Fix calculation of CPU ticks per unit time
  • WT-3826 random-abort test failure
  • WT-3827 test_compact02 failure
  • WT-3828 Link error on OS/X for __wt_process data reference
  • WT-3831 uninitialized buffer value in statlog server path comparison
  • WT-3832 Fixup shell script warning messages
  • WT-3833 test/format cache_minimum value error
  • WT-3835 cursor remove tries to return a key that doesn’t exist
  • WT-3840 Dump more information when data corruption is encountered
  • WT-3841 Fix error message pattern in timestamp09
  • WT-3842 full-build Friday & lint
  • WT-3844 Checkpoints can hang on limbo pages
  • WT-3845 Compiler warning in examples using GCC 5.4.0
  • WT-3846 Refine operation tracking visualization tool
  • WT-3847 Add a stub API for prepared transaction
  • WT-3852 Update debugging when committing at an earlier timestamp
  • WT-3853 LSM version 1 metadata incompatibility
  • WT-3854 Remove write lock from commit path, leaving old entries in queue
  • WT-3860 lint

3.6.2 Changelog

Security

SERVER-31625 The contents of {USER} needs to be escaped when querying for the groups using LDAP server

Sharding

  • SERVER-28992 Cleanup mongos write commands execution
  • SERVER-31982 Shard does not call config commit chunk migration command with majority writeConcern nor checks for writeConcern errors.
  • SERVER-32202 Do not clear the cached sharding filtering information on replication state changes
  • SERVER-32255 UUIDs may be absent from shard secondary local collections
  • SERVER-32480 Remove CatalogCache retrieval methods, which take StringData
  • SERVER-32529 Requiring replSet for shards breaks Queryable Backup

Replication

  • SERVER-30626 Remove TopologyCoordinator interface
  • SERVER-31267 CollectionCloner fails if collection is dropped between getMore calls
  • SERVER-31684 QueryPlanKilled (operation exceeded time limit) in $changeStream with updateLookup
  • SERVER-31749 Clarify the reason temporary unique collection names are made
  • SERVER-32098 Disallow operations on drop-pending collections through applyOps
  • SERVER-32136 initial_sync_drop_collection.js should wait for system to stablize after restarting node
  • SERVER-32224 Disable chaining in initial_sync_drop_collection.js

Aggregation

  • SERVER-32282 Aggregation text search returns text score even if it wasn’t requested when targeting multiple shards in a sharded cluster
  • SERVER-32430 DocumentSourceSort sorts array documents incorrectly if there is a non-simple collation

Storage

Operations

SERVER-32396 mongo shell failed to connect with 3.6 connection string SRV

Build and Packaging

  • SERVER-31875 Fix long link times on OS X by passing -no_deduplicate to the linker
  • SERVER-32415 MongoDB msi installer for Compass contains a typo

Internals

  • SERVER-30538 check that oplogTruncateAfterPoint is correct in PeriodicKillSecondaries hook
  • SERVER-31972 Reduce the number of iterations for the toggle_feature_compatibility.js workload
  • SERVER-31997 Add additional unittesting for CompatibleFirst policy
  • SERVER-32091 Powercycle - remove mongod.lock file for MMAPV1 test
  • SERVER-32145 Avoid dropping lock before cleaning up DocumentSourceCursor’s PlanExecutor
  • SERVER-32246 PID file permission on v3.6 make it not not monitorable using pid file
  • SERVER-32497 implicitly_retry_on_database_drop_pending.js calls tojson() inside of a loop
  • SERVER-32500 Disable the sharding Evergreen task on the Enterprise OS X 10.10 MMAPv1 builder

3.6.1 Changelog

Sharding

  • SERVER-29397 Invariant failure on config server when inserting tag into config.tags
  • SERVER-30226 Force the recipient shard to refresh its metadata after migration commit
  • SERVER-30768 Primary queries using maxTimeMS cause temporary shard write unavailability if ExceededTimeLimit
  • SERVER-31056 Remove all usages of the default constructor of ScopedCollectionMetadata outside of MetadataManager
  • SERVER-31627 ShardingTest.checkUUIDsConsistentAcrossCluster can fail to see collection in config.cache.collections
  • SERVER-31865 setFCV on config server should only generate UUIDs for non-dropped sharded collections
  • SERVER-31984 A migration will simply report “Data transfer error” when we have rich error details on the destination shard that are logged but not returned to the user
  • SERVER-32043 Disallow users from creating new indexes in config.transactions
  • SERVER-32055 Improve multi thread performance for retryable writes
  • SERVER-32123 Enable sign range optimization for clusterTime
  • SERVER-32149 ShardingCatalogManager::getDatabasesForShard should check if query was successful
  • SERVER-32372 Mongos crashes on bulk inserts which size are slightly bigger than maxBsonObjectSize
  • SERVER-32385 “CommandNotFound: no such command” in mongodb logs on 3.6

Replication

  • SERVER-30457 Cancel catchup takeover if primary caught up according to heartbeats
  • SERVER-31990 Rollback can abort on long collection names.
  • SERVER-32085 $changeStream reports incorrect documentKey for unsharded collections that become sharded
  • SERVER-32114 Delete unused rollback code
  • SERVER-32131 ChangeStreams lookup_post_image.js test makes assumptions that don’t hold up in secondary read passthrough
  • SERVER-32159 fix typo in sync_tail.cpp fillWriterVectorsAndLastestSessionRecords()
  • SERVER-32167 do a second majority write on oldPrimary before committed read in read_committed_after_rollback.js
  • SERVER-32178 Do not use IDL on oldest oplog entry

Query

  • SERVER-31978 Add an invariant that DocumentSourceCloseCursor does not execute on a mongod for a sharded $changeStream
  • SERVER-32046 Arrays of certain NumberDecimals can trigger an invariant failure
  • SERVER-32109 $rename does not update value if existing “to” field has the same numeric value but different type.
  • SERVER-32173 Add deprecation warning to “snapshot” option on queries

Write Operations

  • SERVER-8538 Deprecate $atomic/isolated update option
  • SERVER-32048 Updates using a numeric path component may cause index entries not to be created

Aggregation

  • SERVER-31731 Test that mongos accepts a –timeZoneInfo parameter, and can correctly execute expressions using time zones
  • SERVER-31885 changeStream cursor is not returned on a mongos when the database does not exist.

Storage

  • SERVER-31304 remove SnapshotName class
  • SERVER-31906 Test that applyOps can clone admin.system.version preserving its UUID
  • SERVER-31952 return error if collMod provides a UUID that does not match the UUID of the collection specified
  • SERVER-32022 allow enableMajorityReadConcern=false to work
  • SERVER-32118 applyOps view creation should not assign UUID
  • SERVER-32226 oldest_timestamp should track the last applied time, during initial sync

Operations

SERVER-29453 Disallow removing the featureCompatibilityVersion document

Build and Packaging

  • SERVER-32211 install_compass experience on OSX needs improvement
  • SERVER-32286 Remove Type=forking from Debian SystemD service file

Tools

TOOLS-1895 qa-dump-restore-archiving oplog_rollover_test.js

Internals

  • SERVER-30770 system_perf.yml: Use new DSI interface and cleanup
  • SERVER-31194 Add a version of retryable_writes_jscore_passthrough.yml with stepdowns
  • SERVER-31225 The mongod process forks before listening for connections
  • SERVER-31660 Bring BSONObj parsers back for IDL generated commands
  • SERVER-31791 UUIDs should be added to local collections for replica sets only on clean startup
  • SERVER-31808 HostAndPort for replSetInitiate() no longer finds hostname for localhost
  • SERVER-31845 WT performance regression with write retryability enabled
  • SERVER-31864 applyOps command with UUID containing op must require granular privileges
  • SERVER-32053 explain3.js should assert that its writes succeed
  • SERVER-32073 Improve signal given by list_local_sessions.js
  • SERVER-32087 Run test stage of sys-perf and mongo-perf failures should lead to red evergreen boxes
  • SERVER-32105 Require shard servers and config servers to be started with –replSet or ‘replSetName’
  • SERVER-32106 Migration of txn oplog entries can trigger fassert in secondary replication
  • SERVER-32164 Shell SRV implementation does not allow authSource from TXT records to be used
  • SERVER-32238 Revert erroneous high error codes
  • TOOLS-1688 Evergreen tests broken in master
  • TOOLS-1827 Implement Initial DNS Seedlist discovery spec
  • TOOLS-1861 build.sh script doesn’t abort on error
  • TOOLS-1878 qa-tests-unstable force_table_scan.js
  • TOOLS-1880 qa-tests-unstable no_primary_error_code.js
  • TOOLS-1881 qa-tests-unstable no_sharded_secondary_reads.js
  • WT-3079 Make sure eviction visits all trees
  • WT-3776 Cursor remove operation unpins page too early
  • WT-3786 Transactions with timestamps should read their writes