[ 
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

        

Reply via email to