forum.bitel.ru http://forum.bitel.ru/ |
|
Account пытается обработать контракты, которых нет http://forum.bitel.ru/viewtopic.php?f=44&t=9834 |
Страница 1 из 1 |
Автор: | oldb0y [ 14 окт 2014, 13:46 ] |
Заголовок сообщения: | Account пытается обработать контракты, которых нет |
Обработчик пытается обработать договора, которых нет. Не могу понять откуда он берет эти ID контратов. Где могут еще хранится ID договоров??? Код: connection 10-14/13:25:55 ERROR [sa-p-9-t-2] InetServRuntimeMap - Contract not found with id=47 but inetServ exist connection 10-14/13:25:55 ERROR [sa-p-9-t-2] ServiceActivatorDeviceWorker - Device:9 - null java.lang.NullPointerException at ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaServModifyEvent.toSaEvent(InetSaServModifyEvent.java:243) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:349) at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTaskImpl(AsyncEventWorker.java:211) at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.notify(AsyncEventWorker.java:201) at ru.bitel.bgbilling.kernel.event.AcknowledgeConsumer.onMessage0(AcknowledgeConsumer.java:83) at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTask(AsyncEventWorker.java:176) at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.doTasks(AsyncEventWorker.java:109) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:239) at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:145) 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:181) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) Вот результат выборки MySQL-запроса таблицы сервисов: Код: mysql> select id,contractId from inet_serv_1;
+----+------------+ | id | contractId | +----+------------+ | 3 | 3 | | 4 | 4 | | 9 | 10 | | 10 | 11 | | 11 | 13 | | 12 | 14 | | 13 | 15 | | 14 | 16 | | 15 | 17 | | 16 | 18 | | 17 | 19 | | 18 | 20 | | 19 | 21 | | 20 | 22 | | 33 | 24 | | 21 | 25 | | 22 | 29 | | 23 | 30 | | 24 | 31 | | 25 | 32 | | 26 | 33 | | 27 | 34 | | 31 | 36 | | 34 | 37 | | 36 | 41 | | 35 | 42 | | 47 | 50 | | 46 | 51 | +----+------------+ 28 rows in set (0.00 sec) |
Автор: | vkulakov [ 14 окт 2014, 14:42 ] |
Заголовок сообщения: | Re: Account пытается обработать контракты, которых нет |
У нас такая же беда. Дело в том, что в нашей версии/сборке биллинга есть косяк с удалением договоров: когда договор удаляется, то сервисы инет от него остаются в базе. Это легко видеть, если выполнить в клиенте "Модули" -> "Инет" -> "Поиск" -> "Найти" и отсортировать по договору. Вверху списка будут сервисы без договоров. Чтобы очищать такие сервисы я писал отдельный скрипт... |
Автор: | vkulakov [ 14 окт 2014, 14:43 ] |
Заголовок сообщения: | Re: Account пытается обработать контракты, которых нет |
Вот моя тема: viewtopic.php?f=44&t=7913 |
Автор: | Amir [ 14 окт 2014, 14:44 ] |
Заголовок сообщения: | Re: Account пытается обработать контракты, которых нет |
Какая версия/билд? Скоре всего ругается так, потому что этот сервис действительно был и остался еще в кэше. А вот почему пытается обработать задание по этому сервису - не понятно. Возможно что этот сервис удалили не так давно, задание по какой-то причине не выполнилось и все еще пытается выполнить. Через какое-то время должен прекратить пытаться. Как скоро - зависит от билда, на последних - быстрее. Возможно что удаляли договор не совсем корректно или при вызове обработчика активации на удаление сервиса происходила ошибка. |
Автор: | barguzin2 [ 14 окт 2014, 14:49 ] |
Заголовок сообщения: | Re: Account пытается обработать контракты, которых нет |
прежде чем удалять договор, нужно закрыть его по статусу и периоду. и еще желательно подержать его некоторое время для истории. а то мало ли чего. |
Автор: | oldb0y [ 14 окт 2014, 16:08 ] |
Заголовок сообщения: | Re: Account пытается обработать контракты, которых нет |
Вопрос решен. Спасибо за ответы, и прошу не удалять тему. По какой-то причине, access-сервер не выгружался из памяти (это стало понятно, когда изменения времени повторения в планировщике ни к чему не привело). Помогла физическая перегрузка сервера. |
Автор: | barguzin2 [ 14 окт 2014, 18:08 ] |
Заголовок сообщения: | Re: Account пытается обработать контракты, которых нет |
радикально.... можно же просто прибить access через kill -9, а не ребутить весь сервер. |
Автор: | skyb [ 15 окт 2014, 03:56 ] |
Заголовок сообщения: | Re: Account пытается обработать контракты, которых нет |
договора вообще лучше не удалять, а закрывать |
Автор: | stark [ 15 окт 2014, 11:37 ] |
Заголовок сообщения: | Re: Account пытается обработать контракты, которых нет |
vkulakov писал(а): Вот моя тема: viewtopic.php?f=44&t=7913 Там же вроде исправили. |
Автор: | vkulakov [ 15 окт 2014, 14:52 ] |
Заголовок сообщения: | Re: Account пытается обработать контракты, которых нет |
Там-то исправили, но мы-то ещё не обновились... Мало ли какая у человека сборка стоит. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |