[Mondrian] RolapResultShepherd

Luc Boudreau lucboudreau at gmail.com
Mon Aug 15 12:03:58 EDT 2011


Hi Julian,

I used a dedicated daemon thread so that one and only one thread would run
this process, optimized the code so that it does as little as possible, then
made sure that it would enter a sleeping state between the runs. Having a
timer thread amounts to the roughly the same (IIRC JVMs implement it as a
separate thread as well), but with less control over what the thread
actually does, when it sleeps and what have you. I can convert it to use
Timer, but I don't see how this would use less resources.

As for the exception striping, I was skeptical at first about doing this, as
I would end up wrapping checked exceptions in a MondrianException, so back
to square one. I'll give it a try and see if I can do it in a more elegant
way.

Cheers!

Luc


On Sun, Aug 14, 2011 at 1:14 AM, Julian Hyde <jhyde at pentaho.com> wrote:

> Luc,
>
> Instead of RolapResultShepherd, you could have used a timer to check on the
> status of each execution -- thoughts on that? RolapResultShepherd is a
> "server process" (by which I mean an ongoing thing that consumes resources
> and has to be shut down and generally makes mondrian heavier weight) and I
> question whether we need it. But I kind of like RolapResultShepherd -- don't
> change it.
>
> Quite a few errors now come out wrapped in an extra
> java.util.concurrent.ExecutionException (if they come through
> shepherdExecution). It doesn't give any extra information to the end user.
> Can you strip it away please?
>
> Julian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20110815/355a9e83/attachment-0001.html 


More information about the Mondrian mailing list