forum.bitel.ru
http://forum.bitel.ru/

Периодически сыпется access (CRM)
http://forum.bitel.ru/viewtopic.php?f=44&t=9852
Страница 1 из 1

Автор:  pafflootiy [ 22 окт 2014, 10:06 ]
Заголовок сообщения:  Периодически сыпется access

Клиент: вер. 6.1.794 / 21.10.2014 11:47:32
os: Windows XP; java: Java HotSpot(TM) Client VM, v.1.7.0_67
Сервер: вер. 6.1.976 / 21.10.2014 11:47:40
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_60
inet: вер. 6.1.610 / 20.10.2014 18:22:40

Время от времени аццесс начинает сыпать ошибками, помогает перезапуск аццесса:
Код:
radius 10-21/20:18:12 ERROR [rdsLstnr-p-7-t-5] RadiusListenerWorker -
java.lang.NullPointerException
   at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333)
   at java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1186)
   at ru.bitel.bgbilling.modules.inet.access.InetConnectionManager.remove(InetConnectionManager.java:458)
   at ru.bitel.bgbilling.modules.inet.access.InetConnectionManager.checkChanged(InetConnectionManager.java:806)
   at ru.bitel.bgbilling.modules.inet.access.InetConnectionManager.checkSessionCountLimitImpl(InetConnectionManager.java:982)
   at ru.bitel.bgbilling.modules.inet.access.InetConnectionManager.checkSessionCountLimit(InetConnectionManager.java:857)
   at ru.bitel.bgbilling.modules.inet.access.Access.checkSessionCountLimitImpl(Access.java:548)
   at ru.bitel.bgbilling.modules.inet.runtime.InetApplication.checkSessionCountLimit(InetApplication.java:1138)
   at ru.bitel.bgbilling.modules.inet.runtime.InetApplication.authorization(InetApplication.java:877)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authorization(InetRadiusProcessor.java:831)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:611)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:469)
   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:446)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:385)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequest(RadiusProcessor.java:431)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:59)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:247)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:145)
   at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:745)
   at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)

Автор:  Amir [ 22 окт 2014, 15:07 ]
Заголовок сообщения:  Re: Периодически сыпется access

Как-будто у сессии по какой-то причине не указан Acct-Session-Id.
Используется инициация сессии по трафику? Т.е. без RADIUS, по Netflow для статических адресов?

