The keyspace setup step for a newly opened connection has no timeout.
Code permalink:
|
// TODO: There should be a timeout for this |
If the server accepts the connection but never replies to the keyspace setup request, the future can remain in the ready-connection set indefinitely. While the pool thinks filling is still in progress, it can stop scheduling further refills, including leaving an empty pool stuck initializing.
Suggested direction: apply a setup timeout to the keyspace request and treat timeout as a connection setup failure.
The keyspace setup step for a newly opened connection has no timeout.
Code permalink:
scylla-rust-driver/scylla/src/network/connection_pool.rs
Line 1228 in e04a12a
If the server accepts the connection but never replies to the keyspace setup request, the future can remain in the ready-connection set indefinitely. While the pool thinks filling is still in progress, it can stop scheduling further refills, including leaving an empty pool stuck initializing.
Suggested direction: apply a setup timeout to the keyspace request and treat timeout as a connection setup failure.