<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<STYLE type=text/css>DIV {
        MARGIN: 0px
}
</STYLE>
<META content="MSHTML 6.00.5730.11" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=256272911-22012007><FONT face=Arial
color=#0000ff size=2>We must get one thing straight : regressions tests - except
for paralleltest - are using</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=256272911-22012007><FONT face=Arial
color=#0000ff size=2>only one thread. All other tests are not multi
threaded.</FONT></SPAN></DIV>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> mondrian-bounces@pentaho.org
[mailto:mondrian-bounces@pentaho.org] <B>On Behalf Of </B>michael
bienstein<BR><B>Sent:</B> maandag 22 januari 2007 12:28<BR><B>To:</B> Mondrian
developer mailing list<BR><B>Subject:</B> Re : [Mondrian]
Re:VirtualCubeTest.testCalculatedMemberAcrossCubesfailing on
SMP<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV
style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">
<DIV
style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman,new york,times,serif">I
think a debugger won't work because debugging multi-threaded apps is really
really difficult.<BR><BR>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. <BR><BR>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.<BR><BR>Michael<BR><BR>
<DIV
style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman,new york,times,serif">-----
Message d'origine ----<BR>De : Pappyn Bart
<Bart.Pappyn@vandewiele.com><BR>À : John V. Sichi
<jsichi@gmail.com><BR>Cc : Mondrian developer mailing list
<mondrian@pentaho.org><BR>Envoyé le : Lundi, 22 Janvier 2007, 11h10mn
25s<BR>Objet : RE: [Mondrian] Re:
VirtualCubeTest.testCalculatedMemberAcrossCubesfailing on SMP<BR><BR>
<DIV>Hi John,<BR><BR>I already changed that piece of code, added an extra data
member to<BR>remember<BR>if thread local or not. Cannot check it in
for the moment though. <BR><BR>The best thing to catch this one, would be to
attach a debugger on that<BR>particular test. Best in combination
with outer tests, not running it<BR>on its own.<BR><BR>If people who are able to
reproduce this bug, would be able to do that<BR>and<BR>tell me what happens, I
would be very pleased.<BR><BR>Thanks,<BR>Bart<BR><BR><BR>-----Original
Message-----<BR>From: mondrian-bounces@pentaho.org
[mailto:mondrian-bounces@pentaho.org]<BR>On Behalf Of John V. Sichi<BR>Sent:
maandag 22 januari 2007 11:05<BR>To: Pappyn Bart<BR>Cc:
mondrian@pentaho.org<BR>Subject: [Mondrian]
Re:<BR>VirtualCubeTest.testCalculatedMemberAcrossCubesfailing on
SMP<BR><BR>Pappyn Bart wrote:<BR>> Hi John,<BR>> <BR>> I have been busy
together with Julian trying to simulate this problem.<BR><BR>OK. I
looked through the code changes but couldn't spot
anything<BR>obvious.<BR><BR>While I was reviewing, I did notice one unrelated
thing. In your<BR>original code, you were using Thread.getId(), and
-1 as an invalid<BR>thread ID. Then you had to change it to
System.identityHashCode(thread)<BR>for 1.4-compatibility. However, I
don't think there's any guarantee<BR>that identityHashCode can't return -1 (even
though it's unlikely given<BR>that most JVM's implement it as a pointer
address), so is the following<BR>test in RolapStar.clearCachedAggregations still
correct?<BR><BR> if (aggregationKey.getThreadId() ==
threadId) {<BR>
it.remove();<BR>
}<BR><BR>JVS<BR>_______________________________________________<BR>Mondrian
mailing list<BR>Mondrian@pentaho.org<BR><A
href="http://lists.pentaho.org/mailman/listinfo/mondrian"
target=_blank>http://lists.pentaho.org/mailman/listinfo/mondrian</A><BR><BR>______________________________________________________________________<BR>This
email has been scanned by the Email Security
System.<BR>______________________________________________________________________<BR><BR>_______________________________________________<BR>Mondrian
mailing list<BR>Mondrian@pentaho.org<BR><A
href="http://lists.pentaho.org/mailman/listinfo/mondrian"
target=_blank>http://lists.pentaho.org/mailman/listinfo/mondrian</A><BR></DIV></DIV><BR></DIV></DIV><BR>
<HR SIZE=1>
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
<A href="http://fr.rd.yahoo.com/evt=42054/*http://fr.answers.yahoo.com">Yahoo!
Questions/Réponses</A>.
<BR>______________________________________________________________________<BR>This
email has been scanned by the Email Security
System.<BR>______________________________________________________________________<BR></BODY></HTML>