BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 21 июн 2025, 03:35

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 82 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Lock wait timeout в логах
СообщениеДобавлено: 05 дек 2012, 18:21 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Собирались плавно переводить абонентов с DialUp на Inet, но получилось так, что все абоненты разом перескочили на новый модуль и начали авторизовываться. По прошествии некоторого времени в логах Access и Accounting сервером наблюдаются следующие ошибки:
Код:
radius 12-05/16:02:04 ERROR [rdsLstnr-p-9-t-36] InetRadiusProcessor - java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
ru.bitel.bgbilling.common.BGException: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
        at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:101)
        at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authorization(InetRadiusProcessor.java:822)
        at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:527)
        at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:422)
        at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:1)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.authentication(RadiusSession.java:115)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.accessRequest(RadiusSession.java:92)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequestImpl(RadiusProcessor.java:390)
        at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:370)
        at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:1)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequest(RadiusProcessor.java:377)
        at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:58)
        at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:1)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:213)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
        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)
Caused by: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
        at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:95)
        ... 19 more

Может кто подсказать пути решения?

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 05 дек 2012, 19:01 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Сколько одновременных сессий? Ошибок таких много?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 05 дек 2012, 19:52 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Пока 4040. Появляется примерно раз в 10 минут.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 05 дек 2012, 20:01 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
В интернете рекомендуют оптимизировать свой код. :) Ну и увеличивать innodb_lock_wait_timeout. Сейчас стоит 120 сек.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 05 дек 2012, 20:02 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Выложили обновление, но не уверен, что в этом дело. Не забудьте сделать бэкап старых библиотек.
В обработчике процессора протокола ничего не делаете с базой же?

С lock wait timout на INSERT сложнее разобраться, чтобы оптимизировать :)

Увеличение innodb_lock_wait_timeout более 120 здесь не поможет.

Покажите, на всякий случай, SHOW CREATE TABLE inet_connection_$mid


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 05 дек 2012, 21:00 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Просто так обновляться нежелательно, можно сказать, что невозможно. Всё-таки рабочая система...

На всякий случай прикладываю вывод:
Код:
CREATE TABLE `inet_connection_24` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `parentId` bigint(20) NOT NULL,
  `deviceId` int(11) NOT NULL,
  `devicePort` int(11) NOT NULL,
  `agentDeviceId` int(11) NOT NULL DEFAULT '0',
  `acctSessionId` varchar(80) DEFAULT NULL,
  `username` varchar(40) DEFAULT NULL,
  `type` int(11) NOT NULL,
  `accessCode` smallint(6) NOT NULL,
  `servId` int(11) NOT NULL,
  `calledStationId` varchar(50) DEFAULT NULL,
  `callingStationId` varchar(50) DEFAULT NULL,
  `ipResourceId` int(11) NOT NULL,
  `ipAddress` varbinary(24) DEFAULT NULL,
  `connectionStart` datetime NOT NULL,
  `deviceState` smallint(6) NOT NULL DEFAULT '1',
  `deviceOptions` char(250) NOT NULL,
  `status` smallint(6) NOT NULL,
  KEY `id` (`id`),
  KEY `nas` (`deviceId`,`devicePort`),
  KEY `serv` (`servId`),
  KEY `parent` (`parentId`),
  KEY `connectionStart` (`connectionStart`),
  KEY `ipAddress` (`ipAddress`)
) ENGINE=InnoDB AUTO_INCREMENT=30607 DEFAULT CHARSET=cp1251
/*!50100 PARTITION BY HASH (deviceId)
PARTITIONS 8 */ |


_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 05 дек 2012, 21:27 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Забыл ответить: с базой никто ничего больше не делает.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 05 дек 2012, 21:41 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Полез в логи базы и сделал следующие выводы: проблема возникает с таблицей inet_session_$mid_seq, которая, по всей видимости, используется для генерирования уникальных идентификаторов сессий. Многочисленные потоки и сервера (?) добавляют и удаляют данные из этой таблицы при авторизации абонентов и, соответственно, устанавливают блокировки. Когда происходит очень много подключений в единицу времени эти блокировки "перекрываются" (с учётом таймаута) и возникает ошибка, которая, возможно, приводит к отбрасыванию соединения - это очень плохо.
Вообще, такой механизм генерирования уникальных идентификаторов сложно назвать удачным - mysql для такой операции слишком избыточен. Здесь бы следовало использовать счётчик в памяти и мютексы (ну или как там это называется). На крайний случай можно использовать NoSQL базы - всё лучше чем MySQL.

