BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: 25 фев 2013, 16:49 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Koldun писал(а):
Вот прямо сейчас попробовал. Скрипт должен уже отработать и в планировщике показывает что висит один активный. Логи прикрепил в первом архиве. И еще лог, во втором архиве, в момент когда активных показывает 2. Т.е. запустился еще скрипт по расписанию.


Koldun писал(а):
Вот как раз доходит до 5 (значение по умолчанию) и перестает выполнять задачи.
Пока выставил 10.
# Количество одновременных потоков для выполнения периодических заданий по расписанию
scheduler.periodic.thread.count=10


Это не решение проблемы. у вас deadlock судя по stack-y..


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 фев 2013, 16:52 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Koldun писал(а):

Скрипт шлюза коммутаторов D-Link на основе примеров из wiki.bgbilling.ru


Покажите код вашего скрипта. Он вызывает deadlock. Там у вас никакие потоки дополнительные не запускаются ?

Метод executeUpdate в вашем скрипте входят в deadlock c методом закрытия соединения в планировщике .


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 фев 2013, 13:08 
Не в сети

Зарегистрирован: 18 фев 2013, 14:58
Сообщения: 11
Карма: 0
stark писал(а):
Koldun писал(а):

Скрипт шлюза коммутаторов D-Link на основе примеров из wiki.bgbilling.ru


Покажите код вашего скрипта. Он вызывает deadlock. Там у вас никакие потоки дополнительные не запускаются ?

Метод executeUpdate в вашем скрипте входят в deadlock c методом закрытия соединения в планировщике .


На 5.1 скрипты работали нормально, а с переходом на 5.2 и переводом таблиц в innodb, все и началось.
deadlock у нас получался из-за своей таблицы. Мы перевели ее обратно в myisam и deadlock больше не возникает.

Скрипт все равно приложил.


Вложения:
s.txt [32.07 КБ]
Скачиваний: 545
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 фев 2013, 17:10 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Koldun писал(а):
stark писал(а):
Koldun писал(а):

Скрипт шлюза коммутаторов D-Link на основе примеров из wiki.bgbilling.ru


Покажите код вашего скрипта. Он вызывает deadlock. Там у вас никакие потоки дополнительные не запускаются ?

Метод executeUpdate в вашем скрипте входят в deadlock c методом закрытия соединения в планировщике .


На 5.1 скрипты работали нормально, а с переходом на 5.2 и переводом таблиц в innodb, все и началось.
deadlock у нас получался из-за своей таблицы. Мы перевели ее обратно в myisam и deadlock больше не возникает.

Скрипт все равно приложил.


В общем проблема в следующем . У вас скрипте порождается поток отдельный , который ждет асинхронного ответа от snmp . А вы еще используете connection к mysql в этом потоке . А мы не ждем ваш поток , мы закрываем connnectipn. В 5.1 это возможно работало случайно, потому что там был общий connection на всю задачу проверки шлюзов. Хотя тоже странно, потому что в июле 2012 года там тоже этот код поменялся(возможно не обновлялись). Верните innodb обратно. Варианты решения проблемы следующие:
1. Использовать синхронную работу с snmp. В 5.2 для этого есть класс SnmpClient. Тогда никаких потоков не будет.
2. Весь ваш код в методе update(он работает в отдельном потоке как раз) обернуть в try finally и взять новый connection к бд, который потом вы закроете.
Код:
Connection connection = null;
try
{
    con = Setup.getSetup().getDBConnectionFromPool();
    //ваш код тут.
}
finnally
{
   ServerUtils.closeConnection( con );
}



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

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


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

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


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

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