Oliver Hitz wrote:
> I have recently upgraded from postgresql 7.4.7 to 8.3.7. Since then, I
> have experienced in our application a thread that hangs forever. The
> problem is quite difficult to trace, since the program hangs very
> irregularly. Sometimes it hangs after 10 minutes already, sometimes only
> after two days.
>
> After searching the archives, I thought this was maybe connected to batch
> inserts and batch updates. Since the thread in question is doing a lot of
> batch updates and inserts, I changed it to do normal updates/inserts. But
> without success.
It won't be the batch insert deadlock, that manifests as blocking on
write, not on read.
> The call stack of the hanging thread is as follows:
>
> "MonitoringThread" prio=1 tid=0x00007f40187ac350 nid=0x41e7 runnable [0x0000000045157000..0x0000000045157e20]
> at java.net.SocketInputStream.socketRead0(Native Method)
> at java.net.SocketInputStream.read(SocketInputStream.java:129)
> at org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:135)
This is "normal" in that the driver is just waiting for more data from
the server.
> Any hints on how I could go about debugging this issue?
I'd take a look at the server backend processes to see what they're
doing when your application hangs.
-O