我们最近发生了一次中断事件,其中应用程序线程在从c3p0检索连接时卡住了.配置集如下:
使用的c3p0版本:0.9.1.2
在正常情况下,一切正常,c3p0一直很好.但是,在最近的网络事件(网络分区 - 应用程序主机无法与数据库通信)中,我们看到应用程序无限期地试图从c3p0获取连接.
在日志中看到的Stacktrace:
Caused by: java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:527)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
at amazon.identity.connection.WrappedDataSource.getConnectionWithOptionalCredentials(WrappedDataSource.java:42)
at amazon.identity.connection.LoggingDataSource.getConnectionWithOptionalCredentials(LoggingDataSource.java:55)
at amazon.identity.connection.WrappedDataSource.getConnection(WrappedDataSource.java:30)
at amazon.identity.connection.WrappedDataSource.getConnectionWithOptionalCredentials(WrappedDataSource.java:42)
at amazon.identity.connection.ConnectionProfilingDataSource.profileGetConnectionWithOptionalCredentials(ConnectionProfilingDataSource.java:118)
at amazon.identity.connection.ConnectionProfilingDataSource.getConnectionWithOptionalCredentials(ConnectionProfilingDataSource.java:99)
at amazon.identity.connection.WrappedDataSource.getConnection(WrappedDataSource.java:30)
at amazon.identity.connection.CallCountTrackingDataSource.getConnectionWithOptionalCredentials(CallCountTrackingDataSource.java:82)
at amazon.identity.connection.WrappedDataSource.getConnection(WrappedDataSource.java:30)
at com.amazon.jdbc.FailoverDataSource.doGetConnection(FailoverDataSource.java:133)
at com.amazon.jdbc.FailoverDataSource.getConnection(FailoverDataSource.java:109)
at com.amazon.identity.accessmanager.WrappedConnection$1.call(WrappedConnection.java:84)
at …Run Code Online (Sandbox Code Playgroud) c3p0 ×1