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
BulkWriteError. 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 the
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
Reference: MongoDB Node.js Driver
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