Re: JDBC keep alive issue

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: JDBC keep alive issue
Дата
Msg-id 23654.1344608364@sss.pgh.pa.us
обсуждение исходный текст
Ответ на JDBC keep alive issue  (Haifeng Liu <liuhaifeng@live.com>)
Ответы Re: JDBC keep alive issue  (Craig James <cjames@emolecules.com>)
Список pgsql-admin
Haifeng Liu <liuhaifeng@live.com> writes:
> I have a program running like a daemon, which analyze data and write to postgresql 9.1 on centos 5.8. There is only
oneconnection between my program and the postgresql database, and I hope the connection may keep alive all the time.
ButI failed, the connection will be reset after idle for about 2 hours. 

> jdbc driver: 9.1-901, connection url has parameter tcpKeepAlive=true;
> postgresql:9.1, keep alive related settings use default values(commented);
> centos 5.8 64bit, net.ipv4.tcp_keepalive_intvl = 75, probes = 9, time = 7200.

IIRC, time = 7200 (seconds) means to start sending keepalive packets
after 2 hours of idle time.  So if you have something in the way that is
dropping the connection after 2 hours, these settings will not activate
keepalive soon enough to save it.  I'd try setting that to 3600.

> There is no firewall or any other device which behaves force idle connection cleanup.

Seems pretty darn unlikely given these symptoms.  Look harder...
maybe something you thought was just a bridge has got routing behavior.

BTW, in the real world connections drop for all sorts of reasons, and
kernel keepalive configurations can't prevent them all.  You might be
better advised to build some reconnect-after-connection-loss logic into
your application, rather than spending time on making this work.

            regards, tom lane


В списке pgsql-admin по дате отправления:

Предыдущее
От: Haifeng Liu
Дата:
Сообщение: JDBC keep alive issue
Следующее
От: Craig James
Дата:
Сообщение: Re: JDBC keep alive issue