v7.3.0
Changed
-
Changed the default for
agentOptions.schedulingto"lifo"This is already the default in Node v15.6 but can reduce latency caused by
sockets expiring, especially with larger connection pools and infrequent
requests. -
Removed
keepAlive-specific throughput optimizationPreviously arangojs would allow
agentOptions.maxSockets * 2concurrent
requests, to optimize socket reuse by avoiding idle time. This behavior
could trigger deadlocks when attempting to perform multiple transactions
in parallel and only marginally improved throughput in some high-load
scenarios. The connection pool size now always reflects the value set in
agentOptions.maxSocketsregardless of whetherkeepAliveis enabled. -
Changed
agentOptions.maxSocketsdefault value when usingROUND_ROBINAs the connection pool is shared across all server connections when using
ROUND_ROBINload balancing, the default value of3is too limiting for
most scenarios involving multiple coordinators. When passing multiple URLs
via theurloption and specifyingROUND_ROBINload balancing, arangojs
will now default this value tourl.length * 3instead.