Skip to content
This repository has been archived by the owner on Nov 1, 2023. It is now read-only.

Update dependency mongodb to v3.5.9 #13

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Jan 14, 2020

This PR contains the following updates:

Package Type Update Change
mongodb dependencies minor 3.4.1 -> 3.5.9

Release Notes

mongodb/node-mongodb-native

v3.5.9

Compare Source

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

Release Highlights

Use duration of handshake if no previous roundTripTime exists

The default roundTripTime of a ServerDescription is -1, which means if that value is used we can potentially calculate a negative roundTripTime. Instead, if no previous roundTripTime exists, we use the duration of the initial handshake.

the options [maxIdleTimeMS] is not supported

A number of new options were added when the CMAP compliant connection pool was introduced in 3.5.x. Unfortunately, these options were not documented properly. Now they are mentioned in the MongoClient documentation, with a notice that they are only supported with the unified topology.

TypeError: Reduce of empty array with no initial value

A fix in 3.5.8 which ensured proper filtering of servers during server selection exposed an issue in max staleness calculations when the topology type is ReplicaSetNoPrimary and no servers are currently known. In order to estimate an upper bound of max staleness when there is no primary, the most stale known server is known to compare the others to - if there are no known servers, you can't reduce the array!

Server monitoring is prevented under heavy request load

In certain very high load fail-over scenarios the driver is unable to reschedule a monitoring check in order to update its view of the topology for retryability. This would result in a high number of failed operations, as they were unable to determine a new viable server.

Documentation

Reference: http://mongodb.github.io/node-mongodb-native/3.5/
API: http://mongodb.github.io/node-mongodb-native/3.5/api/
Changelog: https://github.com/mongodb/node-mongodb-native/blob/3.5/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-2637] - connection pool options support for MongoClient
  • [NODE-2641] - maxStalenessReducer fails on empty set of servers
  • [NODE-2643] - Server monitoring is prevented under heavy request load
  • [NODE-2652] - Use duration of initial handshake if no roundTripTime value exists for server

Improvement

  • [NODE-2651] - Use consistent means of measuring time

v3.5.8

Compare Source

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

Release Highlights

Fixes for NEAREST latency window calculation

@​adityapatadia helped uncover an issue with our server selection logic which
filtered out servers after evaluating whether they were in the latency window.
This meant that non-viable servers were considered during the window calculation
and would render certain viable servers unviable.

BulkWriteError writeErrors property

@​vkarpov15 submitted a patch to always include writeErrors on a BulkWriteError.
We have logic to set the message of BulkWriteError to the message of the first
error encountered if there is only one error. Unfortunately, this logic removed
the writeErrors field when doing that, so users could be faced with an error
which conditionally changed shape.

Memory leak in timed out wait queue members

@​dead-horse identified a memory leak in the new connection pool where wait queue
members which timed out might be left in the queue indefinitely under sufficient
load. The fix here was to ensure that all wait queue members are flushed during
wait queue processing before evaluating whether there were available sockets to
process new requests.

Implicit sessions cleanup improvements

Once @​dead-horse was able to patch the connection pool memory leak, they also
identified a edge case where implicit sessions could be leaked in a very specific
error condition. The logic to release implicit sessions was simplified, preventing
this from happening in the future

Unordered bulk writes continue-on-error

A bug introduced last summer prevented unordered bulk write operations from
continuing after the first write error - one of the most important features of
being an unordered operation. We now properly support this feature again.

journal in connection string is ignored

@​nknighter filed a report that the journal option was ignored when provided
via the connection string. The paramater j was supported both through the
connection string and explicit added to MongoClient options, but the official
documentation for connection strings support a journal option.

Documentation

Reference: http://mongodb.github.io/node-mongodb-native/3.5/
API: http://mongodb.github.io/node-mongodb-native/3.5/api/
Changelog: https://github.com/mongodb/node-mongodb-native/blob/3.5/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-2407] - UnifiedTopology + near read makes application crash with timeout error when one of replica server is down
  • [NODE-2413] - The node process enters an infinite loop at the pool and causes OOM
  • [NODE-2442] - journal=true is ignored in connection string
  • [NODE-2548] - Change streams do not resume from errors
  • [NODE-2565] - Change stream should not check for NonResumableChangeStreamError label
  • [NODE-2619] - Unordered bulk write aborts on first encountered error
  • [NODE-2625] - BulkWriteError should always have a writeErrors field

Task

  • [NODE-2478] - Use white list for change stream resumability
  • [NODE-2598] - Change stream close refactor
  • [NODE-2605] - Refactor shared test helpers to improve usability

