| From: | Kris Jurka <books(at)ejurka(dot)com> | 
|---|---|
| To: | Andrea Spinelli <aspinelli(at)imteam(dot)it> | 
| Cc: | pgsql-jdbc(at)postgresql(dot)org, Alessandro Magnolo <amagnolo(at)imteam(dot)it>, Valerio Mazzoleni <vmazzoleni(at)imteam(dot)it> | 
| Subject: | Re: executeQuery hangs on busy server - PROPOSAL: socketTimeout parameter | 
| Date: | 2007-08-10 09:43:47 | 
| Message-ID: | Pine.BSO.4.64.0708100538530.31534@leary.csoft.net | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-jdbc | 
On Fri, 10 Aug 2007, Andrea Spinelli wrote:
> I am using jdbc to access a large database on a busy PostgreSQL server (8.1) 
> hosted on Windows, from several web applications.
>
> Occasionally, my executeQuery hang forever. They block on a read operation in 
> SocketInputStream.socketRead0 (seen on the debugger) and stay there for 
> _days_. They disappear only by stopping the application server (Tomcat).
I believe this is a bug in the 8.1 windows port.  What's the exact version 
you are using?  I think this was fixed in 8.1.6.
>       connection.setSoTimeout( 120000 );
>
> Long queries (>2min) fail with a SQLException signalling a communication 
> problem with the server - which is what I want.
>
> I think this could be reworked into one more connection parameter 
> "socketTimeout", where 0 means no timeout; the value of the parameter would 
> of course substitute the hard-coded 120000.
>
> I've seen a feature request on GBorg about stopping long-running queries, 
> which could be satisfied by what I'm proposing. (actually, the connection 
> parameter works connection-wide, while the feature request deals with single 
> queries).
People want the query to be stopped, but they don't want their whole 
connection to be killed which is what your change does.
Kris Jurka
| From | Date | Subject | |
|---|---|---|---|
| Next Message | László Hornyák | 2007-08-10 10:09:45 | Re: statement caching patch from Laszlo Hornyak for review | 
| Previous Message | Andrea Spinelli | 2007-08-10 08:24:22 | executeQuery hangs on busy server - PROPOSAL: socketTimeout parameter |