Уважаемые разработчики, поясните, пожалуйста, чем обусловлено использование такого механизма? Если я оказался не прав в своих догадках, сильно не пинайте. Буду признателен, если разработчики найдут время и подробно ответят.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 05 дек 2012, 21:54 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Ещё в Accounting сервере возникает ошибка "Соединение не найдено" - это случаем не связано с обсуждаемой проблемой?

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 05 дек 2012, 21:55 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Какая версия mysql? transaction_mode repeatable read?

Сколько сессий за сколько мс сбрасывает в среднем (SessionFlushingManager - Flushed N sessions for T ms)?

Нужно попробовать делать периодически PROCESS LIST, пока не появится как минимум два процесса, у которых длительность приближается к 120 и один из них - INSERT INTO inet_connection_<mid>... Тогда будет понятнее кто кому мешает. Пока в "синтетических" тестах повторить не получилось.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 05 дек 2012, 22:09 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
Полез в логи базы и сделал следующие выводы: проблема возникает с таблицей inet_session_$mid_seq, которая, по всей видимости, используется для генерирования уникальных идентификаторов сессий. Многочисленные потоки и сервера (?) добавляют и удаляют данные из этой таблицы при авторизации абонентов и, соответственно, устанавливают блокировки. Когда происходит очень много подключений в единицу времени эти блокировки "перекрываются" (с учётом таймаута) и возникает ошибка, которая, возможно, приводит к отбрасыванию соединения - это очень плохо.
Вообще, такой механизм генерирования уникальных идентификаторов сложно назвать удачным - mysql для такой операции слишком избыточен. Здесь бы следовало использовать счётчик в памяти и мютексы (ну или как там это называется). На крайний случай можно использовать NoSQL базы - всё лучше чем MySQL.
В InnoDB, как оказалось поле auto_increment после рестарта MySQL каждый раз инициализируется заново, как MAX(id), что не логично и не удобно, т.к. при переносе соединения в таблицу-лог в inet_connection может остаться соединение с меньшим id и после перезагрузки MySQL появится соединение с дублирующимся id. Счетчик в памяти нельзя использовать, т.к. InetAccounting-ов может быть несколько.

MySQLпредлагают такой вариант для эмулирования sequence:
Цитата:
If expr is given as an argument to LAST_INSERT_ID(), the value of the argument is returned by the function and is remembered as the next value to be returned by LAST_INSERT_ID(). This can be used to simulate sequences:

Create a table to hold the sequence counter and initialize it:

mysql> CREATE TABLE sequence (id INT NOT NULL);
mysql> INSERT INTO sequence VALUES (0);
Use the table to generate sequence numbers like this:

mysql> UPDATE sequence SET id=LAST_INSERT_ID(id+1);
mysql> SELECT LAST_INSERT_ID();
The UPDATE statement increments the sequence counter and causes the next call to LAST_INSERT_ID() to return the updated value. The SELECT statement retrieves that value. The mysql_insert_id() C API function can also be used to get the value. See Section 20.7.3.37, “mysql_insert_id()”.
Он используется сейчас в модуле MPS. Но по тестам он в транзакции блокирует до коммита (т.е. UPDATE sequence SET id=LAST_INSERT_ID(id+1) ждет пока не будет закончена другая транзакция с этой же командой), чего не делает auto_increment.
Поэтому применили измененный вариант, который по тестам в параллельных потоках отрабатывал эффективнее(конкурентнее):
Код:
INSERT INTO inet_connection_<mid>_seq (id) VALUES (NULL)
ps.executeUpdate();
final long id = ServerUtils.lastInsertId( ps );