Improvement

  • [NODE-2522] - Remove ElectionInProgress (216) from ResumableChangeStreamError
  • [NODE-2571] - Don&#​39;t use admin database for FLE tests
  • [NODE-2630] - Simplify code path for ending implicit sessions in cursors

v3.5.7

Compare Source

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

Release Highlights

Warning: Accessing non-existent property 'count' of module exports inside circular dependency

Work earlier this year left some dead code in our operations code, resulting in this warning message reported by multiple users. While we still have a few cycles in our codebase yet, this will quiet Node.js 14's circular dependency warnings.

Sessions are only acquired when operations are executed

Drivers use an implicit session for all operations where an explicit session is not provided. A subtle bug was introduced when session support was implemented where implicit sessions were created and assigned to operations even if they were about to sit in a queue waiting for execution. This results in the driver creating many sessions rather than reusing pooled ones. The fix is to ensure a session is only checked out of the pool when the operation is about to be written to a server.

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

Release Notes

Bug

  • [NODE-2536] - Circular dependency in Node.js 14 nightly
  • [NODE-2552] - Server session creation grows unbounded with every operation call

Improvement

  • [NODE-2534] - Document options supported by the unified topology
  • [NODE-2560] - Make &#​39;reIndex&#​39; a standalone-only command

v3.5.6

Compare Source

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

Release Highlights

Regression in map when cursor used as a stream

@​dobesv helped identify a regression where a map function would be applied twice
if defined on a cursor, and that cursor was used to stream data.

TypeError: Cannot read property 'code' of undefined

User @​linus-hologram originally reported an issue with a TypeError when the lambda
passed to the withTransaction helper rejected with a null value. @​vkarpov15
submitted the fix.

readPreferenceTags interpreted as an array

A bug was fixed where readPreferenceTags with a single value in the connection
string was not properly interpreted as an array of tags. This prevented the
Use Analytics Nodes to Isolate Workload guidance from working
correctly.

Cannot set property 'isDirty' of null

User @​sean-daley reported seeing this in an AWS Lambda environment, but has proven to
be somewhat of a heisenbug. We are rolling out a fix here that ensures sessions
(implicit or not) are not used after they have been explicitly ended.

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

Release Notes

Bug

  • [NODE-2503] - Cursor ReadStream applies map function twice
  • [NODE-2515] - TypeError when transaction is rejected with empty reason
  • [NODE-2541] - readPreferenceTags are not interpreted as an array
  • [NODE-2545] - Cannot set property &#​39;isDirty&#​39; of null
  • [NODE-2549] - Unknown topology should return empty array for server selection with read preference

v3.5.5

Compare Source

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

Release Highlights

Regression in hasNext when using a cursor with a limit

@​peterbroadhurst helped point out a regression introduced in v3.5.4 where using hasNext
on a cusor with a limit would not return the full set of results.

Ignored topology updates cause servers to fall out of latency window

A change introduced across all MongoDB drivers, and in particular v3.5.0 of the Node.js
driver, attempted to prevent needless duplicate topologyDescriptionChanged topology events
by introducing a ServerDescription equality operator. Since equality does not take the
lastUpdateTime and lastWriteDate fields of an ismaster into account, the driver could
eventually consider servers non-suitable for server selection, since they would fall out
of the latency window.
All updates are considered viable for topology updates now, and only event emission is
gated by ServerDescription equality.

Memory leaks with Node.js v12+

The legacy topology types (in particular if you were connected to a replic set) used a
custom Timeout class to wrap a timer. Unfortunately, the class depended on an undocumented,
private variable _called, which was removed in Node.js v12. This would lead to the driver
thinking the timeout never occurred, and therefore never releasing the object for garbage
collection. We recommend users of the legacy topology types immediately update to this
version of the driver, or use the Unified Topology which is unaffected by this bug.

TypeError: Cannot read property 'Symbol(cancelled)' of undefined

@​erfanium and @​Paic helped us identify an issue in rare failover events where multiple
requests to process the server selection queue would result in an attempted property
access of an undefined variable.

promiseLibrary not respected by newly introduced maybePromise helper

@​tobyealden pointed out that an internal refactor to use a helper to optionally
return a Promise for top level API methods was not, in fact, using a custom
promise library if one was provided!

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

Release Notes

Bug

  • [NODE-2460] - Memory Leak with ReplSet and NodeJS v12
  • [NODE-2472] - TypeError on server available with useUnifiedTopology: true
  • [NODE-2474] - Server_Description update with lastUpdateTime / lastWriteDate fields is ignored in topology
  • [NODE-2480] - TypeError after reconnecting
  • [NODE-2483] - Regression using hasNext on cursor with limit
  • [NODE-2490] - promiseLibrary option is not honoured

