[Jdbc-commits] pgjdbc: Fix a deadlock that occurs when retrieving notifications.
User Jurka
jurka at pgfoundry.org
Tue Apr 1 07:19:38 UTC 2008
Log Message:
-----------
Fix a deadlock that occurs when retrieving notifications. Normal
query execution enters the QueryExecutor monitor and then calls a
synchronized method in the ProtocolConnection to update the
transaction state. Notification retrieval operates in the reverse
order, entering the ProtocolConnection monitor and then calling a
synchronized method in the QueryExecutor.
Remove the QueryExecutor call from ProtocolConnection and make the
higher level code responsible for calling it so we always acquire
locks in the same order.
Report and diagnosis by Joao Rui Leal.
Tags:
----
REL8_2_STABLE
Modified Files:
--------------
pgjdbc/org/postgresql/core:
QueryExecutor.java (r1.40 -> r1.40.6.1)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/jdbc/pgjdbc/org/postgresql/core/QueryExecutor.java.diff?r1=1.40&r2=1.40.6.1)
pgjdbc/org/postgresql/core/v2:
ProtocolConnectionImpl.java (r1.10 -> r1.10.2.1)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/jdbc/pgjdbc/org/postgresql/core/v2/ProtocolConnectionImpl.java.diff?r1=1.10&r2=1.10.2.1)
pgjdbc/org/postgresql/core/v3:
ProtocolConnectionImpl.java (r1.11 -> r1.11.2.1)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/jdbc/pgjdbc/org/postgresql/core/v3/ProtocolConnectionImpl.java.diff?r1=1.11&r2=1.11.2.1)
pgjdbc/org/postgresql/jdbc2:
AbstractJdbc2Connection.java (r1.40.2.3 -> r1.40.2.4)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/jdbc/pgjdbc/org/postgresql/jdbc2/AbstractJdbc2Connection.java.diff?r1=1.40.2.3&r2=1.40.2.4)
More information about the Jdbc-commits
mailing list