Opened 9 years ago

Closed 9 years ago

#87 closed баг (готово)

Перезагрузка из-за проблем с DNS

Reported by: alx Owned by: alx
Priority: средний Milestone: 1 очередь
Component: sw Keywords:
Cc:

Description

При получении от платы TRAP'а производится рассылка соответствующих ему SNMP TRAP'ов каждому из зарегистрированных трапсинков.
Если трапсинку установлена версия SNMP 1, то в процессе формирования TRAP'а выполняется ресолвинг имени хоста с помощью вызова netsnmp_gethostbyname_v4(). В случае отсутствия ответа на запросы к DNS эта функция, предположительно, засыпает на 10 секунд, что останавливает работу рабочего потока. Если таких трапсинков несколько, срабатывает watchdog и перезагружает плату.
Возможно, что подобное блокирующее обращение к DNS выполняется также и при отправке TRAP'ов других версий.

Необходимо найти способ сделать отправку TRAP'ов неблокирующей или создавать для этого отдельный асинхронный поток.

Change History (1)

comment:1 by alx, 9 years ago

Resolution: fixed
Status: newclosed

In 1281/sw:

Изменена отправка SNMP TRAP'ов. Теперь имена хостов резолвятся в DNS асинхронно,
полученные IP адреса сохраняются в памяти. На момент отправки TRAP'а
используются уже имеющиеся в памяти IP адреса, и никаких обращений к DNS не производится.
Fixes #87.

Note: See TracTickets for help on using tickets.