[
https://issues.apache.org/jira/browse/DERBY-5560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13419080#comment-13419080
]
Brett Bergquist commented on DERBY-5560:
----------------------------------------
I still am not able to help provide tests, but this is an important fix as it
does occur in production. I have been running with this patched in place at a
large telecom running under Glassfish and have not seen this issue since the
patch was put in place.
In upgrading to 10.9.1.0, I have had to reapplied this patch and provide a
custom build.
> Java deadlock between LogicalConnection40 and ClientXAConnection40
> ------------------------------------------------------------------
>
> Key: DERBY-5560
> URL: https://issues.apache.org/jira/browse/DERBY-5560
> Project: Derby
> Issue Type: Bug
> Components: Network Client
> Affects Versions: 10.8.2.2
> Environment: Solaris 10
> Glassfish V2.1.1
> ClientXADataSource connection pool setup to close all connections on any error
> Reporter: Brett Bergquist
> Labels: derby_triage10_9
> Attachments: DERBY-5560.patch
>
>
> There is a Java deadlock between LogicalConnection40 and
> ClientXAConnection40. The order of calls that cause the deadlock are:
> Thread 1
> ----
> LogicalConnection.close
> ClientPooledConnection.recycleConnection
> Thread 2
> ----
> ClientPooledConnection.close
> LogicalConnection.nullPhysicalConnection
> Thread 1 acquires a lock on the LogicalConnection and attempts to acquire a
> lock on the ClientPooledConnection
> Thread 2 acquires a lock on the ClientPooledConnection and attempts to
> acquire a lock on the LogicalConnection
> In production this occurs when one thread is committing a transaction and
> another thread is trying to close the connection. This occurred because the
> Glassfish connection pool is setup to close all connections on any error on
> any connection and an error has been detected on another connection in the
> pool.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira