[Mondrian] Multi-user access to mondrian fails under high stress

Pappyn Bart Bart.Pappyn at vandewiele.com
Thu Jan 4 04:20:35 EST 2007

After a lot of debugging.  I think I found that the problem is caused by
the fact I use cubes that
have aggregate cache turned off.
In RolapResult.executeBody(), there is a loop that evaluates all
expressions and tries to load the needed
aggregations afterwards.  This loop will run until maxEvalDepth is
reached and then throw an exception.
But if there is multi-user access, it is possible that another thread
flushed the aggregate cache of the cube, while another thread is still
trying to load all aggregates.  In most cases this will add more loops
and thus eventually the loop will reach maxEvalDepth and throw an
I am not sure if anyone has a suggestion how to do things better ?
Could the aggregate cache be flushed in a better way ?


From: mondrian-bounces at pentaho.org [mailto:mondrian-bounces at pentaho.org]
On Behalf Of Pappyn Bart
Sent: woensdag 3 januari 2007 16:34
To: mondrian at pentaho.org
Subject: [Mondrian] Multi-user access to mondrian fails under high

Can someone explain me why mondrian fails to execute queries when a
lot of simultaneous queries are executed ?
When my system is under a lot of stress, then queries usually start to
fail : maxEvalDepth is reached and an error is thrown.
Executing the same queries on a system that is not running under high
stress, then all queries run fine.
The place where the failure occurs is in RolapResult.executeBody();

This email has been scanned by the Email Security System.

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

More information about the Mondrian mailing list