You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The maximum amount of time in secondsfootnote:[Other drivers may use milliseconds instead of seconds for this configuration.] a session will wait when requesting a connection from the connection pool.
349
+
For connection pools where all connections are currently being used and the `MaxConnectionPoolSize` limit has been reached, a session will wait this duration for a connection to be made available.
350
+
Since the process of acquiring a connection may involve creating a new connection, *_ensure that the value of this configuration is higher than the configured_* `ConnectionTimeout`.
351
+
+
352
+
Setting a low value will allow for transactions to *_fail fast_* when all connections in the pool have been acquired by other transactions.
353
+
Setting a higher value will result in these transactions being queued, increasing the chances of eventually acquiring a connection at the cost of longer time to receive feedback on failure.
354
+
Finding an optimal value may require an element of experimentation, taking into consideration the expected levels of parallelism within your application as well as the `MaxConnectionPoolSize`.
The maximum amount of time in secondsfootnote:[Other drivers may use milliseconds instead of seconds for this configuration.] to wait for a TCP connection to be established.
377
+
Connections are only created when a session requires one unless there is an available connection in the connection pool.
378
+
The driver maintains a pool of open connections which can be loaned to a session when one is available.
379
+
If a connection is not available, then an attempt to create a new connection (provided the `MaxConnectionPoolSize` limit has not been reached) is made with this configuration option, providing the maximum amount of time to wait for the connection to be established.
380
+
+
381
+
In environments with high latency and high occurrences of connection timeouts it is recommended to configure a higher value.
382
+
For lower latency environments and quicker feedback on potential network issues configure with a lower value.
The maximum duration in secondsfootnote:[Other drivers may use milliseconds instead of seconds for this configuration.] the driver will keep a connection for before being removed from the pool.
425
+
Note that while the driver will respect this value, it is possible that the network environment will close connections inside this lifetime.
426
+
This is beyond the control of the driver.
427
+
The check on the connection’s lifetime happens when a session requires a connection.
428
+
If the available connection’s lifetime is over this limit it is closed and a new connection is created, added to the pool and returned to the requesting session.
429
+
Changing this configuration value would be useful in environments where users don’t have full control over the network environment and wish to proactively ensure all connections are ready.
430
+
+
431
+
Setting this option to a low value will cause a high connection churn rate, and can result in a performance drop.
432
+
It is recommended to pick a value smaller than the maximum lifetime exposed by the surrounding system infrastructure (such as operating system, router, load balancer, proxy and firewall).
433
+
Negative values result in lifetime not being checked.
The maximum amount of time in secondsfootnote:[Other drivers may use milliseconds instead of seconds for this configuration.] that a managed transaction will retry for before failing.
447
+
Queries that are executed within a managed transaction gain the benefit of being retried when a transient error occurs.
448
+
When this happens the transaction is retired multiple times up to the `MaxTransactionRetryTime`.
449
+
+
450
+
Configure this option higher in high latency environments or if you are executing many large transactions which could limit the number of times that they are retired and therefore their chance to succeed.
451
+
Configure lower in low latency environments and where your workload mainly consists of many smaller transactions.
452
+
Failing transactions faster may highlight the reasons behind the transient errors making it easier to fix underlying issues.
0 commit comments