[Mondrian] deadlock in MemberCacheHelper

Julian Hyde jhyde at pentaho.com
Thu Apr 3 00:45:29 EDT 2008


Logged bug 1932920
<http://sourceforge.net/tracker/index.php?func=detail&aid=1932920&group_id=3
5302&atid=414613> Deadlock in MemberCacheHelper. Will take a look tomorrow.

> -----Original Message-----
> From: mondrian-bounces at pentaho.org
> [mailto:mondrian-bounces at pentaho.org] On Behalf Of John V. Sichi
> Sent: Wednesday, April 02, 2008 5:31 PM
> To: mondrian at pentaho.org
> Subject: [Mondrian] deadlock in MemberCacheHelper
>
> A concurrency scenario for LucidEra perf tests (run as part of
> validating the mainline Mondrian codebase for integration)
> ran into the
> deadlock below.  The code being tested was fairly recent (I
> can dig up
> the change number if any line numbers don't match).
>
> "pool-2-thread-1" id=63 idx=0xf8 tid=8662 prio=5 alive, in
> native, blocked
>      -- Blocked trying to get lock:
> mondrian/rolap/MemberCacheHelper at 0x25b1daf0[thin lock]
>      at jrockit/vm/Threads.sleep(I)V(Native Method)
>      at
> jrockit/vm/Locks.waitForThinRelease(Locks.java:1233)[optimized]
>      at
> jrockit/vm/Locks.monitorEnterSecondStage(Locks.java:1307)[optimized]
>      at
> mondrian/rolap/MemberCacheHelper.putMember(MemberCacheHelper.j
> ava:84)[optimized]
>      at
> mondrian/rolap/SqlMemberSource.makeMember(SqlMemberSource.java
> :820)[inlined]
>      at
> mondrian/rolap/RolapCubeHierarchy$RolapCubeSqlMemberSource.mak
eMember(RolapCubeHierarchy.java:693)[optimized]
>      at
> mondrian/rolap/SqlTupleReader$Target.internalAddRow(SqlTupleRe
ader.java:152)[inlined]
>      at
> mondrian/rolap/SqlTupleReader$Target.addRow(SqlTupleReader.jav
a:121)[inlined]
>      at
> mondrian/rolap/SqlTupleReader.prepareTuples(SqlTupleReader.jav
> a:375)[optimized]
>      ^-- Holding lock:
> mondrian/rolap/MemberCacheHelper at 0x25b1db50[thin
> lock]
>      at
> mondrian/rolap/SqlTupleReader.readTuples(SqlTupleReader.java:4
> 43)[inlined]
>      at
> mondrian/rolap/RolapNativeSet$SetEvaluator.executeList(RolapNa
tiveSet.java:238)[inlined]
>      at
> mondrian/rolap/RolapNativeSet$SetEvaluator.execute(RolapNative
Set.java:152)[optimized]
>      at
> mondrian/olap/fun/NonEmptyCrossJoinFunDef$1.evaluateList(NonEm
ptyCrossJoinFunDef.java:54)[optimized]
> ...
>
> "pool-2-thread-3" id=66 idx=0x104 tid=8666 prio=5 alive, in
> native, blocked
>      -- Blocked trying to get lock:
> mondrian/rolap/MemberCacheHelper at 0x25b1db50[thin lock]
>      at jrockit/vm/Threads.sleep(I)V(Native Method)
>      at
> jrockit/vm/Locks.waitForThinRelease(Locks.java:1233)[optimized]
>      at
> jrockit/vm/Locks.monitorEnterSecondStage(Locks.java:1307)[optimized]
>      at
> mondrian/rolap/MemberCacheHelper.getMember(MemberCacheHelper.j
> ava:73)[inlined]
>      at
> mondrian/rolap/RolapCubeHierarchy$RolapCubeHierarchyMemberRead
er.lookupCubeMember(RolapCubeHierarchy.java:617)[inlined]
>      at
> mondrian/rolap/RolapCubeHierarchy$RolapCubeHierarchyMemberRead
er.readMemberChildren(RolapCubeHierarchy.java:475)[optimized]
>      ^-- Holding lock:
> mondrian/rolap/MemberCacheHelper at 0x25b1daf0[recursive]
>      at
> mondrian/rolap/SmartMemberReader.getMemberChildren(SmartMember
> Reader.java:201)[inlined]
>      at
> mondrian/rolap/SmartMemberReader.getMemberChildren(SmartMember
> Reader.java:169)[optimized]
>      ^-- Holding lock:
> mondrian/rolap/MemberCacheHelper at 0x25b1daf0[thin
> lock]
>      at
> mondrian/rolap/RolapSchemaReader.internalGetMemberChildren(Rol
> apSchemaReader.java:155)[inlined]
>      at
> mondrian/rolap/RolapSchemaReader.lookupMemberChildByName(Rolap
> SchemaReader.java:374)[optimized]
>      at
> mondrian/rolap/RolapCubeMember.lookupChild(RolapCubeMember.jav
> a:319)[optimized]
>      at
> mondrian/rolap/RolapSchemaReader.getElementChild(RolapSchemaRe
> ader.java:307)[inlined]
>      at mondrian/olap/Util.lookupCompound(Util.java:563)[inlined]
>      at
> mondrian/rolap/RolapSchemaReader.lookupCompound(RolapSchemaRea
> der.java:345)[optimized]
>      at
> mondrian/olap/DelegatingSchemaReader.lookupCompound(Delegating
> SchemaReader.java:100)[inlined]
>      at
> mondrian/olap/Query$QuerySchemaReader.lookupCompound(Query.jav
a:1582)[inlined]
>      at
> mondrian/olap/Query$QuerySchemaReader.lookupCompound(Query.jav
a:1549)[optimized]
> ...
>
> JVS
> _______________________________________________
> Mondrian mailing list
> Mondrian at pentaho.org
> http://lists.pentaho.org/mailman/listinfo/mondrian
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20080402/f5f323a4/attachment.html 


More information about the Mondrian mailing list