v3.5.4

Compare Source

Bug Fixes
  • cmap: don't run min connection thread if no minimum specified (2d1b713)
  • sdam: use ObjectId comparison to track maxElectionId (a1e0849)
  • topology: ensure selection wait queue is always processed (bf701d6)
  • topology: enter STATE_CLOSING before draining waitQueue (494dffb)
  • don't consume first document when calling hasNext on cursor (bb359a1)
Features
  • add utility helper for returning promises or using callbacks (ac9e4c9)

v3.5.3

Compare Source

Bug Fixes
  • message-stream: support multiple inbound message packets (8388443)
  • server: non-timeout network errors transition to Unknown state (fa4b01b)
Features
  • connection: support exhaust behavior at the transport level (9ccf268)

v3.5.2

Compare Source

Bug Fixes
  • properly handle err messages in MongoDB 2.6 servers (0f4ab38)
  • topology: always emit SDAM unrecoverable errors (57f158f)

v3.5.1

Compare Source

Bug Fixes
  • cmap: accept all node TLS options as pool options (5995d1d)
  • cmap: error wait queue members on failed connection creation (d13b153)
  • connect: listen to secureConnect for tls connections (f8bdb8d)
  • transactions: use options helper to resolve read preference (9698a76)
  • uri_parser: TLS uri variants imply ssl=true (c8d182e)

v3.5.0

Compare Source

Bug Fixes
  • copy ssl option to pool connection options (563ced6)
  • destroy connections marked as closed on checkIn / checkOut (2bd17a6)
  • ensure sync errors are thrown, and don't callback twice (cca5b49)
  • ignore connection errors during pool destruction (b8805dc)
  • not all message payloads are arrays of Buffer (e4df5f4)
  • recover on network error during initial connect (a13dc68)
  • remove servers with me mismatch in updateRsFromPrimary (95a772e)
  • report the correct platform in client metadata (35d0274)
  • reschedule monitoring before emitting heartbeat events (7fcbeb5)
  • socket timeout for handshake should be connectTimeoutMS (c83af9a)
  • timed out streams should be destroyed on timeout event (5319ff9)
  • use remote address for stream identifier (f13c20b)
  • used weighted RTT calculation for server selection (d446be5)
  • execute-operation: don't swallow synchronous errors (0a2d4e9)
  • gridfs: make a copy of chunk before writing to server (b4ec5b8)
Features
  • add a withConnection helper to the connection pool (d59dced)
  • include connectionId for APM with new CMAP connection pool (9bd360c)
  • integrate CMAP connection pool into unified topology (9dd3939)
  • introduce MongoServerSelectionError (0cf7ec9)
  • introduce a class for tracking stream specific attributes (f6bf82c)
  • introduce a new Monitor type for server monitoring (2bfe2a1)
  • relay all CMAP events to MongoClient (1aea4de)
  • support socket timeouts on a per-connection level (93e8ad0)

3.4.1 (2019-12-19)

Bug Fixes
  • bulk: use original indexes as map for current op index (20800ac)
  • always check for network errors during SCRAM conversation (e46a70e)

Renovate configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻️ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by WhiteSource Renovate. View repository job log here.

@renovate renovate bot changed the title Update dependency mongodb to v3.5.0 Update dependency mongodb to v3.5.1 Jan 17, 2020
@renovate renovate bot changed the title Update dependency mongodb to v3.5.1 Update dependency mongodb to v3.5.2 Jan 20, 2020
@renovate renovate bot force-pushed the renovate/mongodb-3.x branch 3 times, most recently from 7e4ebd5 to 657c16a Compare January 23, 2020 21:25
@renovate renovate bot changed the title Update dependency mongodb to v3.5.2 Update dependency mongodb to v3.5.3 Feb 12, 2020
@renovate renovate bot force-pushed the renovate/mongodb-3.x branch 2 times, most recently from 993ea8a to 3078c93 Compare February 25, 2020 18:49
@renovate renovate bot changed the title Update dependency mongodb to v3.5.3 Update dependency mongodb to v3.5.4 Feb 25, 2020
@renovate renovate bot changed the title Update dependency mongodb to v3.5.4 Update dependency mongodb to v3.5.5 Mar 11, 2020
@renovate renovate bot changed the title Update dependency mongodb to v3.5.5 Update dependency mongodb to v3.5.6 Apr 14, 2020
@renovate renovate bot changed the title Update dependency mongodb to v3.5.6 Update dependency mongodb to v3.5.7 May 6, 2020
@renovate renovate bot changed the title Update dependency mongodb to v3.5.7 Update dependency mongodb to v3.5.9 Jul 1, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant