Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Snyk] Upgrade mongodb from 3.6.3 to 3.6.4 #7223

Closed

Conversation

TomWFox
Copy link
Contributor

@TomWFox TomWFox commented Feb 24, 2021

Snyk has created this PR to upgrade mongodb from 3.6.3 to 3.6.4.

ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.


  • The recommended version is 1 version ahead of your current version.
  • The recommended version was released 21 days ago, on 2021-02-02.
Release notes
Package name: mongodb
  • 3.6.4 - 2021-02-02

    MongoDB Driver v3.6.4

    The MongoDB Node.js team is pleased to announce version 3.6.4 of the driver

    Release Highlights

    Explain Support

    The full set of $explain verbosity settings are now supported:

    • queryPlanner
    • queryPlannerExtended
    • executionStats
    • allPlansExecution

    In the following commands:

    • aggregate() (MDB 3.0+)
    • find() (MDB 3.0+)
    • remove() (MDB 3.0+)
    • update() (MDB 3.0+)
    • distinct() (MDB 3.2+)
    • findAndModify() (MDB 3.2+)
    • mapReduce() (MDB 4.4+)

    You can get a lot of insight into the performance of a query or optimization using these fine grained reports.
    To learn more about how to use explain read here.

    Direct Connection Issue Revert

    We removed automatic direct connection for the unified topology in the 3.6.3 release of the driver. This change was preparatory for the 4.0 version of the driver, where we'll always perform automatic discovery. To avoid making this kind of change in a patch release, this version restores automatic direct connection when connecting to a single host using the unified topology without a specified replicaSet and without directConnection: false, in line with previous 3.6 releases.

    NOTE: In the next major version the unifiedTopology is the only Topology and it is required to either specify a replicaSet name or enable directConnection in order to connect to single nodes in a replica set.

    Support Azure and GCP keystores in FLE

    There are no functional changes to the driver to support using Azure and GCP keystores but a new mongodb-client-encryption release (v1.2.0) can be found here which prominently features support for these key stores.

    Documentation

    We invite you to try the driver immediately, and report any issues to the NODE project.

    Thanks very much to all the community members who contributed to this release!

    Release Notes

    Bug

    • [NODE-2355] - GridFSBucketWriteStream doesn't implement stream.Writable properly
    • [NODE-2828] - noCursorTimeout does not seem to for find()
    • [NODE-2874] - Setting connectionTimeoutMS to 0 will result in a disconnection every heartbeatFrequencyMS
    • [NODE-2876] - Race condition when resetting server monitor
    • [NODE-2916] - Legacy topology hangs with unlimited socket timeout
    • [NODE-2945] - ignoreUndefined not works on findOneAndUpdate when { upsert: true }
    • [NODE-2965] - MongoClient.readPreference returns "primary" ignoring readPref from connection string
    • [NODE-2966] - Unified topology: server selection fails when trying to connect to a remote replica set with a member whose 'host' attribute resolves to 'localhost'
    • [NODE-2977] - Query parameters with path in connection string not working on windows
    • [NODE-2986] - MongoError: pool destroyed

    Features

    • [NODE-2762] - Comprehensive Support for Explain
    • [NODE-2852] - Add explain support to non-cursor commands
    • [NODE-2853] - Add explain support to cursor-based commands

    Improvement

    • [NODE-1726] - Deprecate Topology events in Db
    • [NODE-2825] - Support Azure and GCP keystores in FLE
    • [NODE-2880] - Improve stack traces in the session leak checker
    • [NODE-2895] - Update AggregateCursor "unwind" method to match the native driver
    • [NODE-2995] - Sharing a MongoClient for metadata lookup can lead to deadlock in drivers using automatic encryption
  • 3.6.3 - 2020-11-06

    The MongoDB Node.js team is pleased to announce version 3.6.3 of the driver

    Release Highlights

    MongoError: not master when running createIndex

    A regression introduced in v3.6.2 meant that createIndex operations would not be executed with a fixed
    primary read preference. This resulted in the driver selecting any server for the operation, which would
    fail if a non-primary was selected.

    Performance issues on AWS Lambda

    The driver periodically monitors members of the replicaset for changes in the topology, but ensures that
    the "monitoring thread" is never woken sooner than 500ms. Measuring this elapsed time depends on a
    stable clock, which is not available to us in some virtualized environments like AWS Lambda. The result
    was that periodically operations would think there were no available servers, and the driver would force
    a wait of heartbeatFrequencyMS (10s by default) before reaching out to servers again for a new
    monitoring check. The internal async interval timer has been improved to account for these environments

    GSSAPI AuthProvider reuses single kerberos client

    A regression introduced in v3.6.0 forced the driver to reuse a single kerberos client for all
    authentication attempts. This would result in incomplete authentication flows, and occaisionally even
    a crash in the kerberos module. The driver has been reverted to creating a kerberos client per
    authentication attempt.

    Performance regression due to use of setImmediate

    A change introduced in v3.6.1 switched all our usage of process.nextTick in the connection pool with
    setImmediate per Node.js core recommendation. This was observed to introduce noticeable latency when the event loop
    was experiencing pressure, so the change was reverted for this release pending further investigation.

    Community Contributions

    • @ jswangjunsheng submitted a fix for a rare scenario when wait queue members time out before connection establishment
    • @ through-a-haze submitted a fix for incorrect construction of an X509 authentication message
    • @ andreialecu helped us indicate peer optional dependencies in our package.json for stricter package managers (pnpm, yarn2)

    Documentation

    Reference: http://mongodb.github.io/node-mongodb-native/3.6/
    API: http://mongodb.github.io/node-mongodb-native/3.6/api/
    Changelog: https://github.com/mongodb/node-mongodb-native/blob/3.6/HISTORY.md

    We invite you to try the driver immediately, and report any issues to the NODE project.

    Thanks very much to all the community members who contributed to this release!

    Release Notes

    Bug

    • [NODE-2172] - Change stream breaks on disconnection when there's something piped into it.
    • [NODE-2784] - MongoError: Not Master when running createIndex in 3.6.0
    • [NODE-2807] - MongoClient.readPreference always returns primary
    • [NODE-2827] - Connecting to single mongos makes driver think it is connected to a standalone
    • [NODE-2829] - MongoDB Driver 3.6+ Performance issues on AWS Lambda
    • [NODE-2835] - Remove default timeout for read operations
    • [NODE-2859] - GSSAPI AuthProvider causing crashes in Compass
    • [NODE-2861] - Performance Regression for usage of mongodb connections (queries, inserts, ...)
    • [NODE-2865] - Connections can be leaked if wait queue members are cancelled
    • [NODE-2869] - Invalid assignment of X509 username makes authentication impossible

    Improvement

    • [NODE-2834] - Remove deprecation of AggregationCursor#geoNear
    • [NODE-2867] - Use peerDependenciesMeta field to mark peer optional dependencies
