Skip to content

v7.3.0

Choose a tag to compare

@pluma pluma released this 08 Mar 15:25
· 388 commits to main since this release
d5d8301

Changed

  • Changed the default for agentOptions.scheduling to "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 optimization

    Previously arangojs would allow agentOptions.maxSockets * 2 concurrent
    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.maxSockets regardless of whether keepAlive is enabled.

  • Changed agentOptions.maxSockets default value when using ROUND_ROBIN

    As the connection pool is shared across all server connections when using
    ROUND_ROBIN load balancing, the default value of 3 is too limiting for
    most scenarios involving multiple coordinators. When passing multiple URLs
    via the url option and specifying ROUND_ROBIN load balancing, arangojs
    will now default this value to url.length * 3 instead.