We have a problem with a deadlock in Jackrabbit. We are using version
1.2.1 with some modifications to use a Oracle connection through JNDI.
Now we have a deadlock in the DatabasePersistenceManager. Can someone
explain to me what we're doing wrong.
Stacktrace:
"ExecuteThread: '21' for queue: 'weblogic.kernel.Default'" daemon prio=1
tid=0x76888760 nid=0x569a waiting for monitor entry [7574f000..7575187c]
< at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.exists(DatabasePersistenceManager.java:645)
< - waiting to lock <0x8a7ae690> (a java.lang.String)
< at
org.apache.jackrabbit.core.state.SharedItemStateManager.hasNonVirtualItemState(SharedItemStateManager.java:1050)
< at
org.apache.jackrabbit.core.state.SharedItemStateManager.hasItemState(SharedItemStateManager.java:287)
< at
org.apache.jackrabbit.core.state.LocalItemStateManager.hasItemState(LocalItemStateManager.java:180)
< at
org.apache.jackrabbit.core.state.XAItemStateManager.hasItemState(XAItemStateManager.java:252)
< at
org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:163)
< at
org.apache.jackrabbit.core.HierarchyManagerImpl.getItemState(HierarchyManagerImpl.java:120)
< at
org.apache.jackrabbit.core.HierarchyManagerImpl.resolvePath(HierarchyManagerImpl.java:267)
< at
org.apache.jackrabbit.core.CachingHierarchyManager.resolvePath(CachingHierarchyManager.java:132)
< at
org.apache.jackrabbit.core.HierarchyManagerImpl.resolvePath(HierarchyManagerImpl.java:203)
< at
org.apache.jackrabbit.core.HierarchyManagerImpl.resolvePath(HierarchyManagerImpl.java:341)
< at
org.apache.jackrabbit.core.CachingHierarchyManager.resolvePath(CachingHierarchyManager.java:193)
< at
org.apache.jackrabbit.core.NodeImpl.resolveRelativeNodePath(NodeImpl.java:243)
< at org.apache.jackrabbit.core.NodeImpl.hasNode(NodeImpl.java:2507)
< at
nl.anwb.autoportaal.dao.jackrabbit.MediaRepositoryImpl$1.doInJcr(MediaRepositoryImpl.java:44)
< at org.springmodules.jcr.JcrTemplate.execute(JcrTemplate.java:76)
< at org.springmodules.jcr.JcrTemplate.execute(JcrTemplate.java:108)
< at
nl.anwb.autoportaal.dao.jackrabbit.MediaRepositoryImpl.getMedia(MediaRepositoryImpl.java:40)
Environment:
Weblogic 8.1
Oracle 9
Weblogic connection pool with 15 connections
Jackrabbit 1.2.1
I hope someone can help me.
Nick Stolwijk