Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 58047 invoked from network); 27 Feb 2008 11:14:45 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 27 Feb 2008 11:14:45 -0000 Received: (qmail 40808 invoked by uid 500); 27 Feb 2008 11:14:39 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 40714 invoked by uid 500); 27 Feb 2008 11:14:39 -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 40653 invoked by uid 99); 27 Feb 2008 11:14:38 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 27 Feb 2008 03:14:38 -0800 X-ASF-Spam-Status: No, hits=-1998.8 required=10.0 tests=ALL_TRUSTED,FS_REPLICA X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 27 Feb 2008 11:14:13 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 13D6F29A0015 for ; Wed, 27 Feb 2008 03:13:51 -0800 (PST) Message-ID: <1128846823.1204110831080.JavaMail.jira@brutus> Date: Wed, 27 Feb 2008 03:13:51 -0800 (PST) From: =?utf-8?Q?=C3=98ystein_Gr=C3=B8vlen_=28JIRA=29?= To: derby-dev@db.apache.org Subject: [jira] Created: (DERBY-3472) Replication: Thread deadlock when deleting many records. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org Replication: Thread deadlock when deleting many records. -------------------------------------------------------- Key: DERBY-3472 URL: https://issues.apache.org/jira/browse/DERBY-3472 Project: Derby Issue Type: Bug Components: Replication Affects Versions: 10.4.0.0 Environment: Derby trunk revision 631534 + DERBY 3205 patch failov= er-slave-2a. Reporter: =C3=98ystein Gr=C3=B8vlen When I tried to delete ca 280000 records from a table while replication was= running, the statement never completed. VisualVM reports a deadlock: Found one Java-level deadlock: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D "Thread-2": waiting to lock monitor 0x08164e4c (object 0xfa9db5f8, a java.lang.Object= ), which is held by "main" "main": waiting to lock monitor 0x08164d20 (object 0xfa9db608, a org.apache.derby= .impl.services.replication.master.AsynchronousLogShipper), which is held by "Thread-2" Java stack information for the threads listed above: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D "Thread-2": =09at org.apache.derby.impl.services.replication.buffer.ReplicationLogBuffe= r.next(ReplicationLogBuffer.java:182) =09- waiting to lock 0xfa9db5f8> (a java.lang.Object) =09at org.apache.derby.impl.services.replication.master.AsynchronousLogShip= per.shipALogChunk(AsynchronousLogShipper.java:218) =09- locked 0xfa9db608> (a org.apache.derby.impl.services.replication.maste= r.AsynchronousLogShipper) =09at org.apache.derby.impl.services.replication.master.AsynchronousLogShip= per.run(AsynchronousLogShipper.java:169) "main": =09at org.apache.derby.impl.services.replication.master.AsynchronousLogShip= per.workToDo(AsynchronousLogShipper.java:336) =09- waiting to lock 0xfa9db608> (a org.apache.derby.impl.services.replicat= ion.master.AsynchronousLogShipper) =09at org.apache.derby.impl.services.replication.master.MasterController.wo= rkToDo(MasterController.java:472) =09at org.apache.derby.impl.services.replication.buffer.ReplicationLogBuffe= r.switchDirtyBuffer(ReplicationLogBuffer.java:322) =09at org.apache.derby.impl.services.replication.buffer.ReplicationLogBuffe= r.appendLog(ReplicationLogBuffer.java:148) =09- locked 0xfa9db5f8> (a java.lang.Object) =09at org.apache.derby.impl.services.replication.master.MasterController.ap= pendLog(MasterController.java:328) =09at org.apache.derby.impl.store.raw.log.LogAccessFile.writeToLog(LogAcces= sFile.java:787) =09- locked 0xbb041788> (a org.apache.derby.impl.io.DirRandomAccessFile4) =09at org.apache.derby.impl.store.raw.log.LogAccessFile.flushDirtyBuffers(L= ogAccessFile.java:534) =09at org.apache.derby.impl.store.raw.log.LogAccessFile.switchLogBuffer(Log= AccessFile.java:611) =09- locked 0xbb041618> (a org.apache.derby.impl.store.raw.log.LogAccessFil= e) =09at org.apache.derby.impl.store.raw.log.LogAccessFile.reserveSpaceForChec= ksum(LogAccessFile.java:855) =09at org.apache.derby.impl.store.raw.log.LogToFile.appendLogRecord(LogToFi= le.java:3737) =09- locked 0xbb041528> (a org.apache.derby.impl.store.raw.log.LogToFile) =09at org.apache.derby.impl.store.raw.log.FileLogger.logAndDo(FileLogger.ja= va:370) =09- locked 0xfab06ec8> (a org.apache.derby.impl.store.raw.log.FileLogger) =09at org.apache.derby.impl.store.raw.xact.Xact.logAndDo(Xact.java:1193) =09at org.apache.derby.impl.store.raw.data.LoggableActions.doAction(Loggabl= eActions.java:221) =09at org.apache.derby.impl.store.raw.data.LoggableActions.actionDelete(Log= gableActions.java:64) =09at org.apache.derby.impl.store.raw.data.BasePage.deleteAtSlot(BasePage.j= ava:1149) =09at org.apache.derby.impl.store.access.btree.BTreeScan.delete(BTreeScan.j= ava:1386) =09at org.apache.derby.impl.sql.execute.IndexChanger.doDelete(IndexChanger.= java:369) =09at org.apache.derby.impl.sql.execute.IndexChanger.delete(IndexChanger.ja= va:544) =09at org.apache.derby.impl.sql.execute.IndexSetChanger.delete(IndexSetChan= ger.java:250) =09at org.apache.derby.impl.sql.execute.RowChangerImpl.deleteRow(RowChanger= Impl.java:476) =09at org.apache.derby.impl.sql.execute.DeleteResultSet.collectAffectedRows= (DeleteResultSet.java:405) =09at org.apache.derby.impl.sql.execute.DeleteResultSet.open(DeleteResultSe= t.java:137) =09at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPre= paredStatement.java:372) =09at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedState= ment.java:1234) =09- locked 0xfab36948> (a org.apache.derby.impl.jdbc.EmbedConnection40) =09at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java= :624) =09- locked 0xfab36948> (a org.apache.derby.impl.jdbc.EmbedConnection40) =09at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java= :556) =09at org.apache.derby.impl.tools.ij.ij.executeImmediate(ij.java:330) =09at org.apache.derby.impl.tools.ij.utilMain.doCatch(utilMain.java:508) =09at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(utilMain.java:3= 50) =09at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:248) =09at org.apache.derby.impl.tools.ij.Main.go(Main.java:215) =09at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:181) =09at org.apache.derby.impl.tools.ij.Main.main(Main.java:73) =09at org.apache.derby.tools.ij.main(ij.java:59) Found 1 deadlock. --=20 This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.