// чтобы не копить записи в таблице генерирования id
if( id % 100 == 0L )
{
    DELETE FROM inet_connection_<mid>_seq WHERE id<?
    ps.setLong( 1, id - 500 );
    ps.executeUpdate();
}
В последнем билде поменяли 100 и 500 на 1000 и 1000.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 05 дек 2012, 22:10 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
проблема возникает с таблицей inet_session_$mid_seq
А что пишет mysql в логах про это?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 05 дек 2012, 23:50 
Не в сети

Зарегистрирован: 16 ноя 2011, 18:30
Сообщения: 115
Карма: 0
Такое решение рассматривали? http://engineering.twitter.com/2010/06/ ... flake.html

Изменение 100 и 500 на 1000 и 1000 сделает возникновение проблемы реже, но на больший срок. Получим тоже самое.
В ЧНН Inet радиусы идут в разнос, ошибки с локами начинают валиться постоянно, очереди запросов разрастаются и не успевают обрабатываться.
Нынешняя реализация неработоспособна.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 00:23 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
DELETE FROM inet_connection_<mid>_seq WHERE id<? похоже вызывает deadlock (gap, next-key etc).
Поменял в inet_connection_<mid>_seq индекс key(id) на primary key(id) проблема ушла.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 00:36 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
Такое решение рассматривали?
Пока нет, т.к. проблема выяснилась в середине версии и обычного, нормального (который не может вдруг уменьшиться или обнулиться - как баг-репорт в mysql висит с 2008 года) auto_increment'а или неблокирующего sequence'а нам бы хватило.

В данном случае "попали" на gap и next-key блокировках.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 00:38 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
После выполнения
Код:
ALTER TABLE `inet_session_<mid>_seq` ADD PRIMARY KEY (`id`), DROP INDEX `id`;
ALTER TABLE `inet_connection_<mid>_seq` ADD PRIMARY KEY (`id`), DROP INDEX `id`;
deadlock'и в "синтетическом" тесте пропали.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 01:12 
Не в сети

Зарегистрирован: 16 ноя 2011, 18:30
Сообщения: 115
Карма: 0
PRIMARY KEY не помогли. Стоило убрать pado delay с тех bba-group, которые обрабатываются модулем Inet, как сразу же посыпались таймауты в show radius statistics и в логах BGInetAccess и BGInetAccounting навалило ошибок с локами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 01:16 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Ошибки в тех же местах? InetConnectionDao.insert()?
В индексах точно остался только PRIMARY KEY?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 01:24 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Через минут 10-15 выложу обновление, в котором это удаление будет в отдельном потоке, т.е. блокировка удаления никак не должна будет влиять на обработку радиус пакетов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 01:30 
Не в сети

Зарегистрирован: 16 ноя 2011, 18:30
Сообщения: 115
Карма: 0
ошибки в аккаунтинге такие:
Код:
radius 12-05/23:07:41 ERROR [rdsLstnr-p-8-t-4] RadiusListenerWorker - Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@247501e4[Locked by thread rdsLstnr-p-8-t-21]
java.lang.RuntimeException: Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@247501e4[Locked by thread rdsLstnr-p-8-t-21]
   at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46)
   at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:97)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:469)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionIfExist(InetRadiusProcessor.java:1295)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1492)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1439)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:404)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accounting(RadiusProcessor.java:517)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accountingRequest(RadiusProcessor.java:461)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:152)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:251)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
   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)
Caused by: java.lang.RuntimeException: OwnerThread: Thread[rdsLstnr-p-8-t-21,5,main]
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionFromServ(InetRadiusProcessor.java:1925)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1553)
   ... 14 more
radius 12-05/23:07:42 ERROR [rdsLstnr-p-8-t-12] RadiusListenerWorker - Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@d082960[Locked by thread rdsLstnr-p-8-t-9]
java.lang.RuntimeException: Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@d082960[Locked by thread rdsLstnr-p-8-t-9]
   at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46)
   at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:97)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:469)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionIfExist(InetRadiusProcessor.java:1295)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1492)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1439)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:404)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accounting(RadiusProcessor.java:517)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accountingRequest(RadiusProcessor.java:461)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:152)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:251)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
   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)
