Uploaded image for project: 'Pentaho Analysis - Mondrian'
  1. Pentaho Analysis - Mondrian
  2. MONDRIAN-1076

Add CacheControl API to flush members from dimension cache


    • Type: New Feature
    • Status: Closed
    • Severity: Unknown
    • Resolution: Fixed
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Notice:
      When an issue is open, the "Fix Version/s" field conveys a target, not necessarily a commitment. When an issue is closed, the "Fix Version/s" field conveys the version that the issue was fixed in.


      Add a method to allow members to be flushed from the cache.

      Dimension cache control – see MONDRIAN-428 – allows you to add, move, update, and delete members in cache but it doesn't allow members to be flushed. This feature would provide flush. The next time you reference that member, Mondrian would re-query the database.

      The cache is a map from member to a list of its children. So, if you flush '[Stores].[USA].[CA]' it would remove the children of [CA], e.g. [San Francisco], [Fresno], but not the [CA] member itself. If you want to flush [CA], you need to call the method on its parent [USA]. That would flush [CA] but also siblings such as [USA].[OR] and [USA].[WA].

      If you call flushMemberDescendants on the 'all' member, it effectively flushes the whole hierarchy. The 'all' member is immutable, and not read from the database, so it cannot be flushed.

      Calling flush on the hierarchy's null member (see Hierarchy.getNullMember) also flushes all members in the hierarchy. (Useful if the hierarchy has no 'all' member.)




            • Assignee:
              jhyde Julian Hyde
            • Votes:
              0 Vote for this issue
              2 Start watching this issue


              • Created: