Compose Proxy Timeouts

Compose Deployments often use proxies, such as HAproxy, to provide a more secure way of accessing the databases within the deployment. As such they manage the life cycle of connections between the server and client. We detail them here as a reference for driver writers and others who have an interest in the low-level activity of Compose database connections.

MongoDB and PostgreSQL

SettingMongoDBPostgreSQLApplies
client5m1dWhen the client is expect to acknowledge or send data.
connect4s4sWhen a connection is being made between the proxy and the server.
server5m30mWhen the server is expected to acknowledge or send data.
tunnel1d1dWhen a bidirectional connection is established between a client and a server, and the connection remains inactive in both directions.
client-fin1h5mWhen the client is expected to acknowledge or send data while one direction is already shut down.
check5s5sAs a secondary timeout check when a connection is being made between the proxy and the server.

Redis and MySQL

SettingRedisMySQLApplies
client5m1dWhen the client is expect to acknowledge or send data.
connect4s4sWhen a connection is being made between the proxy and the server.
server5m30mWhen the server is expected to acknowledge or send data.
tunnel1d1dWhen a bidirectional connection is established between a client and a server, and the connection remains inactive in both directions.
client-fin1h5mWhen the client is expected to acknowledge or send data while one direction is already shut down.
check5s5sAs a secondary timeout check when a connection is being made between the proxy and the server.

RethinkDB and Scylla

SettingRethinkDBScyllaApplies
client5m5mWhen the client is expect to acknowledge or send data.
connect4s4sWhen a connection is being made between the proxy and the server.
server5m5mWhen the server is expected to acknowledge or send data.
tunnel1d1dWhen a bidirectional connection is established between a client and a server, and the connection remains inactive in both directions.
client-fin1h1hWhen the client is expected to acknowledge or send data while one direction is already shut down.
check5s5sAs a secondary timeout check when a connection is being made between the proxy and the server.

RabbitMQ and etcd

SettingRabbitMQetcdApplies
client3h1dWhen the client is expect to acknowledge or send data.
connect10s1mWhen a connection is being made between the proxy and the server.
server3h1dWhen the server is expected to acknowledge or send data.
tunnel1dWhen a bidirectional connection is established between a client and a server, and the connection remains inactive in both directions.
client-fin1hWhen the client is expected to acknowledge or send data while one direction is already shut down.
check5s1mAs a secondary timeout check when a connection is being made between the proxy and the server.

Elasticsearch

SettingElasticsearchApplies
client1mWhen the client is expect to acknowledge or send data.
connect9sWhen a connection is being made between the proxy and the server.
server2mWhen the server is expected to acknowledge or send data.
tunnelWhen a bidirectional connection is established between a client and a server, and the connection remains inactive in both directions.
client-finWhen the client is expected to acknowledge or send data while one direction is already shut down.
check5sAs a secondary timeout check when a connection is being made between the proxy and the server.
http-request5sThe maximum allowed time to wait for a complete HTTP request

Still Need Help?

If this article didn't solve things, summon a human and get some help!