Connection Pool Maintenance Warning due to Max Idle Server Timeout

Overview

The ScaleArc alert notifications tab may from time to time indicate a connection pool maintenance warning stating that ScaleArc is closing a connection from the pool due to Max idle server timeout. This article provides information on what causes this alert.

 

Diagnosis

The Following alert is observed in the ScaleArc Event logs:

2017-06-21 02:00:01 CID: 21, Message: Pool Maintenance Warning: Closing connection from pool due to Max idle server timeout. (Srv:'10.0.62.5:3306,LPrt:29165', Timeout:300, srvfd:32), DB:mysql, User:root, Type: 41 

Further details on the error can be obtained by running the idblog_collector script and looking out for similar messages in the debug logs like the ones shown below:

2020-10-01 16:11:30 CID: 9, Message: TIMEOUT: Client connection has been idle for 1200s. Configured client idle timeout:1200.
debuginfo(ssid:974453, State:'state_less', CurrentThread:'-qry-resp-q-thread-', handover_to:'-client-epoll-thread-'), Type: 41
2020-10-01 16:13:15 CID: 9, Message: Pool Maintenance Warning:Closing connection from pool due to Max idle server timeout.
(Srv:'10.96.128.112:1198,LPrt:46115', Timeout:300, srvfd:59), DB:giw_proc, Type: 41

 

Information

The above alerts are expected connection timeout events and can be safely ignored.

Client connection has been idle for 1200s  event occurs when a client connection (from the application to ScaleArc) is idle beyond the configured client idle timeout.

Idle_client_connection_time.png

Note:  Idle timeout only occurs when the client is authenticated to ScaleArc but not running any query. As long as the client connection is running a query, ScaleArc is waiting for the database server or cache for a response and therefore the connection is not considered idle. Idle timeout does not, therefore, apply for long-running queries. A connection is considered idle only when no query is being executed by the client for a long time beyond the value set in the Idle Client Connection Time parameter.

Max idle server timeout occurs when a server connection (from ScaleArc to the database server) is idle beyond the configured server idle timeout. If your application uses a connection pool, this is transparently handled and can be safely ignored. ScaleArc opens as many server connections as the max_connections parameter allows depending on the traffic volume. It is normal that some of the connections might go idle when traffic goes down and it is these idle connections that are closed.

This alert signifies that ScaleArc is closing a connection to the database server from its connection pool as no queries have come on the connection for the last 300 seconds (default) which is configured as Idle Server Connection Time.

Idle_server_connection_time.png

ScaleArc closes the connection to the database server and puts the connection back into the connection pool which can be used to serve a new incoming connection.

 

Back to top

 

 

 

Comments

0 comments

Please sign in to leave a comment.