Return-Path: X-Original-To: apmail-db-derby-dev-archive@www.apache.org Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9331C9269 for ; Wed, 8 Feb 2012 21:49:24 +0000 (UTC) Received: (qmail 23673 invoked by uid 500); 8 Feb 2012 21:49:24 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 23648 invoked by uid 500); 8 Feb 2012 21:49:23 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 23610 invoked by uid 99); 8 Feb 2012 21:49:23 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Feb 2012 21:49:23 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Feb 2012 21:49:20 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id A7F671AB595 for ; Wed, 8 Feb 2012 21:48:59 +0000 (UTC) Date: Wed, 8 Feb 2012 21:48:59 +0000 (UTC) From: "Kathey Marsden (Updated) (JIRA)" To: derby-dev@db.apache.org Message-ID: <306307288.16780.1328737739689.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1012228928.39487.1324569330923.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Updated] (DERBY-5552) Derby threads hanging when using ClientXADataSource and a deadlock or lock timeout occurs MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-5552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kathey Marsden updated DERBY-5552: ---------------------------------- Attachment: derby-5552_withtest_diff.txt reattaching patch to make minor comment correction. I still would like someone more familiar with this area to look and see removing the nulling of the connection is going to cause problems in some scenarios and what those scenarios might be. > Derby threads hanging when using ClientXADataSource and a deadlock or lock timeout occurs > ----------------------------------------------------------------------------------------- > > Key: DERBY-5552 > URL: https://issues.apache.org/jira/browse/DERBY-5552 > Project: Derby > Issue Type: Bug > Components: Network Server > Affects Versions: 10.8.1.2 > Environment: Solaris 10, Glassfish V2.1.1, > Reporter: Brett Bergquist > Assignee: Kathey Marsden > Priority: Blocker > Attachments: DERBY-5552-p1.patch, DERBY-5552-p2.patch, ReproDerby5552LockTimeout.java, appserverstack.txt, client.tar.Z, derby-5552_withtest_diff.txt, derby-5552_withtest_diff.txt, derby.log, derbystackatshutdown.txt, execute.patch, transactionsleft.txt > > > The issue arrives when multiple XA transactions are done in parallel and there is either a lock timeout or a lock deadlock detected. When this happens the connection is leaked in the Glassfish connection pool and the client thread hangs in "org.apache.derby.client.netReply.fill(Reply.java:172)". > Shutting down the app server fails because the thread has a lock in "org.apache.derby.client.net.NetConnection40" and another task is calling "org.apache.derby.client.ClientPooledConnection.close(ClientPooledConnection.java:214)" which is waiting for the lock. > Killing the appsever using "kill" and then attempting to shutdown Derby network server causes the Network Server to hang. One of the threads hangs waiting for a lock at "org.apache.derby.impl.drda.NeworkServerControlImpl.removeFromSessionTable(NetworkServerControlImpl.java:1525)" and the "main" thread has this locked at "org.apache.derby.impl.drda.NetworkServerControlImpl.executeWork(NetworkServerControlImpl.java:2242)" and it itself is waiting for a lock which belongs to a thread that is stuck at "org.apache.derby.impl.services.locks.ActiveLock.waitForGrant(ActiveLock.java:118) which is in the TIMED_WAITING state. > Only by killing the Network Server using "kill" is possible at this point. > There are transactions left even though all clients have been removed. -- 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