Re: After server restart I get - An I/O error occured while sending to the backend.

From: Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>
To: Rod <cckramer(at)gmail(dot)com>
Cc: pgsql-jdbc <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: After server restart I get - An I/O error occured while sending to the backend.
Date: 2010-05-18 11:42:09
Message-ID: 4BF27D11.8020001@postnewspapers.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On 18/05/2010 6:41 PM, Rod wrote:
> Hi,
>
> I have simple JDBC client app running on Jetty.
> Using 8.3 JDBC3 driver and PostgreSQL8.3 server running on localhost.
>
> Any time I restart the PostgresQL server I get SQL error:
> An I/O error occured while sending to the backend.
>
> It appears that my application's connection to the server is not
> re-established by some reason?

Pooled connections usually don't get cleaned up until they're discovered
to be dead. That happens when you try to use them and they break.

Just be prepared for this to happen. If you get a bad connection, grab a
new one and re-try your work.

Yes, you can "test" the connection first ... but something might go
wrong with it between testing it and starting to use it. You need to be
prepared to handle failure at any point and re-try your work. Make sure
to keep your work separated into clear units of work (wrapped as
transactions) so you have a clear idea of what you're up to.

>
> I am no expert in JDBC.
> First I was using plan JDBC. I thought that using DB connection pool
> will automagically reconnect and solve this problem.
> Switching to Apache commons DBCP did not change anything.
>
> What am I supposed to do to make it survive PostgreSQL server restart?

It can't, just as it can't survive connection loss for other reasons.
Your code must be prepared to deal with that.

--
Craig Ringer

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Oliver Jowett 2010-05-18 12:37:39 Re: JDBC Driver and timezones
Previous Message Rod 2010-05-18 10:41:05 After server restart I get - An I/O error occured while sending to the backend.