Wednesday, December 17th, 2008 04:00 pm
смотреть на скрипт, пославший запрос в базу данных, и думать - порвалось ли уже TCP-соединение, или это он действительно так долго выполняется.

Через пять с половиною часов оказалось, что не порвалось. Данные пошли..
Wednesday, December 17th, 2008 04:23 pm (UTC)
А пострейсить? Или по-tcpdump-ить? :)
Wednesday, December 17th, 2008 04:25 pm (UTC)
а чего там трейсить? запрос ушел в базу, tcp keepalive не работает..
Wednesday, December 17th, 2008 04:42 pm (UTC)
А ща проверю, аж интересно стало.
запустил select sleep(3600) на удалённом сервере, запустил strace на клиента.
Wednesday, December 17th, 2008 04:43 pm (UTC)
для полной имитации надо запустить с солярки на aix :)
Wednesday, December 17th, 2008 07:07 pm (UTC)
Так ты какой из вчерашних методов реализовал? Селект в селекте, похоже?
Thursday, December 18th, 2008 04:51 am (UTC)
Хм, а и правда нифига в стрейсе не видно. Но в tcpdump-е должно быть что-то же - иначе почему соединение не отваливается по таймауту нафиг?
Thursday, December 18th, 2008 09:04 am (UTC)
А зайти в базу другим коннектом и подглядеть?
Thursday, December 18th, 2008 09:39 am (UTC)
добавил прямо в запрос and af_id in (явный список)
Thursday, December 18th, 2008 09:41 am (UTC)
я там вижу только наличие нескольких коннектов с той же машины, а узнать, кто какой запрос выполняет, и который из них мой - прав не хватает
Thursday, December 18th, 2008 09:44 am (UTC)
отваливается оно только в том случае, если с с одной стороны передан пакет, а другая сторона в течение некоторого времени не ответила.
а если tcp keepalive не включен, то при отсутствии данных с обеих сторон никакие пакеты передаваться и не будут, в таком состоянии соединение может существовать вечно