jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raj <db.raj...@gmail.com>
Subject Re: Jackrabbit 1.6.4 locking issue
Date Wed, 05 Jan 2011 16:19:14 GMT
Hi Everyone,

Any pointers would be helpful.

thanks in advance,
Rajeev

On Tue, Dec 21, 2010 at 1:51 PM, Raj <db.rajeev@gmail.com> wrote:

>
> 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.<init>(DefaultISMLocking.java:76)
>    at
> org.apache.jackrabbit.core.state.DefaultISMLocking$WriteLockImpl.<init>(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.<init>(DefaultISMLocking.java:102)
>    at
> org.apache.jackrabbit.core.state.DefaultISMLocking$ReadLockImpl.<init>(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)
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message