Skip site navigation (1) Skip section navigation (2)

Re: Hung JDBC connections

From: Craig Ringer <ringerc(at)ringerc(dot)id(dot)au>
To: Mike Charnoky <noky(at)nextbus(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Hung JDBC connections
Date: 2012-06-12 07:12:01
Message-ID: 4FD6EBC1.1000006@ringerc.id.au (view raw or flat)
Thread:
Lists: pgsql-jdbc
On 06/11/2012 11:02 PM, Mike Charnoky wrote:
>
> On 06/09/2012 11:39 PM, Craig Ringer wrote:
>>
>> Of course, It's not very friendly for the JDBC driver to wait 
>> indefinitely without periodically checking and seeing if the 
>> connection was progressing, so I'm glad to see that's changed in  9.1.
>>
> I took a look at the 9.1 JDBC driver source code, very enlightening. I 
> see that Statement.setQueryTimeout() doesn't actually do anything! The 
> method sets a member variable which is never accessed locally or by 
> any subclasses or via getQueryTimeout(). There is even the following 
> comment in AbstractJdbc2Statement:
>     /** Timeout (in seconds) for a query (not used) */
>     protected int timeout = 0;
>
> I see that ConnectionFactoryImpl does allow the underlying Socket's 
> so_timeout and so_keepalive options to be set using the connection 
> parameters string: 
> http://jdbc.postgresql.org/documentation/91/connect.html 
> (socketTimeout and tcpKeepAlive). Didn't realize these options 
> existed, I will definitely be taking advantage of these.
>
> However, I see these options were available as far back as 8.4. What 
> exactly are these driver changes in 9.1 that you mentioned???

Sorry, as Dave points out, 9.2.

--
Craig Ringer

In response to

pgsql-jdbc by date

Next:From: Craig RingerDate: 2012-06-12 08:04:38
Subject: Re: An I/O error occured while sending to the backend
Previous:From: Dave CramerDate: 2012-06-11 22:13:37
Subject: Re: An I/O error occured while sending to the backend

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group