[Mondrian] Segment rollup issue

Matt Campbell mcampbell at pentaho.com
Tue Oct 8 11:23:45 EDT 2013


We've had an issue for quite awhile where some small set of tests fail infrequently with the error "Query required more than 12 iterations".  I think I now have a general idea of what's going on, and thought I'd describe what I've seen in case others have insight.

In some tests (e.g. FunctionTest.testLastPeriods()) a cell request is made for [1998].[Q1].  The cache at this point contains the following two segments:
Axes:[
    {time_by_day.the_year=('1998')}
    {time_by_day.quarter=(*)}
    {time_by_day.month_of_year=('2','3','4','5','6','7')}]

Axes:[
    {time_by_day.the_year=(*)}
    {time_by_day.quarter=(*)}
    {time_by_day.month_of_year=('1','8','9','10','11','12')}]

Which get rolled up to
Axes:[
    {time_by_day.the_year=)}
    {time_by_day.quarter=(*)}]

Note that the_year=<blank>, which occurs when the values list is non-null but empty.  Because the_year has an empty values list, the cell request for [1998].[Q1] cannot be answered, and we repeat the cycle, again rolling up the same 2 segments.

I believe the rolled up segment in this case should be constrained by '1998'.  Does that sound right?


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


More information about the Mondrian mailing list