<div dir="ltr">I&#39;m guessing that the file changes, but you do not call the CacheControl API to notify it, and thus expect that Mondrian will see the change. If that&#39;s right, and your schema file changes, you should use the connection property: UseContentChecksum=true.<div><br></div><div>That way Mondrian will use the MD5 checksum of your schema as part of the schema key in the pool.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 2, 2015 at 11:35 AM, Ganong, Kenneth <span dir="ltr">&lt;<a href="mailto:ken.ganong@truvenhealth.com" target="_blank">ken.ganong@truvenhealth.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="#0563C1" vlink="#954F72">
<div>
<p class="MsoNormal">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.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">We are currently using a workaround in MondrianOlap4jConnection by using<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">                <span style="font-family:&quot;Courier New&quot;">final mondrian.olap.Schema schema = mondrianConnection.getSchema();<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">To get the schemas used to populate olap4jCatalogs instead of<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:&quot;Courier New&quot;">schemaMap =<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:&quot;Courier New&quot;">          catalogFinder.getRolapSchemas(<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:&quot;Courier New&quot;">                  mondrianConnection,<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:&quot;Courier New&quot;">                  catalogName);</span><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">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.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">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.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">        Ken<u></u><u></u></p>
</div>
</div>

<br>_______________________________________________<br>
Mondrian mailing list<br>
<a href="mailto:Mondrian@pentaho.org">Mondrian@pentaho.org</a><br>
<a href="http://lists.pentaho.org/mailman/listinfo/mondrian" rel="noreferrer" target="_blank">http://lists.pentaho.org/mailman/listinfo/mondrian</a><br>
<br></blockquote></div><br></div>