Re: Connection state after network failure?

From: "Kevin Birkett" <KBirkett(at)icudata(dot)com>
To: "Kris Jurka" <books(at)ejurka(dot)com>
Cc: <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Connection state after network failure?
Date: 2007-02-14 14:50:39
Message-ID: 346FF8985107AA41AC92CEC80E21E6B5BBCB@phxx05.exchange.phxx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Thanks for the advice guys. We have a legacy app that was built on 7.2, and we are working to get away from it. We had a few issues with some functions not being available in the newer versions, and I think we have them almost worked out. I will try to get a newer version of the db installed and test out some of the suggestions mentioned.

Thanks again for the help.

________________________________

From: Kris Jurka [mailto:books(at)ejurka(dot)com]
Sent: Wed 2/14/2007 1:11 AM
To: Kevin Birkett
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: [JDBC] Connection state after network failure?

On Fri, 9 Feb 2007, Kevin Birkett wrote:

> I'm having a problem with our software which uses Postgres 7.2.3 and the
> JDBC driver associated with it. In our code we only create one
> connection to the database, and then use that connection as needed for
> our DB interaction. The problem comes in when I simulate a network
> failure (yank the cat5) after the app has started up and connected to
> the remote database. I've tried an idea I found by searching the
> archives of this mailing list, but I haven't been able to get it to
> work.
>
> To me, if the connection loses its network connectivity, an exception
> should be thrown here, and then I can handle it. However, what actually
> happens is the system locks up on the call to execute and it never
> throws and exception or a returns value (since the network is
> unavailable). Am I missing something easy here? All I want to do is to
> check whether or not the connection is valid and available.
>

TCP doesn't detect network failures immediately, hoping the network will
be restored. If you wait long enough (on the order of an hour) you will
get an Exception. You can adjust these settings globally via your OS
or using a more recent postgresql version with tcp_keepalives_* here:

http://www.postgresql.org/docs/8.2/static/runtime-config-connection.html

Also get off the 7.2 release before it eats your data.

Kris Jurka

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kris Jurka 2007-02-14 15:32:15 Re: getProcedureColumns
Previous Message Jeffrey Cox 2007-02-14 07:38:42 Re: getProcedureColumns