Hi team,
We are experiencing SQL DB error in ACS 4.15.2, it started happening suddenly
without any change, the database MariaDB is working well. Have you seen the
error below? any suggestion on changing a parameter in db.properties, like
timeout, active pool or wait time?
java.sql.SQLException: Cannot get a connection, pool error Timeout waiting for
idle object
at
org.apache.commons.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:142)
at
com.cloud.utils.db.TransactionLegacy.getStandaloneConnectionWithException(TransactionLegacy.java:211)
at
com.cloud.utils.db.TransactionLegacy.getStandaloneConnection(TransactionLegacy.java:220)
at com.cloud.utils.db.DbUtil.getConnectionForGlobalLocks(DbUtil.java:61)
at com.cloud.utils.db.DbUtil.getGlobalLock(DbUtil.java:199)
at com.cloud.utils.db.GlobalLock.lock(GlobalLock.java:154)
at
com.cloud.storage.snapshot.SnapshotSchedulerImpl.poll(SnapshotSchedulerImpl.java:147)
at
com.cloud.storage.snapshot.SnapshotSchedulerImpl$1.runInContext(SnapshotSchedulerImpl.java:480)
at
org.apache.cloudstack.managed.context.ManagedContextTimerTask$1.runInContext(ManagedContextTimerTask.java:30)
at
org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:48)
at
org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:55)
at
org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:102)
at
org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:52)
at
org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:45)
at
org.apache.cloudstack.managed.context.ManagedContextTimerTask.run(ManagedContextTimerTask.java:32)
at java.base/java.util.TimerThread.mainLoop(Timer.java:556)
at java.base/java.util.TimerThread.run(Timer.java:506)
"management-server.log" 323700L, 43977309C
104517,49 32%
at java.base/java.util.TimerThread.mainLoop(Timer.java:556)
at java.base/java.util.TimerThread.run(Timer.java:506)
Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
at
org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:446)
at
org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:356)
at
org.apache.commons.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:134)