The MongoDB Node.js team is pleased to announce version 3.5.8 of the driver
@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.
@vkarpov15 submitted a patch to always include
writeErrors on a
We have logic to set the
BulkWriteError to the message of the first
error encountered if there is only one error. Unfortunately, this logic removed
writeErrors field when doing that, so users could be faced with an error
which conditionally changed shape.
@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.
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
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.
@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
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!
- [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
- [NODE-2478] - Use white list for change stream resumability
- [NODE-2598] - Change stream close refactor
- [NODE-2605] - Refactor shared test helpers to improve usability