forum.bitel.ru http://forum.bitel.ru/ |
|
Ошибка работы скрипта http://forum.bitel.ru/viewtopic.php?f=22&t=2851 |
Страница 1 из 2 |
Автор: | SVK [ 08 сен 2009, 17:07 ] |
Заголовок сообщения: | Ошибка работы скрипта |
После последнего обновления наблюдаем ошибки в работе скрипта. По приходу платежа скрипт должен проверять достаточность суммы, и при положительном условии переводить договор из состояния "приостановлен" в "активен" Ошибки: Код: ID события: bgbs.contract.script.error Время регистрации события: 08.09.2009 16:11:20 Contract 666-06 GENERATE_TIME: 08.09.09 16:01:20 EXECUTION_STOP_TIME: 08.09.09 16:11:20 PROCESS_TIME: 600001 OUT: Возобновляем договор ERROR: EXCEPTIONS: The script execution took more than 600 seconds and was interrupted! java.util.concurrent.ExecutionException: The script execution took more than 600 seconds and was interrupted! at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:373) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:227) at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:140) Caused by: java.util.concurrent.TimeoutException at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:228) at java.util.concurrent.FutureTask.get(FutureTask.java:91) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:359) ... 3 more WARNINGS: Код: Contract 666-06 GENERATE_TIME: 08.09.09 16:01:20 EXECUTION_STOP_TIME: 08.09.09 16:11:20 PROCESS_TIME: 600001 OUT: Возобновляем договор ERROR: EXCEPTIONS: The script execution took more than 600 seconds and was interrupted! java.util.concurrent.ExecutionException: The script execution took more than 600 seconds and was interrupted! at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:373) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:227) at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:140) Caused by: java.util.concurrent.TimeoutException at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:228) at java.util.concurrent.FutureTask.get(FutureTask.java:91) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:359) ... 3 more WARNINGS: Средства на счет зачисляются всегда, а статус переводится в "активный" не всегда. |
Автор: | Amir [ 08 сен 2009, 18:02 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
Можете выложить скрипт? Там бесконечного цикла нет? Похоже что скрипт работает 10 минут, а потом биллинг его прерывает... |
Автор: | SVK [ 08 сен 2009, 18:09 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
Код: import java.sql.*;
import java.util.*; import java.math.*; import bitel.billing.server.contract.bean.*; import bitel.billing.server.script.event.*; import bitel.billing.server.util.*; import bitel.billing.common.*; cid = event.getContractID(); start_date = event.getGenerateTime().clone(); day_now = TimeUtils.format(start_date, "dd"); STATUS_ACTIV = 0; STATUS_STOPPED = 4; int[] ABONKA = new int[300]; // 256 ABONKA[48] = 450; // 512 ABONKA[52] = 650; // 1024 ABONKA[53] = 850; statusManager = new ContractStatusManager(con); stat = statusManager.getStatus(cid,start_date); if(stat == null) { return; } else { tek_stat = stat.getStatus(); } contractManager = new ContractManager(con); contract = contractManager.getContractByID(cid); long groups = contract.getGroups(); if(tek_stat == STATUS_STOPPED && groups != 64 && groups != 16 && groups != 512 && groups != 256) { balanceUtils = new BalanceUtils(con); tmp_balance = balanceUtils.getBalance(new Date(), cid); tek_balance = tmp_balance.toString(); tek_limit = contract.getBalanceLimit(); tariffManager = new ContractTariffManager(con); tek_tariff = tariffManager.getContractTariff(cid,start_date).getTariffPlanID(); AP_day = ABONKA[tek_tariff] / 31; AP_day_now = 31 - Integer.parseInt(day_now); AP_potr = AP_day * AP_day_now; AP_balance = Float.parseFloat(tek_balance) - AP_potr; if(AP_balance > tek_limit) { cstat = new ContractStatus(); statusManager = new ContractStatusManager(con); cstat.setStatus(STATUS_ACTIV); cstat.setContractId(cid); cstat.setDate1(start_date); cstat.setComment("поступление платежа"); print("Возобновляем договор"); statusManager.changeStatus(cstat, cid, true); } } |
Автор: | Amir [ 08 сен 2009, 18:35 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
Цитата: Код: statusManager.changeStatus(cstat, cid, true); true означает что в здесь же обрабатывается событие на изменение статуса. Проверил на простых скриптах - обработка события из обработки события отрабатывает нормально... У вас там висит скрипт на Изменение статуса договора? |
Автор: | SVK [ 08 сен 2009, 18:41 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
нет, только таймер и приход платежа. На изменение статуса нет ничего. |
Автор: | Amir [ 08 сен 2009, 19:25 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
Пока не понятно отчего такое... Выложили обновление ядра в котором в этой ошибке будет выводится информация что именно поток, которого не дождались делает. |
Автор: | SVK [ 09 сен 2009, 09:11 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
Обновился, ждем прихода платежа. |
Автор: | SVK [ 09 сен 2009, 09:54 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
пока платеж не прошел, смотрю что делает скрипт. а делает он интересные вещи (см. capture.png). Вложение: С 1 по 7 сентября договора был приостановлен, 8-го числа клиент через страницу статистики активирует карточку на сумму 100 р. (по балансу договора как раз не хватает что то около до 100 р., см. capture1.png), скрипт, похоже, переводит статус договора на "активный", но записи в клиенте о том что с 8 сентября статус сменен так и нет. Вложение: Capture1.PNG [ 7.3 КБ | Просмотров: 8662 ] До этого тоже были платежи, через ОСМП, карточки, интерфейс дилера - в истории записи о смене статуса на активный есть, хотя ошибки с таймаутом тоже приходили на эти договора. Интересно, почему при смене статусов в истории отображается "???", в 4.5 было как "сервер" (см. capture2.png)? Вложение:
|
Автор: | SVK [ 10 сен 2009, 08:32 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
После вчерашнего обновления ни одной ошибки связанной с отработкой скрипта. Платежей было достаточное количество, да мы и сами пытались на тестовых договорах вызвать ошибку работы скрипта - не получилось )) Подождем еще. Вопрос про смену статусов в истории, где отображается "???", см. предыдущие посты, остается открытым. |
Автор: | Администратор [ 11 сен 2009, 12:40 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
Цитата: Вопрос про смену статусов в истории, где отображается "???", см. предыдущие посты, остается открытым. Так отображает пользователя с кодом 8875 которого уже нет в таблице user. А в contract_status таблице такие же данные? |
Автор: | SVK [ 11 сен 2009, 14:24 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
Так 8975 это не пользователь, это id договора в котором меняется статус. Вложение:
|
Автор: | skn [ 11 сен 2009, 14:35 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
в этом столбце отображаются пользователи биллинга, а не договора... changeStatus( ContractStatus newStatus, Integer userId, boolean processEvent ) второй параметр userId, а не contractId Код: statusManager.changeStatus(cstat, cid, true); замени на Код: statusManager.changeStatus(cstat, -1, true);
|
Автор: | SVK [ 11 сен 2009, 14:53 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
спасибо |
Автор: | SVK [ 11 сен 2009, 15:37 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
А тем делом вылезла ошибка Код: Contract XXXX-09 GENERATE_TIME: 11.09.09 15:10:01 EXECUTION_STOP_TIME: 11.09.09 15:20:01 PROCESS_TIME: 600046 OUT: Возобновляем договор ERROR: EXCEPTIONS: The script execution took more than 600 seconds and was interrupted! java.util.concurrent.ExecutionException: The script execution took more than 600 seconds and was interrupted! at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:375) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:227) at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:140) Caused by: java.util.concurrent.TimeoutException at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2452) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2906) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2895) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3438) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1422) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at org.apache.commons.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:332) at org.apache.commons.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312) at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:991) at ru.bitel.bgbilling.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:201) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:186) at bitel.billing.server.contract.bean.ContractStatusManager.changeStatus(ContractStatusManager.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at bsh.Reflect.invokeMethod(Unknown Source) at bsh.Reflect.invokeObjectMethod(Unknown Source) at bsh.Name.invokeMethod(Unknown Source) at bsh.BSHMethodInvocation.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:310) at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:69) at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:219) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:349) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) 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:619) WARNINGS: и еще Код: ID события: bgbs.contract.script.error
Время регистрации события: 11.09.2009 15:20:02 Contract XXXX-09 GENERATE_TIME: 11.09.09 15:10:01 EXECUTION_STOP_TIME: 11.09.09 15:20:01 PROCESS_TIME: 600046 OUT: Возобновляем договор ERROR: EXCEPTIONS: The script execution took more than 600 seconds and was interrupted! java.util.concurrent.ExecutionException: The script execution took more than 600 seconds and was interrupted! at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:375) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:227) at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:140) Caused by: java.util.concurrent.TimeoutException at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2452) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2906) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2895) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3438) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1422) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at org.apache.commons.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:332) at org.apache.commons.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312) at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:991) at ru.bitel.bgbilling.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:201) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:186) at bitel.billing.server.contract.bean.ContractStatusManager.changeStatus(ContractStatusManager.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at bsh.Reflect.invokeMethod(Unknown Source) at bsh.Reflect.invokeObjectMethod(Unknown Source) at bsh.Name.invokeMethod(Unknown Source) at bsh.BSHMethodInvocation.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:310) at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:69) at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:219) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:349) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) 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:619) WARNINGS: |
Автор: | skn [ 11 сен 2009, 15:48 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
похоже проблема с mysql, долго запрос выполняется... включите логирование медленных запросов, посмотрите, что в лог попадет |
Автор: | SVK [ 11 сен 2009, 15:51 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
4.5 быстро отрабатывала... |
Автор: | SVK [ 11 сен 2009, 15:53 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
не может быть, чтоб 10 минут до sql не достучаться... |
Автор: | skn [ 11 сен 2009, 16:34 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
будем гадать или проверим? Код: Caused by: java.util.concurrent.TimeoutException at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2452) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2906) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2895) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3438) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548) последняя строка выполнить запрос, первая строка timeout.... |
Автор: | SVK [ 11 сен 2009, 16:44 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
проверим |
Автор: | Amir [ 12 сен 2009, 18:02 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
Ошибок несколько и всегда одинаковые? Код: Caused by: java.util.concurrent.TimeoutException at java.net.SocketInputStream.socketRead0(Native Method) ... at org.apache.commons.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:332) ... at ru.bitel.bgbilling.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:201) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:186) at bitel.billing.server.contract.bean.ContractStatusManager.changeStatus(ContractStatusManager.java:402) ... В mysql не стоит ограничение на небольшое количество потоков? Или может быть все потоки mysql заняты? |
Автор: | SVK [ 14 сен 2009, 08:45 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
Код: ID события: bgbs.contract.script.error Время регистрации события: 11.09.2009 22:25:34 Contract XXX1-08 GENERATE_TIME: 11.09.09 22:15:33 EXECUTION_STOP_TIME: 11.09.09 22:25:34 PROCESS_TIME: 600002 OUT: Возобновляем договор ERROR: EXCEPTIONS: The script execution took more than 600 seconds and was interrupted! java.util.concurrent.ExecutionException: The script execution took more than 600 seconds and was interrupted! at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:375) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:227) at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:140) Caused by: java.util.concurrent.TimeoutException at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2452) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2906) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2895) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3438) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1422) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at org.apache.commons.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:332) at org.apache.commons.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312) at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:991) at ru.bitel.bgbilling.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:201) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:186) at bitel.billing.server.contract.bean.ContractStatusManager.changeStatus(ContractStatusManager.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at bsh.Reflect.invokeMethod(Unknown Source) at bsh.Reflect.invokeObjectMethod(Unknown Source) at bsh.Name.invokeMethod(Unknown Source) at bsh.BSHMethodInvocation.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:310) at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:69) at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:219) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:349) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) 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:619) WARNINGS: другой Код: ID события: bgbs.contract.script.error Время регистрации события: 11.09.2009 21:03:55 Contract XXX2-09 GENERATE_TIME: 11.09.09 20:53:54 EXECUTION_STOP_TIME: 11.09.09 21:03:55 PROCESS_TIME: 600002 OUT: Возобновляем договор ERROR: EXCEPTIONS: The script execution took more than 600 seconds and was interrupted! java.util.concurrent.ExecutionException: The script execution took more than 600 seconds and was interrupted! at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:375) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:227) at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:140) Caused by: java.util.concurrent.TimeoutException at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2452) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2906) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2895) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3438) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1422) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at org.apache.commons.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:332) at org.apache.commons.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312) at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:991) at ru.bitel.bgbilling.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:201) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:186) at bitel.billing.server.contract.bean.ContractStatusManager.changeStatus(ContractStatusManager.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at bsh.Reflect.invokeMethod(Unknown Source) at bsh.Reflect.invokeObjectMethod(Unknown Source) at bsh.Name.invokeMethod(Unknown Source) at bsh.BSHMethodInvocation.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:310) at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:69) at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:219) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:349) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) 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:619) WARNINGS: и с 11 числа по 14 больше не было ошибок, хотя нагрузки были выше, чем в указанное время. |
Автор: | SVK [ 14 сен 2009, 10:29 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
попробуем в my.cnf увеличить Код: max_connections=1000 до Код: max_connections=1500
|
Автор: | Amir [ 14 сен 2009, 13:23 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
А больше нигде не повисает? Так бы предположил что фаерволл прерывает соединение из пула или связь теряется. А какие настройки пула mysql в data.properties? По исключению - он встает на попытке проверить соединение, т.е. при попытке отправить запрос SELECT 1. |
Автор: | SVK [ 14 сен 2009, 14:05 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
фаервола нет. больше нигде не повисает, причем скрипт то в итоге отрабатывает корректно, т.е. договор возобновляет. Код: db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://ip/bgbilling?useUnicode=true&characterEncoding=Cp1251&allowUrlInLocalInfile=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&elideSetAutoCommits=true&cachePrepStmts=true&useCursorFetch=true db.user=user db.pswd=password db.maxIdle=20 db.maxActive=300 |
Автор: | Amir [ 14 сен 2009, 14:14 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
Да, после того как 10 минут пытается обработать событие ContractStatusChangingEvent в changeStatus... А потом продолжает дальше выполнять. |
Автор: | SVK [ 14 сен 2009, 14:16 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
что посоветуете? db.maxActive увеличить? |
Автор: | Amir [ 14 сен 2009, 14:45 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
Вряд ли поможет, т.к. наоборот похоже проблема с соединением, которое idle. Выложили обновление ядра. Если ошибка повторится и хоть как-нибудь будет различаться - выложите... Если повторится, добавьте параметр в data.properties и перезапустите. Код: db.validationTimeout=5 Это в секундах время ожидания - если действительно проблема в том, что idle соединение прервано, то при попытке взять соединение из пула он должен 5 секунд ждать, потом отбросить это как не валидное и взять новое, т.е. отработать корректно. |
Автор: | SVK [ 14 сен 2009, 15:08 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
Спасибо. Ошибка появится, обязательно оповещу. |
Автор: | SVK [ 15 сен 2009, 08:23 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
Ошибка повторилась, выставил значение db.validationTimeout=5, перезапустил. Будем посмотреть. Первый договор, активировали две карточки, одна ошибка: Код: ID события: bgbs.contract.script.error Время регистрации события: 14.09.2009 19:05:20 Contract 1 GENERATE_TIME: 14.09.09 18:55:19 EXECUTION_STOP_TIME: 14.09.09 19:05:20 PROCESS_TIME: 600031 OUT: Возобновляем договор ERROR: EXCEPTIONS: The script execution took more than 600 seconds and was interrupted! java.util.concurrent.ExecutionException: The script execution took more than 600 seconds and was interrupted! at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:375) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:227) at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:140) Caused by: java.util.concurrent.TimeoutException at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2452) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2906) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2895) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3438) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1422) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at org.apache.commons.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:332) at org.apache.commons.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312) at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:991) at ru.bitel.bgbilling.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:254) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:186) at bitel.billing.server.contract.bean.ContractStatusManager.changeStatus(ContractStatusManager.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at bsh.Reflect.invokeMethod(Unknown Source) at bsh.Reflect.invokeObjectMethod(Unknown Source) at bsh.Name.invokeMethod(Unknown Source) at bsh.BSHMethodInvocation.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:310) at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:69) at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:219) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:349) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) 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:619) WARNINGS: Второй договор, один платеж через ОСМП: Код: ID события: bgbs.contract.script.error Время регистрации события: 14.09.2009 20:27:17 Contract 2 GENERATE_TIME: 14.09.09 20:17:16 EXECUTION_STOP_TIME: 14.09.09 20:27:17 PROCESS_TIME: 600002 OUT: Возобновляем договор ERROR: EXCEPTIONS: The script execution took more than 600 seconds and was interrupted! java.util.concurrent.ExecutionException: The script execution took more than 600 seconds and was interrupted! at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:375) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:227) at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:140) Caused by: java.util.concurrent.TimeoutException at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2452) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2906) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2895) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3438) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1422) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at org.apache.commons.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:332) at org.apache.commons.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312) at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:991) at ru.bitel.bgbilling.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:254) at bitel.billing.server.ServerEventProcessor.processEvent(ServerEventProcessor.java:45) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:203) at bitel.billing.server.contract.bean.ContractStatusManager.changeStatus(ContractStatusManager.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at bsh.Reflect.invokeMethod(Unknown Source) at bsh.Reflect.invokeObjectMethod(Unknown Source) at bsh.Name.invokeMethod(Unknown Source) at bsh.BSHMethodInvocation.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:310) at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:69) at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:219) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:349) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) 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:619) WARNINGS: Третий договор, активировали две карточки, две ошибки: Код: ID события: bgbs.contract.script.error Время регистрации события: 14.09.2009 23:21:17 Contract 3 GENERATE_TIME: 14.09.09 23:11:16 EXECUTION_STOP_TIME: 14.09.09 23:21:17 PROCESS_TIME: 600002 OUT: Возобновляем договор ERROR: EXCEPTIONS: The script execution took more than 600 seconds and was interrupted! java.util.concurrent.ExecutionException: The script execution took more than 600 seconds and was interrupted! at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:375) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:227) at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:140) Caused by: java.util.concurrent.TimeoutException at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2452) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2906) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2895) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3438) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1422) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at org.apache.commons.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:332) at org.apache.commons.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312) at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:991) at ru.bitel.bgbilling.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:254) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:186) at bitel.billing.server.contract.bean.ContractStatusManager.changeStatus(ContractStatusManager.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at bsh.Reflect.invokeMethod(Unknown Source) at bsh.Reflect.invokeObjectMethod(Unknown Source) at bsh.Name.invokeMethod(Unknown Source) at bsh.BSHMethodInvocation.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:310) at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:69) at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:219) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:349) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) 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:619) WARNINGS: Код: ID события: bgbs.contract.script.error
Время регистрации события: 14.09.2009 23:24:04 Contract 3 GENERATE_TIME: 14.09.09 23:14:04 EXECUTION_STOP_TIME: 14.09.09 23:24:04 PROCESS_TIME: 600013 OUT: ERROR: EXCEPTIONS: The script execution took more than 600 seconds and was interrupted! java.util.concurrent.ExecutionException: The script execution took more than 600 seconds and was interrupted! at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:375) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:227) at bitel.billing.server.contract.action.ActionUpdateContractPayment.doAction(ActionUpdateContractPayment.java:181) at bitel.billing.server.Executer.doModule(Executer.java:764) at bitel.billing.server.Executer.doPost(Executer.java:212) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) Caused by: java.util.concurrent.TimeoutException at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:69) at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:219) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:349) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) ... 1 more WARNINGS: |
Автор: | SVK [ 16 сен 2009, 08:14 ] |
Заголовок сообщения: | Re: Ошибка работы скрипта |
после db.validationTimeout=5 проскочила одна ошибка: Код: ID события: bgbs.contract.script.error
Время регистрации события: 15.09.2009 17:28:28 Contract XXXX-XX GENERATE_TIME: 15.09.09 17:18:26 EXECUTION_STOP_TIME: 15.09.09 17:28:27 PROCESS_TIME: 600002 OUT: Возобновляем договор ERROR: EXCEPTIONS: The script execution took more than 600 seconds and was interrupted! java.util.concurrent.ExecutionException: The script execution took more than 600 seconds and was interrupted! at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:375) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:227) at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:140) Caused by: java.util.concurrent.TimeoutException at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2452) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2906) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2895) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3438) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1422) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at ru.bitel.bgbilling.server.util.DefaultServerSetup$1.validateConnection(DefaultServerSetup.java:165) at org.apache.commons.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312) at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:991) at ru.bitel.bgbilling.server.util.DefaultServerSetup.getDBConnectionFromPool(DefaultServerSetup.java:254) at bitel.billing.server.ServerEventProcessor.processEvent(ServerEventProcessor.java:45) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:203) at bitel.billing.server.contract.bean.ContractStatusManager.changeStatus(ContractStatusManager.java:402) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at bsh.Reflect.invokeMethod(Unknown Source) at bsh.Reflect.invokeObjectMethod(Unknown Source) at bsh.Name.invokeMethod(Unknown Source) at bsh.BSHMethodInvocation.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:310) at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:69) at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:219) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:349) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) 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:619) WARNINGS: |
Страница 1 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |