Страница 1 из 1

проблема с ODBC

Добавлено: 25 ноя 2013, 17:30
scherkhan
на смежном форуме так же запостил....

Уважаемые гуру, подскажите пожалуйста!
Подключаюсь к базе через драйвер ODBC. Но периодический при обработке входящего звонка выскакивает такая ошибка:

Код: Выделить всё

[2013-11-25 08:26:43] WARNING[15098][C-00000115]: res_odbc.c:1402 _ast_odbc_request_obj2: SetConnectAttr (Txn isolation) returned an error: HY000: [MySQL][ODBC 5.1 Driver]MySQL server has gone away 
 [2013-11-25 08:26:43] WARNING[15098][C-00000115]: func_odbc.c:191 generic_execute: SQL Execute returned an error -1: 08S01: [MySQL][ODBC 5.1 Driver][mysqld-5.5.31-0+wheezy1]MySQL server has gone away (75) 
 [2013-11-25 08:26:43] WARNING[15098][C-00000115]: func_odbc.c:199 generic_execute: SQL Exec Direct failed (-1)![SELECT `clid` FROM `dials` WHERE `dst`=3021698] 
 [2013-11-25 08:26:43] WARNING[15098][C-00000115]: res_odbc.c:608 ast_odbc_direct_execute: SQL Execute error! Verifying connection to asterisk-mysql [asterisk-mysql]... 
 [2013-11-25 08:26:43] WARNING[15098][C-00000115]: res_odbc.c:761 ast_odbc_sanity_check: Connection is down attempting to reconnect... 
 [2013-11-25 08:26:48] NOTICE[15098][C-00000115]: res_odbc.c:1527 odbc_obj_connect: Connecting asterisk-mysql 
 [2013-11-25 08:26:48] NOTICE[15098][C-00000115]: res_odbc.c:1559 odbc_obj_connect: res_odbc: Connected to asterisk-mysql [asterisk-mysql]
т.е., как я понимаю, связь теряется, потом восстанавливается. Обработка звонка зависает на последних строках, и дальнейшей обработки нет. Если поступает повторный звонок, то все проходит гладко. Происходит это по утрам, т.е. как я предполагаю, астер долго не обращался к базе данных, драйвер отдыхал и потерял связь. Как сделать так, чтоб связь не терялась никогда?

И еще такой баг не могу отловить, так же выскакивает изредка при исходящем звонке:

Код: Выделить всё

[2013-11-24 08:52:49] WARNING[2799][C-000000fc] chan_sip.c: Received response: "Forbidden" from '"Agent one" <sip:login@sip.domen.ru>;tag=as528a8b65'
не могу найти причину. Помогает только "sip reload".

Re: проблема с ODBC

Добавлено: 26 ноя 2013, 07:21
Vlad1983
для мускула есть опция отвечающая за таймаут сессии
выставить побольше
искать самостоятельно

Re: проблема с ODBC

Добавлено: 26 ноя 2013, 11:40
scherkhan
Vlad1983, спасибо за наводку!
Если что не так, то поправьте.
Зашел БД:

Код: Выделить всё

root@server:~# mysql -uroot -p
mysql> SHOW VARIABLES LIKE 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 28800 |
+---------------+-------+
1 row in set (0.00 sec)
Добавил в секцию [mysqld] файла my.cnf

Код: Выделить всё

interactive_timeout=86400
wait_timeout=86400
Перезапустил сервер

Код: Выделить всё

root@server:~# service mysql restart
Теперь переменная в wait_timeout равна 86400. Правильное решение?

Re: проблема с ODBC

Добавлено: 26 ноя 2013, 12:34
Vlad1983
вот завтра и узнаете правильное или нет

Re: проблема с ODBC

Добавлено: 26 ноя 2013, 14:51
scherkhan
Если не затруднит, можете проконсультировать по второму вопросу? Прошу так же дать не решение проблемы, а направление.

Re: проблема с ODBC

Добавлено: 26 ноя 2013, 15:06
Vlad1983
надо поймать это "изредка" и снять дамп