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
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 |