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.
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
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.
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.
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.