[Mondrian] Cube cache flush

Hilario Fernandes hilario.fernandes at cortex-intelligence.com
Tue Jun 2 14:28:19 EDT 2015


Thank you for your reply Matt! Much appreciated!

Its a shame that the MemberCache isn't similar to the SegmentCache in the
way that we can provide an implementation, in my case for cluster
environments. I suppose the only solution is to flush on every node for
now. Are there any plans to change it in the future?

On Tue, Jun 2, 2015 at 3:31 PM, Matt Campbell <mcampbell at pentaho.com> wrote:

>  Sorry for the delay in responding.
>
>
>
> This looks like a bug to me.  The CacheControl.flush is flushing members
> from the MemberCache associated with the hierarchy, but not the cache
> associated with native sets.  The “Filter()” in your MDX is likely causing
> native filter to be used, so encountering the same filter again would pull
> from an un-flushed cache.
>
>
>
> I’m not aware of a workaround (apart from not using native eval, which
> comes with a severe performance penalty).
>
>
>
> I’ve created http://jira.pentaho.com/browse/MONDRIAN-2366 for this.
>
>
>
>
>
> *From:* mondrian-bounces at pentaho.org [mailto:mondrian-bounces at pentaho.org]
> *On Behalf Of *Hilario Fernandes
> *Sent:* Monday, June 01, 2015 2:25 PM
> *To:* Mondrian mailing list
> *Subject:* Re: [Mondrian] Cube cache flush
>
>
>
> I still haven't found a way to get over this problem. For some reason i am
> unable to clear the member cache. SegmentCache is cleared fine, but members
> remain somewhere hidden to me.
>
>
>
> Is there anyone that can shed some light on this?
>
>
>
> On Tue, Dec 16, 2014 at 6:47 PM, Hilario Fernandes <
> hilario.fernandes at cortex-intelligence.com> wrote:
>
>  Hi,
>
>
>
> I'm trying to flush the cache of a cube loaded into Mondrian and not
> getting the results i'd expect. I've read both the source code, this piece
> of documentation
> <http://mondrian.pentaho.com/documentation/cache_control.php> and a few
> references scattered around the internet, but found no solution for the
> behavior i'm experiencing.
>
>
>
> So, my goal is to clear any member and aggregation cache for the whole
> cube, i'm trying with this:
>
>
>
> CacheControl cacheControl = internalConnection.getCacheControl(null)
>
> cube.clearCachedAggregations(true)
>
> def members = cube.dimensions.grep { Dimension it -> !it.isMeasures()
> }*.hierarchies*.allMember.flatten()
>
> members.each { RolapCubeMember member ->
>
>   cacheControl.flush(cacheControl.createMemberSet(member, true))
>
> }
>
>
>
> And this seems to clear the members, and regions associated with them, but
> there are some cases where it's apparently not working. The following query
> is one of those:
>
>
>
> SELECT
>
> Filter({[Fuel].[Fuel].Members}, Not IsEmpty([Measures].[Price_SUM])) ON
> COLUMNS
>
> FROM [cube]
>
>
>
> When I add data to the cube and run the above code, the Filter remains
> unchanged, but if I refer to the Fuel members without filter they are up to
> date.
>
>
>
> I've tried different things without success, such as
>
>
>
> def measuresRegion = cacheControl.createMeasuresRegion(cube)
>
> cacheControl.flush(measuresRegion)
>
>
>
> Anyone can shed some light over this matter? Should i be cleaning
> something else?
>
>
>
>
>
> --
>
> Hilario Fernandes
>
>
>
>
>
> --
>
> Hilario Fernandes
>
> _______________________________________________
> Mondrian mailing list
> Mondrian at pentaho.org
> http://lists.pentaho.org/mailman/listinfo/mondrian
>
>


-- 
Hilario Fernandes
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20150602/2f11d511/attachment.html 


More information about the Mondrian mailing list