Caused by: java.lang.RuntimeException: OwnerThread: Thread[rdsLstnr-p-8-t-9,5,main]
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114)
   at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161)
   at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
   at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2549)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3002)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2991)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3532)
   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
   at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
   at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:95)
   at ru.bitel.bgbilling.modules.inet.accounting.Accounting.newConnectionCallRuntime(Accounting.java:1029)
   at ru.bitel.bgbilling.modules.inet.accounting.Accounting.connectionCallStart(Accounting.java:1221)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.connectionCallStart(InetRadiusProcessor.java:1939)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionFromServ(InetRadiusProcessor.java:1898)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1553)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1439)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startWithParentProcess(InetNas.java:956)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionFromServ(InetRadiusProcessor.java:1925)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1553)
   ... 14 more
radius 12-05/23:07:50 ERROR [rdsLstnr-p-8-t-47] RadiusListenerWorker - Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@247501e4[Locked by thread rdsLstnr-p-8-t-21]
java.lang.RuntimeException: Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@247501e4[Locked by thread rdsLstnr-p-8-t-21]
   at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46)
   at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:97)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:469)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionIfExist(InetRadiusProcessor.java:1295)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1492)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1439)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:404)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accounting(RadiusProcessor.java:517)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accountingRequest(RadiusProcessor.java:461)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:152)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:251)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
   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)
Caused by: java.lang.RuntimeException: OwnerThread: Thread[rdsLstnr-p-8-t-21,5,main]
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionFromServ(InetRadiusProcessor.java:1925)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1553)
   ... 14 more
radius 12-05/23:07:51 ERROR [rdsLstnr-p-8-t-31] RadiusListenerWorker - Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@d082960[Locked by thread rdsLstnr-p-8-t-9]
java.lang.RuntimeException: Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@d082960[Locked by thread rdsLstnr-p-8-t-9]
   at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46)
   at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:97)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:469)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionIfExist(InetRadiusProcessor.java:1295)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1492)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1439)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:404)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accounting(RadiusProcessor.java:517)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accountingRequest(RadiusProcessor.java:461)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:152)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:251)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
   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)
Caused by: java.lang.RuntimeException: OwnerThread: Thread[rdsLstnr-p-8-t-9,5,main]
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114)
   at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161)
   at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
   at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2549)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3002)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2991)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3532)
   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
   at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
   at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:95)
   at ru.bitel.bgbilling.modules.inet.accounting.Accounting.newConnectionCallRuntime(Accounting.java:1029)
   at ru.bitel.bgbilling.modules.inet.accounting.Accounting.connectionCallStart(Accounting.java:1221)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.connectionCallStart(InetRadiusProcessor.java:1939)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionFromServ(InetRadiusProcessor.java:1898)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1553)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1439)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startWithParentProcess(InetNas.java:956)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionFromServ(InetRadiusProcessor.java:1925)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1553)
   ... 14 more
accounting 12-05/23:07:58 ERROR [accwrkr-1-p-14-t-3] WorkerTask - Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@d082960[Locked by thread rdsLstnr-p-8-t-9]
java.lang.RuntimeException: Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@d082960[Locked by thread rdsLstnr-p-8-t-9]
   at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46)
   at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:97)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:469)
   at ru.bitel.bgbilling.modules.inet.accounting.SessionTrackingWorker.runImpl(SessionTrackingWorker.java:112)
   at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
   at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
   at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
   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)
Caused by: java.lang.RuntimeException: OwnerThread: Thread[rdsLstnr-p-8-t-9,5,main]
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114)
   at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161)
   at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
   at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2549)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3002)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2991)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3532)
   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
   at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
   at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:95)
   at ru.bitel.bgbilling.modules.inet.accounting.Accounting.newConnectionCallRuntime(Accounting.java:1029)
   at ru.bitel.bgbilling.modules.inet.accounting.Accounting.connectionCallStart(Accounting.java:1221)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.connectionCallStart(InetRadiusProcessor.java:1939)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionFromServ(InetRadiusProcessor.java:1898)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1553)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1439)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startWithParentProcess(InetNas.java:956)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionFromServ(InetRadiusProcessor.java:1925)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1553)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1439)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:404)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accounting(RadiusProcessor.java:517)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accountingRequest(RadiusProcessor.java:461)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:152)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:251)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
   at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
   ... 4 more
