[Mondrian] Flush(Cube) does not flush the Evaluated members like.Members and .Children
Julian Hyde
jhyde at pentaho.com
Tue Apr 5 13:45:07 EDT 2011
See MemberCacheControlTest.
_____
From: Venkatesh U [mailto:venkatesh20 at gmail.com]
Sent: Tuesday, April 05, 2011 10:17 AM
To: jhyde at pentaho.com; Mondrian developer mailing list
Subject: Re: [Mondrian] Flush(Cube) does not flush the Evaluated members
like.Members and .Children
Hi Julian,
I tried setting the mondrian.properties configuration
mondrian.rolap.EnableRolapCubeMemberCache
<http://mondrian.pentaho.com/api/mondrian/olap/MondrianProperties.html#Enabl
eRolapCubeMemberCache> to false and tried using the MemberEditCommand, I
created a deletecommand and tried to execute it, it throws an NPE. It does
not seem to work. Is there any test available which i can run to verify if
this feature works?
Thanks,
Venki
On Tue, Apr 5, 2011 at 9:35 PM, Julian Hyde <jhyde at pentaho.com> wrote:
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
_______________________________________________
Mondrian mailing list
Mondrian at pentaho.org
http://lists.pentaho.org/mailman/listinfo/mondrian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20110405/f93665a1/attachment.html
More information about the Mondrian
mailing list