Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

  1. Connection information is not identical - As mentioned earlier, you'll want to make sure Mondrian is sharing connections between the cache priming action sequence and your reports and dashboards.  The two key properties defined in datasources.xml and in your action sequence are the path to the Mondrian schema and the JNDI connection.  If these aren't identical, then you'll have a problem.  There are also a number of Mondrian system and connection properties that can influence shared connections.
  2. Caching is not enabled - It's possible to disable Mondrian's caching, so double check your pentaho-solutions/system/mondrian/mondrian.properties file to make sure you or a system admin hasn't disabled caching.  Sometimes folks will disable caching if many changes are happening to your data warehouse.   We'll get to that topic next.
  3. MDX Statements don't share Member or Cell cache - You may think two MDX statements that are similar might share a lot in cache, but sometimes that isn't always true.  Mondrian highly tunes the SQL it generates for the specific MDX being executed.  Depending on the datasource, it may be faster to go to the database than doing a lot of calculations in memory.  You can manage Native SQL Evaluation with various Mondrian properties as well.
  4. Mondrian Catalog Cache Lazy Initialization - The Mondrian Catalog Cache, which is part of the BI Server, is lazily initialized when Analyzer first starts up or when it is re-initialized by going to Tools -> Refresh -> Mondrian Schema Cache.  This can cause a false alarm that caching isn't working, because in the process of initializing this cache, it also wipes out the mondrian schema cache.  If you run into this problem, consider adding admin/clear_mondrian_schema_cache.xaction as a startup action when the server first boots.

Mondrian Cache Control

Let's say you update your star schema every night with the latest information coming in from the business.  You'll want to make sure that Mondrian knows to go back to the database to get this new information.  Otherwise, your business users might not get immediate access to the latest information.

...

Option 2: Fine grained cache control

With Mondrian's CacheControl API, you have much more control over what portions of the cache you decide to wipe out. Taking our cache priming action sequence example above, we'll make some calls into the cache control API to demonstrate how to clear the cache.  The same rules apply for getting a connection, also the same reverse rules apply for determining if the cache control was successful.

...

Code Block
var conn = shared_olap_connection.shareConnection().getConnection();
var salesCube = conn.getSchema().lookupCube("SteelWheelsSales", true);
var schemaReader = salesCube.getSchemaReader(null).withLocus();
var cacheControl = conn.getCacheControl(null);

...