accounting 12-05/23:08:20 ERROR [accwrkr-3-p-12-t-1] WorkerTask - Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@d082960[Locked by thread rdsLstnr-p-8-t-9]
java.lang.RuntimeException: Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@d082960[Locked by thread rdsLstnr-p-8-t-9]
   at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46)
   at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:97)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:469)
   at ru.bitel.bgbilling.modules.inet.accounting.SessionFinishManager.runImpl(SessionFinishManager.java:94)
   at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
   at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
   at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
   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)
Caused by: java.lang.RuntimeException: OwnerThread: Thread[rdsLstnr-p-8-t-9,5,main]
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114)
   at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161)
   at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
   at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2549)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3002)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2991)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3532)
   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
   at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
   at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:95)
   at ru.bitel.bgbilling.modules.inet.accounting.Accounting.newConnectionCallRuntime(Accounting.java:1029)
   at ru.bitel.bgbilling.modules.inet.accounting.Accounting.connectionCallStart(Accounting.java:1221)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.connectionCallStart(InetRadiusProcessor.java:1939)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionFromServ(InetRadiusProcessor.java:1898)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1553)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1439)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startWithParentProcess(InetNas.java:956)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionFromServ(InetRadiusProcessor.java:1925)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1553)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1439)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:404)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accounting(RadiusProcessor.java:517)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accountingRequest(RadiusProcessor.java:461)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:152)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:251)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
   at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
   ... 4 more
radius 12-05/23:08:23 ERROR [rdsLstnr-p-8-t-9] InetNas - java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
ru.bitel.bgbilling.common.BGException: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
   at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:101)
   at ru.bitel.bgbilling.modules.inet.accounting.Accounting.newConnectionCallRuntime(Accounting.java:1029)
   at ru.bitel.bgbilling.modules.inet.accounting.Accounting.connectionCallStart(Accounting.java:1221)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.connectionCallStart(InetRadiusProcessor.java:1939)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionFromServ(InetRadiusProcessor.java:1898)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1553)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1439)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startWithParentProcess(InetNas.java:956)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnectionFromServ(InetRadiusProcessor.java:1925)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1553)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1439)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:404)
   at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accounting(RadiusProcessor.java:517)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accountingRequest(RadiusProcessor.java:461)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:152)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:251)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
   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)
Caused by: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
   at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
   at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:95)
   ... 23 more


В InetAccess такие:
Код:
radius 12-05/23:07:51 ERROR [rdsLstnr-p-9-t-7] RadiusListenerWorker - Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@3dbdcb79[Locked by thread rdsLstnr-p-9-t-3]
java.lang.RuntimeException: Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@3dbdcb79[Locked by thread rdsLstnr-p-9-t-3]
   at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46)
   at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:97)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:469)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:524)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:422)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.authentication(RadiusSession.java:115)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.accessRequest(RadiusSession.java:92)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequestImpl(RadiusProcessor.java:390)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:370)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequest(RadiusProcessor.java:377)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:58)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:213)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
   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)
Caused by: java.lang.RuntimeException: OwnerThread: Thread[rdsLstnr-p-9-t-3,5,main]
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114)
   at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161)
   at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
   at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2549)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3002)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2991)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3532)
   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
   at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
   at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:95)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authorization(InetRadiusProcessor.java:822)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:527)
   ... 17 more
radius 12-05/23:08:07 ERROR [rdsLstnr-p-9-t-11] RadiusListenerWorker - Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@3dbdcb79[Locked by thread rdsLstnr-p-9-t-3]
java.lang.RuntimeException: Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@3dbdcb79[Locked by thread rdsLstnr-p-9-t-3]
   at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46)
   at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:97)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:469)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:524)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:422)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.authentication(RadiusSession.java:115)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.accessRequest(RadiusSession.java:92)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequestImpl(RadiusProcessor.java:390)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:370)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequest(RadiusProcessor.java:377)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:58)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:213)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
   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)