Автор:  pafflootiy [ 22 окт 2014, 16:24 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

Работает на радиусе. Тарифы безлимитные, но нетфлоу тоже работает, сугубо ради статистики.

Автор:  pafflootiy [ 22 окт 2014, 16:26 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

Собсна, настройки брал тут.

Автор:  pafflootiy [ 22 окт 2014, 16:27 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

inet-access.xml выложить?

Автор:  Amir [ 22 окт 2014, 17:16 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

Не понятно пока, что является изначальной причиной - получается что в памяти откуда-то появляется объект inetConnection у которого поле acctSessionId=null, чего не должно быть.
Таблицы у вас в InnoDB?

Выкладывается обновление, которое должно убрать конкретно эту ошибку, которая возникает при acctSessionId=null.

Автор:  pafflootiy [ 22 окт 2014, 18:48 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

Amir писал(а):
Таблицы у вас в InnoDB?

Сам засомневался...как уточнить?

Автор:  barguzin2 [ 22 окт 2014, 21:19 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

например, выполнить SQL-запрос
Код:
show create table contract
и посмотреть в последней строке значение ENGINE. Можно также зайти в каталог /var/lib/mysql/bgbilling и посмотреть список файлов. Если есть с расширением .MYI, .MYD - то имеем дело с MyISAM, если только .frm и .ibd - то InnoDB. Если только .frm - тоже InnoDB, но без включенного режима innodb_file_per_table. Желательно чтобы он был включен. Рекомендации по настройке MySQL читали ?

Автор:  pafflootiy [ 23 окт 2014, 11:02 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

InnoDB и innodb_file_per_table выключен.

Автор:  Amir [ 23 окт 2014, 14:45 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

Попробуйте обновиться (не забудьте сделать бэкап старых библиотек).
Если будут продолжаться проблемы - нужен будет доступ.

Автор:  pafflootiy [ 23 окт 2014, 18:53 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

Обновил, для надежности полностью перезагрузил сервер, выскачил эксепшн, рестартанул аццесс...пока полет нормальный. Причем заметил, что падения начинались на попытках активации одного клиента. Если он отключается от нашего NAS'а и потом снова подключается(выдернуть наш кабель и снова вставить или перезагрузить ноутбук), то все нормально. Но если он отправляет в ноутбук в сон и потом пробуждает его (закрыть-открыть крышку), то у меня начинали сыпать ошибки, обозначенные в шапке топика.
Вот error.log после обновления и перезагрузки.
Код:
mq 10-23/16:34:25 ERROR [event-proc-p-2-t-1] Consumer - java.lang.ClassNotFoundException: ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator$Commands
ru.bitel.bgbilling.common.BGException: java.lang.ClassNotFoundException: ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator$Commands
   at ru.bitel.bgbilling.kernel.dynamic.server.ReadOnlyClassManager$1.notify(ReadOnlyClassManager.java:37)
   at ru.bitel.bgbilling.kernel.dynamic.server.ReadOnlyClassManager$1.notify(ReadOnlyClassManager.java:1)
   at ru.bitel.bgbilling.kernel.event.AbstractConsumer.notify(AbstractConsumer.java:353)
   at ru.bitel.bgbilling.kernel.event.Consumer.notify(Consumer.java:1)
   at ru.bitel.bgbilling.kernel.event.Consumer.onMessage0(Consumer.java:112)
   at ru.bitel.bgbilling.kernel.event.Consumer$EventListenerRunnable.runImpl(Consumer.java:51)
   at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:745)
   at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
Caused by: java.lang.ClassNotFoundException: ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator$Commands
   at ru.bitel.bgbilling.kernel.dynamic.server.DatabaseClassLoader.findClass(DatabaseClassLoader.java:44)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
   at ru.bitel.bgbilling.kernel.dynamic.server.ReadOnlyClassManager$1.notify(ReadOnlyClassManager.java:32)
   ... 10 more

Автор:  pafflootiy [ 23 окт 2014, 18:54 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

Повторюсь, пока больше не сыпется.

Автор:  stark [ 23 окт 2014, 19:29 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

pafflootiy писал(а):
Обновил, для надежности полностью перезагрузил сервер, выскачил эксепшн, рестартанул аццесс...пока полет нормальный. Причем заметил, что падения начинались на попытках активации одного клиента. Если он отключается от нашего NAS'а и потом снова подключается(выдернуть наш кабель и снова вставить или перезагрузить ноутбук), то все нормально. Но если он отправляет в ноутбук в сон и потом пробуждает его (закрыть-открыть крышку), то у меня начинали сыпать ошибки, обозначенные в шапке топика.
Вот error.log после обновления и перезагрузки.
Код:
mq 10-23/16:34:25 ERROR [event-proc-p-2-t-1] Consumer - java.lang.ClassNotFoundException: ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator$Commands
ru.bitel.bgbilling.common.BGException: java.lang.ClassNotFoundException: ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator$Commands
   at ru.bitel.bgbilling.kernel.dynamic.server.ReadOnlyClassManager$1.notify(ReadOnlyClassManager.java:37)
   at ru.bitel.bgbilling.kernel.dynamic.server.ReadOnlyClassManager$1.notify(ReadOnlyClassManager.java:1)
   at ru.bitel.bgbilling.kernel.event.AbstractConsumer.notify(AbstractConsumer.java:353)
   at ru.bitel.bgbilling.kernel.event.Consumer.notify(Consumer.java:1)
   at ru.bitel.bgbilling.kernel.event.Consumer.onMessage0(Consumer.java:112)
   at ru.bitel.bgbilling.kernel.event.Consumer$EventListenerRunnable.runImpl(Consumer.java:51)
   at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:745)
   at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
Caused by: java.lang.ClassNotFoundException: ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator$Commands
   at ru.bitel.bgbilling.kernel.dynamic.server.DatabaseClassLoader.findClass(DatabaseClassLoader.java:44)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
   at ru.bitel.bgbilling.kernel.dynamic.server.ReadOnlyClassManager$1.notify(ReadOnlyClassManager.java:32)
   ... 10 more



Проверьте в динамическом коде, есть ли этот класс. И перекомпилируйте динамический код.

Автор:  pafflootiy [ 23 окт 2014, 21:59 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

stark писал(а):
Проверьте в динамическом коде, есть ли этот класс. И перекомпилируйте динамический код.

Класс есть, динкод перекомпилировал.

Автор:  barguzin2 [ 23 окт 2014, 22:21 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

Код:
ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator$Commands

Это ведь какой-то внутренний класс класса AbstractTerminalServiceActivator. Давно его ввели ?

Кстати, а после перекомпиляции на вкладке Модули -> Inet -> Устройства и ресурсы -> Дерево нажимали кнопку "Перечитать конфигурацию на серверах" после перекомпиляции ?

Автор:  Amir [ 24 окт 2014, 01:05 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

Цитата:
Это ведь какой-то внутренний класс класса AbstractTerminalServiceActivator. Давно его ввели ?
viewtopic.php?f=44&t=9825

Автор:  pafflootiy [ 24 окт 2014, 11:21 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

barguzin2 писал(а):
Кстати, а после перекомпиляции на вкладке Модули -> Inet -> Устройства и ресурсы -> Дерево нажимали кнопку "Перечитать конфигурацию на серверах" после перекомпиляции ?

Да.

Автор:  stark [ 24 окт 2014, 11:53 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

pafflootiy писал(а):
stark писал(а):
Проверьте в динамическом коде, есть ли этот класс. И перекомпилируйте динамический код.

Класс есть, динкод перекомпилировал.


А внутри класса есть другой класс с именем Сommands ?

Автор:  Amir [ 24 окт 2014, 13:31 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

Цитата:
Класс есть, динкод перекомпилировал.


А внутри класса есть другой класс с именем Сommands?
После перекомпиляции ошибка повторяется?

Автор:  pafflootiy [ 24 окт 2014, 15:40 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

Первоначальная ошибка повторилась:
Код:
radius 10-24/11:26:21 ERROR [rdsLstnr-p-7-t-9] RadiusListenerWorker -
java.lang.NullPointerException
   at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333)
   at java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1186)
   at ru.bitel.bgbilling.modules.inet.access.InetConnectionManager.remove(InetConnectionManager.java:458)
   at ru.bitel.bgbilling.modules.inet.access.InetConnectionManager.checkChanged(InetConnectionManager.java:806)
   at ru.bitel.bgbilling.modules.inet.access.InetConnectionManager.checkSessionCountLimitImpl(InetConnectionManager.java:982)
   at ru.bitel.bgbilling.modules.inet.access.InetConnectionManager.checkSessionCountLimit(InetConnectionManager.java:857)
   at ru.bitel.bgbilling.modules.inet.access.Access.checkSessionCountLimitImpl(Access.java:548)
   at ru.bitel.bgbilling.modules.inet.runtime.InetApplication.checkSessionCountLimit(InetApplication.java:1138)
   at ru.bitel.bgbilling.modules.inet.runtime.InetApplication.authorization(InetApplication.java:877)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authorization(InetRadiusProcessor.java:831)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:611)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:469)
   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:446)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:385)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequest(RadiusProcessor.java:431)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:59)
   at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:247)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:145)
   at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:745)
   at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)

Автор:  Amir [ 25 окт 2014, 16:29 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

Вывод stacktrace не совпадает с текущим, который после исправления. Какой билд показывает access_status.sh?

Автор:  pafflootiy [ 28 окт 2014, 12:33 ]
Заголовок сообщения:  Re: Периодически сыпется access (CRM)

Ну вот сегодня обновился, вот:
Код:
Java Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM [1.7.0_71] /opt/java/jdk1.7.0_71/jre
  Runtime name: 4613@skynetbill
  Java endorsed dirs: /lib/endorsed:/opt/java/jdk/jre/lib/endorsed
  OS: Linux 3.2.0-4-amd64 [amd64], file.encoding: UTF-8, user.name: root
  Heap sizes: current=121344k  free=120053k  max=1795072k
Kernel version 6.1.977 / 27.10.2014 15:43:47
Inet version 6.1.614 / 27.10.2014 17:42:33
Radius:
  accounting-requests per minute start: 0; stop: 0; update: 0
  access-requests per minute accept: 0; reject: 0
  ignore per minute access-request: 0; accounting-update: 0
Antispam ban count: 0; used per minute: 0

И с 24 числа все работало без сбоев. Как и сейчас (тьфу-тьфу-тьфу).

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/