В логах постоянно появляются такие ошибки:
Код:
bg1 log # cat scheduler.error.log | grep -A 20 "Lock wait timeout exceeded"
scheduler 02-22/16:14:45 ERROR [pool-2-thread-2] Calculator - Lock wait timeout exceeded; try restarting transaction
java.sql.BatchUpdateException: Lock wait timeout exceeded; try restarting transaction
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1269)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:955)
at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
at ru.bitel.bgbilling.modules.npay.server.Calculator.executeTask(Calculator.java:366)
at ru.bitel.bgbilling.kernel.task.server.TaskBase.run(TaskBase.java:60)
at ru.bitel.bgbilling.kernel.task.server.TaskBase.startTask(TaskBase.java:96)
at bitel.billing.server.npay.Recalculator.executeTask(Recalculator.java:57)
at bitel.billing.server.task.bean.RunTask.run(RunTask.java:41)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
scheduler 02-22/16:14:46 ERROR [pool-2-thread-2] MaxCalculator - No max traffics defined!
scheduler 02-22/16:14:47 ERROR [pool-2-thread-9] MaxCalculator - No max traffics defined!
scheduler 02-22/16:17:22 ERROR [pool-2-thread-6] MaxCalculator - No max traffics defined!
scheduler 02-22/16:17:22 ERROR [pool-2-thread-6] MaxCalculator - No max traffics defined!
scheduler 02-22/16:17:22 ERROR [pool-2-thread-6] MaxCalculator - No max traffics defined!
scheduler 02-22/16:17:23 ERROR [pool-2-thread-9] MaxCalculator - No max traffics defined!
scheduler 02-22/16:28:57 ERROR [pool-2-thread-8] Calculator - Tariff not found contract id => 192035; date => 31.01.2012
scheduler 02-22/16:28:57 ERROR [pool-2-thread-8] Calculator - Tariff not found contract id => 192035; date => 31.01.2012
scheduler 02-22/16:28:57 ERROR [pool-2-thread-8] Calculator - Tariff not found contract id => 192035; date => 31.01.2012
--
scheduler 02-27/10:18:46 ERROR [pool-3-thread-4] BalanceSetter - Lock wait timeout exceeded; try restarting transaction
java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1604)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1519)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1504)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
at bitel.billing.server.contract.bean.BalanceUtils.setAccount(BalanceUtils.java:951)
at bitel.billing.server.voiceip.BalanceSetter.executeTask(BalanceSetter.java:147)
at ru.bitel.bgbilling.kernel.task.server.TaskBase.run(TaskBase.java:60)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
scheduler 02-27/10:21:09 ERROR [pool-3-thread-5] Calculator - Tariff error contractId: 143485; serviceId: 181
scheduler 02-27/10:32:11 ERROR [pool-3-thread-6] DispatchWorker -
java.lang.reflect.UndeclaredThrowableException
at $Proxy22.send(Unknown Source)
--
scheduler 02-28/11:18:51 ERROR [pool-3-thread-8] BalanceSetter - Lock wait timeout exceeded; try restarting transaction
java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1604)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1519)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1504)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
at bitel.billing.server.contract.bean.BalanceUtils.setAccount(BalanceUtils.java:951)
at bitel.billing.server.voiceip.BalanceSetter.executeTask(BalanceSetter.java:147)
at ru.bitel.bgbilling.kernel.task.server.TaskBase.run(TaskBase.java:60)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Но ещё больше таких ошибок - в журнале ошибок для модуля Npay:
Код:
Lock wait timeout exceeded; try restarting transaction
Возникла непредвиденная ошибка при переобсчете следующих договоров: 179541
Обсчитываемые услуги: 276,287,286,258,27,26,29,28,31,30,42,43,40,46,47,44,45,51,50,49,48,55,54,294,53,52,295,296,59,58,298,57,299,56,63,62,61,60,68,69,70,71,74,75,85,87,81,93,92,95,94,89,88,91,90,100,98,99,96,97,110,111,108,109,106,107,119,118,117,116,115,114,113,112,127,122,137,136,129,128,131,130,133,132,134,154,155,156,157,158,159,146,147,148,149,150,151,171,170,168,175,174,172,163,160,165,164,186,187,190,188,178,176,177,182,181,232,228,226,224,240
java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1467)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at bitel.billing.server.contract.bean.BalanceUtils.setAccount(BalanceUtils.java:1059)
at ru.bitel.bgbilling.modules.npay.server.Calculator.executeTask(Calculator.java:373)
at ru.bitel.bgbilling.kernel.task.server.TaskBase.run(TaskBase.java:60)
at ru.bitel.bgbilling.kernel.task.server.TaskBase.startTask(TaskBase.java:96)
at bitel.billing.server.npay.Recalculator.executeTask(Recalculator.java:57)
at bitel.billing.server.task.bean.RunTask.run(RunTask.java:41)
at bitel.billing.server.npay.Module.unlockDebetStatus(Module.java:169)
at bitel.billing.server.npay.Module.access$0(Module.java:134)
at bitel.billing.server.npay.Module$2.notify(Module.java:107)
at bitel.billing.server.npay.Module$2.notify(Module.java:1)
at ru.bitel.bgbilling.kernel.event.AbstractConsumer.notify(AbstractConsumer.java:275)
at ru.bitel.bgbilling.kernel.event.Consumer.notify(Consumer.java:1)
at ru.bitel.bgbilling.kernel.event.Consumer.onMessage0(Consumer.java:112)
at ru.bitel.bgbilling.kernel.event.Consumer$EventListenerRunnable.runImpl(Consumer.java:51)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
Может быть в калькуляторе абонплат слишком большой кусок кода без commit-ов?