Caused by: java.lang.RuntimeException: OwnerThread: Thread[rdsLstnr-p-9-t-3,5,main]
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114)
   at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161)
   at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
   at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2549)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3002)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2991)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3532)
   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
   at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
   at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:95)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authorization(InetRadiusProcessor.java:822)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:527)
   ... 17 more
radius 12-05/23:08:11 ERROR [rdsLstnr-p-9-t-19] RadiusListenerWorker - Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@3a0f578c[Locked by thread rdsLstnr-p-9-t-17]
java.lang.RuntimeException: Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@3a0f578c[Locked by thread rdsLstnr-p-9-t-17]
   at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46)
   at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:97)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:469)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:524)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:422)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.authentication(RadiusSession.java:115)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.accessRequest(RadiusSession.java:92)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequestImpl(RadiusProcessor.java:390)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:370)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequest(RadiusProcessor.java:377)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:58)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:213)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
   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)
Caused by: java.lang.RuntimeException: OwnerThread: Thread[rdsLstnr-p-9-t-17,5,main]
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114)
   at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161)
   at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
   at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2549)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3002)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2991)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3532)
   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
   at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
   at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:95)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authorization(InetRadiusProcessor.java:822)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:527)
   ... 17 more
radius 12-05/23:08:11 ERROR [rdsLstnr-p-9-t-10] RadiusListenerWorker - Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@4bfb3772[Locked by thread rdsLstnr-p-9-t-9]
java.lang.RuntimeException: Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@4bfb3772[Locked by thread rdsLstnr-p-9-t-9]
   at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46)
   at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:97)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:469)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:524)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:422)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.authentication(RadiusSession.java:115)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.accessRequest(RadiusSession.java:92)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequestImpl(RadiusProcessor.java:390)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:370)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequest(RadiusProcessor.java:377)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:58)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:213)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
   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)
Caused by: java.lang.RuntimeException: OwnerThread: Thread[rdsLstnr-p-9-t-9,5,main]
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114)
   at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161)
   at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
   at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2549)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3002)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2991)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3532)
   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
   at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
   at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:95)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authorization(InetRadiusProcessor.java:822)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:527)
   ... 17 more
radius 12-05/23:08:17 ERROR [rdsLstnr-p-9-t-15] RadiusListenerWorker - Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@492951af[Locked by thread rdsLstnr-p-9-t-13]
java.lang.RuntimeException: Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@492951af[Locked by thread rdsLstnr-p-9-t-13]
   at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46)
   at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:97)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:469)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:524)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:422)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.authentication(RadiusSession.java:115)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.accessRequest(RadiusSession.java:92)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequestImpl(RadiusProcessor.java:390)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:370)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequest(RadiusProcessor.java:377)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:58)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:213)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
   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)
Caused by: java.lang.RuntimeException: OwnerThread: Thread[rdsLstnr-p-9-t-13,5,main]
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114)
   at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161)
   at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
   at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2549)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3002)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2991)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3532)
   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
   at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
   at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:95)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authorization(InetRadiusProcessor.java:822)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:527)
   ... 17 more
mq 12-05/23:08:18 ERROR [event-proc-p-2-t-1] Consumer - Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@78e4cf1a[Locked by thread rdsLstnr-p-9-t-1]
java.lang.RuntimeException: Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@78e4cf1a[Locked by thread rdsLstnr-p-9-t-1]
   at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46)
   at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:97)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:469)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntimeMap.onAccoutingPeriodModified(InetServRuntimeMap.java:744)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntimeMap.notify(InetServRuntimeMap.java:586)
   at ru.bitel.bgbilling.kernel.event.AbstractConsumer.notify(AbstractConsumer.java:344)
   at ru.bitel.bgbilling.kernel.event.Consumer.notify(Consumer.java:1)
   at ru.bitel.bgbilling.kernel.event.Consumer.onMessage0(Consumer.java:91)
   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)
Caused by: java.lang.RuntimeException: OwnerThread: Thread[rdsLstnr-p-9-t-1,5,main]
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114)
   at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161)
   at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
   at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2549)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3002)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2991)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3532)
   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
   at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
   at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:95)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authorization(InetRadiusProcessor.java:822)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:527)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:422)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.authentication(RadiusSession.java:115)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.accessRequest(RadiusSession.java:92)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequestImpl(RadiusProcessor.java:390)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:370)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequest(RadiusProcessor.java:377)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:58)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:213)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
   ... 5 more
