[Mondrian] Modified schemas do not reload without a datasource.xml change

Ganong, Kenneth ken.ganong at truvenhealth.com
Mon Nov 2 11:35:52 EST 2015


We are encountering an issue we believe to be a bug in Mondrian. When a schema changes, but the data sources XML does not change, the schema does not get dynamically refreshed.

We are currently using a workaround in MondrianOlap4jConnection by using

                final mondrian.olap.Schema schema = mondrianConnection.getSchema();

To get the schemas used to populate olap4jCatalogs instead of

schemaMap =
          catalogFinder.getRolapSchemas(
                  mondrianConnection,
                  catalogName);

However, we believe this workaround would be incorrect whenever a MondrianOlap4jConnection would be used to interact with more than one catalog, such as when OlapConnection.getOlapCatalogs() is used.

In MondrianOlap4jConnection's constructor, a CatalogFinder is used to getRolapSchemas. This can end up using FileRepository.getRolapSchemas. FileRepository keeps its RolapSchemas, ServerInfo, DatabaseInfo, and CatalogInfo objects up-to-date by comparing the current content against previousContent. However, this 'content' only contains the datasource.xml, so if schemas change and the datasource.xml doesn't, the RolapSchemas cached by FileRepository never get updated.

        Ken
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20151102/c742f7bd/attachment.html 


More information about the Mondrian mailing list