BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 27 апр 2024, 18:24

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: 07 фев 2012, 11:24 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Добрый день.
На одном из NASов (Cisco) стоит вот такой скрипт

Код:
import bitel.billing.server.radius.*;

prefix = "client-mac-address";
length = prefix.length();

attributes = request.getVendorAttributes( Vendors.CISCO, CiscoVendor.Cisco_AVPair );
if( attributes != null )
for( it = attributes.iterator(); it.hasNext(); )
{
ra = it.next();
value = ra.getValue();

if( value.startsWith( prefix ) )
{
request.setStringAttribute( RadiusStandartAttributes.Calling_Station_Id, value.substring( length + 1 ) );
}
}


Временами в error.log радиуса сыпятся вот такие вот ошибки

Код:
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream - java.sql.SQLException: Connection com.mysql.jdbc.JDBC4Connection@db66d4e is closed.
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at org.apache.commons.dbcp.DelegatingConnection.checkOpen(DelegatingConnection.java:398)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:279)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at bitel.billing.server.processor.dialup.DialUpSessionRealtime.setCalculatePeriod(DialUpSessionRealtime.java:1957)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at bitel.billing.server.processor.dialup.DialUpSessionRealtime.calculateService(DialUpSessionRealtime.java:904)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at bitel.billing.server.processor.dialup.DialUpSessionRealtime.calculateTime(DialUpSessionRealtime.java:737)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at bitel.billing.server.processor.dialup.DialUpSessionRealtime.calculate(DialUpSessionRealtime.java:479)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at ru.bitel.bgbilling.modules.dialup.radius.DialUpNasConnection.updateConnectionImpl(DialUpNasConnection.java:450)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at ru.bitel.bgbilling.modules.dialup.radius.DialUpNasConnection.updateConnection(DialUpNasConnection.java:137)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at ru.bitel.bgbilling.modules.dialup.radius.DialUpNas.updateConnection(DialUpNas.java:525)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at ru.bitel.bgbilling.modules.dialup.radius.DialUpNas.updateConnection(DialUpNas.java:1)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accounting(RadiusProcessor.java:494)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at ru.bitel.bgbilling.modules.dialup.radius.DialUpRadiusProcessor.accounting(DialUpRadiusProcessor.java:1228)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at ru.bitel.bgbilling.modules.dialup.radius.DialUpRadiusProcessor.accounting(DialUpRadiusProcessor.java:1)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accountingRequest(RadiusProcessor.java:431)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.accountingRequest(RadiusListenerWorker.java:333)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:201)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:87)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at java.lang.Thread.run(Thread.java:662)
radius 02-07/00:00:22 ERROR [rdsLstnr-p-8-t-111] LoggingPrintStream -   at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)


Опытным путем было установлено, что это именно из-за скрипта. Как только его отключаешь - проблем нет. Со времен 5.1 скрипт не менялся (если быть точным в 5.1 он даже выполнял больше действий и таких проблем не было).

Такое ощущение, что когда циска начинает слать больше запросов - просто не успевает пробегать этот скрипт по всем запросам и потому некоторые из них отбрасывает.

В связи с этим пара вопросов:
1) Скрипт предобработки радиус запроса действует и на апдейт пакеты? (у нас шлются раз в минуту если мне память не отшибло)
2) if(1==true){Можно ли сделать как-нибудь, чтобы скрипт действовал только на запросы авторизации?}
3) Может снизить частоту отсылки апдейт пакетов? У кого какая из собственного опыта? :)
4) Эта проблема появилась в 5.2. В 5.1 ничего подобного не было. Разработчики гляньте, что там такое. Вдруг что можно оптимизировать :)

Код:
#cat ./radius.properties
db.url=jdbc:mysql://127.0.0.1/bgbilling?useUnicode=true&characterEncoding=Cp1251&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&elideSetAutoCommits=true&cachePrepStmts=true&queryTimeoutKillsConnection=true&connectTimeout=1000
db.maxIdle=20
db.maxActive=900
db.validationTimeout=1


Код:
#cat /etc/my.cnf
wait_timeout = 28800



Собственно этот вопрос у меня до сих пор висит в хелпдеске. Что такие ошибки в еррор.логе. Обратился на форум, чтобы узнать может у кого этот скрипт более оптимизирован или т.п.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 фев 2012, 12:22 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Поддерживаю

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 фев 2012, 11:16 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Вверх

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


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

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


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

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


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

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