Hi,
I've got a JDBC client which got hung in reading response to a DML statement:
[junit] "Thread-11201" prio=1 tid=0x0000002ac9df56e0 nid=0x3995
runnable [0x0000000041a70000..0x0000000041a70db0]
[junit] at java.net.SocketInputStream.socketRead0(Native Method)
[junit] at java.net.SocketInputStream.read(SocketInputStream.java:129)
[junit] at
org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:135)
[junit] at
org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:104)
[junit] at
org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:73)
[junit] at org.postgresql.core.PGStream.ReceiveChar(PGStream.java:259)
[junit] at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1166)
[junit] at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192)
[junit] - locked <0x0000002ab85b1918> (a
org.postgresql.core.v3.QueryExecutorImpl)
[junit] at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
[junit] at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350)
[junit] at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:304)
I can also identify a couple of back-end processes presumably related
to the client:
postgres 14727 9868 0 22:34 ? 00:00:00 postgres: pkovacs
chemaxon 127.0.0.1(12496) idle in transaction
postgres 14735 9868 0 22:34 ? 00:00:00 postgres: pkovacs
chemaxon 127.0.0.1(12497) idle in transaction
postgres 14737 9868 0 22:34 ? 00:00:00 postgres: pkovacs
chemaxon 127.0.0.1(12498) UPDATE waiting
postgres 14738 9868 0 22:34 ? 00:00:00 postgres: pkovacs
chemaxon 127.0.0.1(12499) idle
postgres 14739 9868 0 22:34 ? 00:00:00 postgres: pkovacs
chemaxon 127.0.0.1(12500) idle
postgres 14740 9868 0 22:34 ? 00:00:00 postgres: pkovacs
chemaxon 127.0.0.1(12501) idle
Please, could you suggest me a couple of things which I can/should
check and how I can do it? (Locks/contention would be an obvious
candidate, but I am fairly sure that the database has only one client:
mine.)
Thanks
Peter