From users-return-16727-apmail-jackrabbit-users-archive=jackrabbit.apache.org@jackrabbit.apache.org Tue Dec 21 08:22:12 2010 Return-Path: Delivered-To: apmail-jackrabbit-users-archive@minotaur.apache.org Received: (qmail 50007 invoked from network); 21 Dec 2010 08:22:12 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 21 Dec 2010 08:22:12 -0000 Received: (qmail 63246 invoked by uid 500); 21 Dec 2010 08:22:11 -0000 Delivered-To: apmail-jackrabbit-users-archive@jackrabbit.apache.org Received: (qmail 63112 invoked by uid 500); 21 Dec 2010 08:22:09 -0000 Mailing-List: contact users-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@jackrabbit.apache.org Delivered-To: mailing list users@jackrabbit.apache.org Received: (qmail 63025 invoked by uid 99); 21 Dec 2010 08:22:08 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Dec 2010 08:22:08 +0000 X-ASF-Spam-Status: No, hits=1.5 required=10.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of db.rajeev@gmail.com designates 209.85.216.170 as permitted sender) Received: from [209.85.216.170] (HELO mail-qy0-f170.google.com) (209.85.216.170) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Dec 2010 08:22:02 +0000 Received: by qyk10 with SMTP id 10so4537629qyk.1 for ; Tue, 21 Dec 2010 00:21:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=el27FJFc7QLJXUfNTty8N873h7wvtcNUAQiSkEJLfWk=; b=oCAfyZTW8JyXwHiHlSzocBumJt7pS5B4BVz3jS1KIxjgioiJsc5cLkjlG98PmDVOaC 0+2Sxk+gj7lRc+cFox3b7ys9HNpfFbb6UkqDJ8qdBAx9XqYaNn4nAjTGSkFPR4kfgUsz WJDj4+s1r6jL07UC5nddQVka9FeUkG3sXaHuQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=xuVVSsYhftN8SGWKej0AXzSflHIxuW37RlT0OhQDQMkt3avBKcVLng0laMRKFr9mtk 6u7pYB8EOZBa8KL2j+TVUcvLhjHJQtlnXNwrV5NdGs9juiA+1fdTKD/eWWyKsdCOQlw1 gQsVqVDxK5SDvxqCZ4c9GdCYGaTpRHOBfT7i8= MIME-Version: 1.0 Received: by 10.229.95.11 with SMTP id b11mr4716796qcn.28.1292919701594; Tue, 21 Dec 2010 00:21:41 -0800 (PST) Received: by 10.229.52.73 with HTTP; Tue, 21 Dec 2010 00:21:41 -0800 (PST) Date: Tue, 21 Dec 2010 13:51:41 +0530 Message-ID: Subject: Jackrabbit 1.6.4 locking issue From: Raj To: users@jackrabbit.apache.org Content-Type: multipart/alternative; boundary=0016e648be788962830497e7530a --0016e648be788962830497e7530a Content-Type: text/plain; charset=ISO-8859-1 hi All, I am facing deadlock in my web application, which am suspecting is due to JackRabbit. Any pointers to resolve this are welcome. Environment: JackRabbit 1.6.4 on Java 1.6.0_18 (32bit, windows 7 64bit). Webapp is deployed under tomcat 5.5.28 There are 3 user operations initiated sequentially with 4-5 seconds delay. All the 3 operations are similar in nature, they first read data from jackrabbit repo and copy that data. http-80-Processor18 - 1st operation, http-80-Processor19 - 2nd http-80-Processor25 - is 3rd. Relevant thread dump is posted below. Questions/Observations - Q1: processor 18 is waiting for lock 0x0c9ffda8 when it has already acquired it ! Q2: processor 19 is waiting for 0x0c9de878 while it is already acquired by processor 25. Q3: processor 25 is waiting for lock 0x0c9ffd98 when it has already acquired it ! regards, Rajeev thread dump ==================================================== "http-80-Processor18" daemon prio=6 tid=0x3c80c000 nid=0xce0 in Object.wait() [0x41e9d000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x0c9ffda8> (a EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at java.lang.Object.wait(Object.java:485) at EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown Source) - locked <0x0c9ffda8> (a EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock) at org.apache.jackrabbit.core.state.DefaultISMLocking$WriteLockImpl.(DefaultISMLocking.java:76) at org.apache.jackrabbit.core.state.DefaultISMLocking$WriteLockImpl.(DefaultISMLocking.java:70) at org.apache.jackrabbit.core.state.DefaultISMLocking.acquireWriteLock(DefaultISMLocking.java:64) at org.apache.jackrabbit.core.state.SharedItemStateManager.acquireWriteLock(SharedItemStateManager.java:1836) at org.apache.jackrabbit.core.state.SharedItemStateManager.access$200(SharedItemStateManager.java:116) at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:558) at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:1473) at org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:1503) at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:351) at org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:354) at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326) at org.apache.jackrabbit.core.BatchedItemOperations.update(BatchedItemOperations.java:155) at org.apache.jackrabbit.core.WorkspaceImpl.internalCopy(WorkspaceImpl.java:448) at org.apache.jackrabbit.core.WorkspaceImpl.copy(WorkspaceImpl.java:666) at com.thed.repository.TestcaseContentsManager.copyTestCases(TestcaseContentsManager.java:354) ==================================================== "http-80-Processor19" daemon prio=6 tid=0x3c80c400 nid=0x15e0 waiting for monitor entry [0x41f2d000] java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:167) - waiting to lock <0x0c9de878> (a org.apache.jackrabbit.core.state.LocalItemStateManager) at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:198) at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:352) at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:298) at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:562) - locked <0x0c9de2c8> (a org.apache.jackrabbit.core.ItemManager) at org.apache.jackrabbit.core.lock.LockManagerImpl.refresh(LockManagerImpl.java:1092) at org.apache.jackrabbit.core.lock.LockManagerImpl.nodeAdded(LockManagerImpl.java:1122) at org.apache.jackrabbit.core.lock.LockManagerImpl.onEvent(LockManagerImpl.java:1025) at org.apache.jackrabbit.core.observation.EventConsumer.consumeEvents(EventConsumer.java:244) at org.apache.jackrabbit.core.observation.ObservationDispatcher.dispatchEvents(ObservationDispatcher.java:201) at org.apache.jackrabbit.core.observation.EventStateCollection.dispatch(EventStateCollection.java:474) at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:780) at org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:1503) at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:351) at org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:354) at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326) at org.apache.jackrabbit.core.BatchedItemOperations.update(BatchedItemOperations.java:155) at org.apache.jackrabbit.core.WorkspaceImpl.internalCopy(WorkspaceImpl.java:448) at org.apache.jackrabbit.core.WorkspaceImpl.copy(WorkspaceImpl.java:666) ==================================================== "http-80-Processor25" daemon prio=6 tid=0x3c80e800 nid=0xb10 in Object.wait() [0x4228d000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x0c9ffd98> (a EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock) at java.lang.Object.wait(Object.java:485) at EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock.acquire(Unknown Source) - locked <0x0c9ffd98> (a EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock) at org.apache.jackrabbit.core.state.DefaultISMLocking$ReadLockImpl.(DefaultISMLocking.java:102) at org.apache.jackrabbit.core.state.DefaultISMLocking$ReadLockImpl.(DefaultISMLocking.java:96) at org.apache.jackrabbit.core.state.DefaultISMLocking.acquireReadLock(DefaultISMLocking.java:53) at org.apache.jackrabbit.core.state.SharedItemStateManager.acquireReadLock(SharedItemStateManager.java:1822) at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:253) at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:107) at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:172) - locked <0x0c9de878> (a org.apache.jackrabbit.core.state.LocalItemStateManager) at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:198) at org.apache.jackrabbit.core.HierarchyManagerImpl.getItemState(HierarchyManagerImpl.java:150) at org.apache.jackrabbit.core.HierarchyManagerImpl.getPath(HierarchyManagerImpl.java:393) at org.apache.jackrabbit.core.CachingHierarchyManager.getPath(CachingHierarchyManager.java:229) at org.apache.jackrabbit.core.lock.LockManagerImpl.getPath(LockManagerImpl.java:751) at org.apache.jackrabbit.core.lock.LockManagerImpl.getLockInfo(LockManagerImpl.java:486) --0016e648be788962830497e7530a--