radius 12-05/23:08:20 ERROR [rdsLstnr-p-9-t-14] RadiusListenerWorker - Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@492951af[Locked by thread rdsLstnr-p-9-t-13]
java.lang.RuntimeException: Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@492951af[Locked by thread rdsLstnr-p-9-t-13]
   at ru.bitel.common.util.CheckReentrantLock.lock(CheckReentrantLock.java:46)
   at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.lock(ContractRuntime.java:97)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.lock(InetServRuntime.java:469)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:524)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:422)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.authentication(RadiusSession.java:115)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.accessRequest(RadiusSession.java:92)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequestImpl(RadiusProcessor.java:390)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:370)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequest(RadiusProcessor.java:377)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:58)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:213)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135)
   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)
Caused by: java.lang.RuntimeException: OwnerThread: Thread[rdsLstnr-p-9-t-13,5,main]
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114)
   at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161)
   at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
   at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2549)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3002)
   at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2991)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3532)
   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
   at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
   at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
   at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
   at ru.bitel.bgbilling.modules.inet.api.server.bean.InetConnectionDao.insert(InetConnectionDao.java:95)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authorization(InetRadiusProcessor.java:822)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:527)
   ... 17 more


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 01:57 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Выложили обновление.
Обновляется база на PRIMARY KEY и меняется логика в InetConnectionDao.insert (DELETE FROM inet_connection_<mid>_seq WHERE id<? происходит в отдельном потоке/отдельной транзакции).
Если необходимо проверить только второе и обновлялись не так давно - должно быть достаточно заменить inet.jar в Access/Accounting той, что в новой сборке.

Не забудьте сделать бекап старых библиотек.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 02:05 
Не в сети

Зарегистрирован: 16 ноя 2011, 18:30
Сообщения: 115
Карма: 0
Видимо давно обновлялись, т.к. при замене только inet.jar запуск обламывается ошибкой
Код:
Error on node accounting
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at ru.bitel.bgbilling.kernel.application.server.Application.processBean(Application.java:471)
        at ru.bitel.bgbilling.kernel.application.server.Application.process(Application.java:286)
        at ru.bitel.bgbilling.kernel.application.server.Application.processChildren(Application.java:688)
        at ru.bitel.bgbilling.kernel.application.server.Application.application(Application.java:218)
        at ru.bitel.bgbilling.kernel.application.server.Application.<init>(Application.java:154)
        at ru.bitel.bgbilling.kernel.application.server.Application.main(Application.java:742)
        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 ru.bitel.common.bootstrap.Boot.boot(Boot.java:129)
        at ru.bitel.common.bootstrap.Boot.main(Boot.java:178)
Caused by: java.lang.NoSuchMethodError: ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntimeMap.<init>(Ljava/util/Date;Z)V
        at ru.bitel.bgbilling.modules.inet.accounting.Accounting.<init>(Accounting.java:179)
        at ru.bitel.bgbilling.modules.inet.accounting.Accounting.<init>(Accounting.java:158)
        ... 16 more


Полноценно обновиться можно будет только завтра.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 04:30 
Не в сети

Зарегистрирован: 16 ноя 2011, 18:30
Сообщения: 115
Карма: 0
Прежде чем обновляться, можно добавить отладку в Inet, чтобы в лог писались начало и конец insert и delete операций по *_seq таблицам с указанием типа операции, таблицы, таймстампа и в каком треде это делается?
Это поможет понять когда и на каких операциях происходят эти тормоза.
По умолчанию чтоб эта отладка была выключена и включалась параметром в конфиге модуля.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 07:39 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
afedorov писал(а):
Такое решение рассматривали? http://engineering.twitter.com/2010/06/ ... flake.html


оттуда:
Цитата:
SOLUTION

To generate the roughly-sorted 64 bit ids in an uncoordinated manner, we settled on a composition of: timestamp, worker number and sequence number.

