Spurious failure to obtain row lock possible in PG 9.1?

From: henk de wit <henk53602(at)hotmail(dot)com>
To: <pgsql-admin(at)postgresql(dot)org>
Subject: Spurious failure to obtain row lock possible in PG 9.1?
Date: 2012-09-24 21:21:10
Message-ID: COL104-W253AD06D6F4F89C3EC1F76F59E0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin


I'm using Postgres 9.1 on Debian Lenny and via a Java server (JBoss AS 6.1) I'm executing a simple "select ... for update" query:
SELECT
importing
FROM
customer
WHERE
id = :customer_id
FOR UPDATE NOWAIT
Once every 10 to 20 times Postgres fails to obtain the lock for no apparent reason:
18:22:18,285 WARN [org.hibernate.util.JDBCExceptionReporter] SQL Error: 0, SQLState: 55P0318:22:18,285 ERROR [org.hibernate.util.JDBCExceptionReporter] ERROR: could not obtain lock on row in relation "customer"
I'm "pretty" sure there's really no other process that has the lock, as I'm the only one on a test DB. If I execute the query immediately again, it does succeed in obtaining the lock. I can however not reproduce this via e.g. PGAdmin.

Is it possible or perhaps even known that PG has this behavior, or should I look for the cause in the Java code? (I'm using Java EE"s entity manager to execute a native query inside an EJB bean that lets a JDBC connection from a pool join a JTA transaction.)
Thanks!

Browse pgsql-admin by date

  From Date Subject
Next Message Vibhor Kumar 2012-09-24 21:33:52 Re: dropping a large table is taking a very long time (about 2 hours so far)
Previous Message Steve Crawford 2012-09-24 21:15:23 Re: dropping a large table is taking a very long time (about 2 hours so far)