MongoDB Node.js Driver 3.5.8 Released

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: MongoDB Node.js Driver
API: Index
Changelog: node-mongodb-native/HISTORY.md at 3.5 · mongodb/node-mongodb-native · GitHub

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!

The MongoDB Node.js team

3 Likes