Sequence numbers are per-thread and worker numbers are chosen at startup via zookeeper (though that’s overridable via a config file).


Может есть смысл похожим образом сделать?
Т.е. чтобы id составной был, например: id сервера InetAccounting + x + внутренний id.
Где:
x - счетчик перезапусков сервера InetAccounting
id - хранится в памяти конкретного InetAccounting, обнуляется при старте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 08:00 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Иначе какой смысл в нескольких InetAccounting-серверах, если узким местом как был, так и остаётся mysql.
В dialup в данный момент больше всего напрягает как раз ненадёжность при работе с нагрузками:
- какие-нибудь запросы грузят базу mysql - радиус начинает тормозить, теряются пакеты acct, а иногда и auth.
- произошло массовое подключение клиентов (восстановление после аварии, month break) - радиус не справляется, авторизация не поспевает

И узкое место - всегда mysql, т.к. радиусы слишком зависят от него. Пришёл update - мы идём в базу, конкурируем на запись в одну таблицу для всего модуля. Запрос авторизации - перед ответом мы должны создать сессию в таблице, снова конкуренция.
При этом mysql никак не масштабируется. Ну, т.е. есть slave, есть trash, но это тоже не масштабируемые решения, т.к. главный сервер и одна таблица to rule them all всё равно никуда не уходят.

В Inet детально не разбирался с механизмом, но вроде бы там трафики пишутся не сразу, а сбрасываются в базу периодически, я прав? Это уже хорошо. Но авторизация гораздо критичнее. Лучше я дам клиенту доступ, возможно потеряв информацию о сессии, чем сотни клиентов будут сидеть без инета (а проблемы будут у всех, т.к. шардинга нет). У нас сейчас настроено, что при глюках радиуса циски выдают авторизацию для клиентов из собственного кэша - сессии поднимаются вне биллинга, но хотя бы поднимаются. Потом скриптом проходим и сбрасываем всех таких (тут в Inet проще, т.к. он умеет создавать сессии по апдейтам).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 08:03 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
FYI:
кстати, про month break - отказались от стандартного, даже улучшенного, т.к. он сначала сбрасывает быстро, а потом замедляется, а не наоборот. Вместо этого сбрасываем скриптом с фиксированной задержкой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 08:59 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Как вариант распределения нагрузки, можно разбить месячные таблицы - например, по таблице на каждый accounting-сервер. Или даже на каждый NAS.
Потом можно растащить эти таблицы по разным mysql-серверам, т.е. сделать вертикальный шардинг.
Правда тогда не получится их слить в один slave, нужно будет писать хелперы для построения отчётов и пр.
Но если это делать, то нужно делать сейчас, пока ещё мало кто пользуется Inet и он не оброс всякими отчётами и скриптами, где производятся выборки из inet_session_log и т.п.

Про шардинг и пр.:
http://highload.com.ua/index.php/2009/0 ... %B0%D1%86/

Кстати, trash-базы - это в чистом виде вертикальный шардинг. Круто, но только для некритичных данных. К тому же, идёт мимо слейва.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 11:30 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Поддерживаю идею переноса счётчика в память и сделать его составным. При рестарте его можно получать как MAX(id) из таблиц текущих соединений/сессий. Такую схему реализовать не так сложно.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 11:31 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Также замечу, что последние ошибки имели вид:
Код:
accounting 12-05/23:08:20 ERROR [accwrkr-3-p-12-t-1] WorkerTask - Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@d082960[Locked by thread rdsLstnr-p-8-t-9]
java.lang.RuntimeException: Lock wait timeout for ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime@d082960[Locked by thread rdsLstnr-p-8-t-9]

Вроде напрямую с MySQL не связаны.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Lock wait timeout в логах
СообщениеДобавлено: 06 дек 2012, 12:56 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
Также замечу, что последние ошибки имели вид:
Связано косвенно, т.к. внутри приложения также есть синхронизация по договорам - одновременно в разных потоках radius-пакет одной и той же сессии/сервиса не обрабатывается.
С последним билдом ошибка ушла?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 82 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.123s | 77 Queries | GZIP : On ]