[Mondrian] Re:VirtualCubeTest.testCalculatedMemberAcrossCubesfailing on SMP

michael bienstein mbienstein at yahoo.fr
Mon Jan 22 07:14:59 EST 2007


If it's true that there is only one query thread running when we see this, then it must be the garbage collector thread that is interfering because it is running on a genuinely different os thread.  No idea how that would be though.

----- Message d'origine ----
De : Pappyn Bart <Bart.Pappyn at vandewiele.com>
À : Mondrian developer mailing list <mondrian at pentaho.org>
Envoyé le : Lundi, 22 Janvier 2007, 12h32mn 38s
Objet : RE: Re : [Mondrian] Re:VirtualCubeTest.testCalculatedMemberAcrossCubesfailing on SMP



 
DIV {
MARGIN:0px;}



We must get one thing straight : regressions tests - except 
for paralleltest - are using

only one thread.  All other tests are not multi 
threaded.



From: mondrian-bounces at pentaho.org 
[mailto:mondrian-bounces at pentaho.org] On Behalf Of michael 
bienstein
Sent: maandag 22 januari 2007 12:28
To: Mondrian 
developer mailing list
Subject: Re : [Mondrian] 
Re:VirtualCubeTest.testCalculatedMemberAcrossCubesfailing on 
SMP






I 
think a debugger won't work because debugging multi-threaded apps is really 
really difficult.

I did a code review but couldn't work out where it came 
from.  I assume the thread ID is positive and unique so that if the same 
Thread object is attached to an underlying os thread it won't be doing the same 
thing, otherwise the == operator would fail.  The only thing I'd do 
differently is wrap the try {} finally bloc in the RolapResult around more than 
just the evaluateBody() method because the axes get evaluated out of it.  
But the bug doesn't come from there.  

Oh and you might get 
conflicting data because in one MDX query we can open and use multiple JDBC 
Connections.  Should use a ThreadLocal to keep the open connection and 
re-use it.

Michael


----- 
Message d'origine ----
De : Pappyn Bart 
<Bart.Pappyn at vandewiele.com>
À : John V. Sichi 
<jsichi at gmail.com>
Cc : Mondrian developer mailing list 
<mondrian at pentaho.org>
Envoyé le : Lundi, 22 Janvier 2007, 11h10mn 
25s
Objet : RE: [Mondrian] Re: 
VirtualCubeTest.testCalculatedMemberAcrossCubesfailing on SMP


Hi John,

I already changed that piece of code, added an extra data 
member to
remember
if thread local or not.  Cannot check it in 
for the moment though. 

The best thing to catch this one, would be to 
attach a debugger on that
particular test.  Best in combination 
with outer tests, not running it
on its own.

If people who are able to 
reproduce this bug, would be able to do that
and
tell me what happens, I 
would be very pleased.

Thanks,
Bart


-----Original 
Message-----
From: mondrian-bounces at pentaho.org 
[mailto:mondrian-bounces at pentaho.org]
On Behalf Of John V. Sichi
Sent: 
maandag 22 januari 2007 11:05
To: Pappyn Bart
Cc: 
mondrian at pentaho.org
Subject: [Mondrian] 
Re:
VirtualCubeTest.testCalculatedMemberAcrossCubesfailing on 
SMP

Pappyn Bart wrote:
> Hi John,
> 
> I have been busy 
together with Julian trying to simulate this problem.

OK.  I 
looked through the code changes but couldn't spot 
anything
obvious.

While I was reviewing, I did notice one unrelated 
thing.  In your
original code, you were using Thread.getId(), and 
-1 as an invalid
thread ID.  Then you had to change it to 
System.identityHashCode(thread)
for 1.4-compatibility.  However, I 
don't think there's any guarantee
that identityHashCode can't return -1 (even 
though it's unlikely given
that most JVM's implement it as a pointer 
address), so is the following
test in RolapStar.clearCachedAggregations still 
correct?

     if (aggregationKey.getThreadId() == 
threadId) {
         
it.remove();
     
}

JVS
_______________________________________________
Mondrian 
mailing list
Mondrian at pentaho.org
http://lists.pentaho.org/mailman/listinfo/mondrian

______________________________________________________________________
This 
email has been scanned by the Email Security 
System.
______________________________________________________________________

_______________________________________________
Mondrian 
mailing list
Mondrian at pentaho.org
http://lists.pentaho.org/mailman/listinfo/mondrian








Découvrez une nouvelle façon d'obtenir des réponses à toutes vos questions ! 
Profitez des connaissances, des opinions et des expériences des internautes sur 
Yahoo! 
Questions/Réponses. 

______________________________________________________________________
This 
email has been scanned by the Email Security 
System.
______________________________________________________________________
_______________________________________________
Mondrian mailing list
Mondrian at pentaho.org
http://lists.pentaho.org/mailman/listinfo/mondrian







	

	
		
___________________________________________________________________________ 
Découvrez une nouvelle façon d'obtenir des réponses à toutes vos questions ! 
Profitez des connaissances, des opinions et des expériences des internautes sur Yahoo! Questions/Réponses 
http://fr.answers.yahoo.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20070122/c923b0bb/attachment.html 


More information about the Mondrian mailing list