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: 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