from mongodb GitHub release notes
Commit messages
Package name: mongodb

Compare


Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.

For more information:

🧐 View latest project report

🛠 Adjust upgrade PR settings

🔕 Ignore this dependency or unsubscribe from future upgrade PRs

@codecov
Copy link

codecov bot commented Feb 24, 2021

Codecov Report

Merging #7223 (170038d) into master (f71b63b) will decrease coverage by 8.18%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #7223      +/-   ##
==========================================
- Coverage   94.00%   85.81%   -8.19%     
==========================================
  Files         172      172              
  Lines       12873    12873              
==========================================
- Hits        12101    11047    -1054     
- Misses        772     1826    +1054     
Impacted Files Coverage Δ
...dapters/Cache/RedisCacheAdapter/KeyPromiseQueue.js 0.00% <0.00%> (-95.46%) ⬇️
src/Adapters/Storage/Mongo/MongoCollection.js 4.76% <0.00%> (-92.86%) ⬇️
src/Adapters/Storage/Mongo/MongoStorageAdapter.js 8.84% <0.00%> (-84.08%) ⬇️
src/Adapters/Cache/RedisCacheAdapter/index.js 12.50% <0.00%> (-82.15%) ⬇️
src/Adapters/Files/GridFSBucketAdapter.js 10.65% <0.00%> (-68.86%) ⬇️
...rc/Adapters/Storage/Mongo/MongoSchemaCollection.js 37.07% <0.00%> (-60.68%) ⬇️
src/Adapters/Storage/Mongo/MongoTransform.js 51.10% <0.00%> (-37.71%) ⬇️
src/Adapters/Files/GridStoreAdapter.js 13.04% <0.00%> (-33.34%) ⬇️
src/Routers/SessionsRouter.js 64.70% <0.00%> (-26.48%) ⬇️
src/GraphQL/transformers/mutation.js 68.47% <0.00%> (-25.00%) ⬇️
... and 20 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f71b63b...1bb2006. Read the comment docs.

@dplewis
Copy link
Member

dplewis commented Feb 24, 2021

The tests are failing because of the driver. There is a PR open for a fix.

mongodb/node-mongodb-native#2744

@dplewis dplewis closed this Feb 24, 2021
@mtrezza mtrezza deleted the snyk-upgrade-749740bf32831611608f6e337bd77324 branch July 25, 2021 00:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants