Re: Thread hangs in VisibleBufferedInputStream.readMore - Mailing list pgsql-jdbc

From Oliver Jowett
Subject Re: Thread hangs in VisibleBufferedInputStream.readMore
Date
Msg-id 49F6A066.8010105@opencloud.com
Whole thread Raw
In response to Thread hangs in VisibleBufferedInputStream.readMore  (Oliver Hitz <oliver@net-track.ch>)
Responses Re: Thread hangs in VisibleBufferedInputStream.readMore  (Oliver Hitz <oliver@net-track.ch>)
Re: Thread hangs in VisibleBufferedInputStream.readMore  (Oliver Hitz <oliver@net-track.ch>)
List pgsql-jdbc
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

pgsql-jdbc by date:

Previous
From: Oliver Hitz
Date:
Subject: Thread hangs in VisibleBufferedInputStream.readMore
Next
From: Oliver Hitz
Date:
Subject: Re: Thread hangs in VisibleBufferedInputStream.readMore