Re: Connection state after network failure?

From: Kris Jurka <books(at)ejurka(dot)com>
To: Kevin Birkett <KBirkett(at)icudata(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Connection state after network failure?
Date: 2007-02-14 06:11:22
Message-ID: Pine.BSO.4.64.0702140108210.6061@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

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

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kris Jurka 2007-02-14 06:37:33 Re: getProcedureColumns
Previous Message Ken Johanson 2007-02-13 23:38:26 Re: Synthesize support for Statement.getGeneratedKeys()?