Re: executeQuery Locked

From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: Lucas Sousa <lucas75(at)gmail(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: executeQuery Locked
Date: 2006-07-12 05:08:36
Message-ID: 44B483D4.3050001@opencloud.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Lucas Sousa wrote:

> stm.setQueryTimeout( timeout );

> It seems to me that for some (weird) reason, the query timeout is bein
> achieved without throwing any error or the postgresql driver detecting
> that.
>
> This is some know issue?

Unfortunately setQueryTimeout() is currently a no-op. As a workaround,
set the server's statement_timeout variable.

> Thread [zzzzzzz:12] (Suspended)
> SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int)
> line: not available [native method]
> SocketInputStream.read(byte[], int, int) line: not available
> BufferedInputStream.fill() line: not available
> BufferedInputStream.read() line: not available
> PGStream.ReceiveChar() line: 256
> QueryExecutorImpl.processResults(ResultHandler, int) line: 1164

The driver is waiting for results from the server. Either the query is
still running or something has got confused about what's happening at
the protocol level.

Can you reproduce this with loglevel=2 set (as a URL parameter, see the
driver docs)? Or a tcpdump/snoop/ethereal capture of the connection with
the server when it gets stuck would also be useful. Also, if you could
attach to the corresponding backend via gdb or similar and get a stack
trace that may help.

-O

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Oliver Jowett 2006-07-12 05:11:06 Re: how to monitor the amount of bytes fetched in a executeQuery()
Previous Message Oliver Jowett 2006-07-12 05:01:47 Re: Limit vs setMaxRows issue