[Mondrian] Flush(Cube) does not flush the Evaluated members like.Members and .Children

Julian Hyde jhyde at pentaho.com
Tue Apr 5 12:05:16 EDT 2011


The cache control API only affects cells. That is by design.
 
There are is some beta functionality to flush members of dimensions. See
<http://mondrian.pentaho.com/api/mondrian/olap/CacheControl.html>
http://mondrian.pentaho.com/api/mondrian/olap/CacheControl.html, in
particular methods involving MemberEditCommand and  MemberSet.
 
Julian
 



  _____  

From: mondrian-bounces at pentaho.org [mailto:mondrian-bounces at pentaho.org] On
Behalf Of Venkatesh U
Sent: Tuesday, April 05, 2011 3:06 AM
To: Mondrian developer mailing list
Subject: [Mondrian] Flush(Cube) does not flush the Evaluated members
like.Members and .Children


Hi All, 
  I have a situation, where after flushing a Cube through cache control API,
the cube's data does get flushed. But the members of Evaluated functions
like [Level].Members and [Level].Children does not get flushed. Please see
the below log, I am able to get the value for the newly inserted dimension
value [D1_4], when accessed through absolute reference, but [D1].Members
does not include the newly added value [D1_4], though the cube is flushed.

Attachment:Caching.zip contains simple java file I used for testing, log
file output, Schema file, mondrian.properties and log4j properties

The scenario is
1. Dimension tables get added with new values.
2. Flush the cube through flush(Cube) API

Below is what happens

1. Before Flushing:
Mdx QuerySELECT [Measures].[Value] ON COLUMNS,
 {[D1].Members} on 1
FROM [testCube]
             Value
======= ==== =======
All D1s      264,600
        D1_1  10,800
        D1_2 243,000
        D1_3  10,800
             
Inserted a row in TEST_DIM_1:sql:insert into TEST_DIM_1 values(4,'D1_4')
Inserted a row in TEST_FACT sql:insert into TEST_FACT values(4,3,3,900)
Commited the changed to DB

2. After Flushing:
Mdx QuerySELECT [Measures].[Value] ON COLUMNS,
 {[D1].Members} on 1
FROM [testCube]
             Value
======= ==== =======
All D1s      265,500
        D1_1  10,800
        D1_2 243,000
        D1_3  10,800

3. After Flushing:
Mdx QuerySELECT  {[D1].[D1_4]} on 0
FROM [testCube]
mondrian.rolap.RolapAllCubeMember
D1_4
====
 900


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


More information about the Mondrian mailing list