<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18928"></HEAD>
<BODY>
<DIV><SPAN class=662484220-09072010><FONT color=#000080 size=2 
face="Lucida Sans">I think it just needs to return 'true' once. When that 
happens, the global cache will be flushed, so the latest will be seen by all 
queries.</FONT></SPAN></DIV>
<DIV><SPAN class=662484220-09072010><FONT color=#000080 size=2 
face="Lucida Sans"></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=662484220-09072010><FONT color=#000080 size=2 
face="Lucida Sans">Julian</FONT></SPAN></DIV><BR>
<BLOCKQUOTE 
style="BORDER-LEFT: #000080 2px solid; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
  <DIV dir=ltr lang=en-us class=OutlookMessageHeader align=left>
  <HR tabIndex=-1>
  <FONT size=2 face=Tahoma><B>From:</B> mondrian-bounces@pentaho.org 
  [mailto:mondrian-bounces@pentaho.org] <B>On Behalf Of </B>Jonathan 
  Rand<BR><B>Sent:</B> Friday, July 09, 2010 1:06 PM<BR><B>To:</B> Mondrian 
  developer mailing list<BR><B>Subject:</B> [Mondrian] DataSourceChangeListener 
  question regarding concurrentqueries<BR></FONT><BR></DIV>
  <DIV></DIV>It isn't clear to me what 
  DataSourceChangeListener.isHierarchyChanged should return when there are 
  multiple queries executing concurrently. Consider the following timeline:<BR>
  <OL>
    <LI>query 1 starts and calls isHierarchyChanged(x); the return value of this 
    initial call shouldn't matter, because the cache should be empty 
    <LI>hierarchy x is modified<BR>
    <LI>query 2 starts and calls isHierarchyChanged(x), which returns true due 
    to modification of x 
    <LI>query 1 calls isHierarchyChanged(x) again, which returns... 
    what?<BR></LI></OL>Should the call to isHierarchyChanged(x) on line 4 above 
  return true because hierarchy x has changed since query 1 last called 
  isHierarchyChanged(x), or should it return false because hierarchy x has not 
  changed since the most recent call to isHierarchyChanged(x), even though that 
  was in the context of a different 
query?<BR><BR>Jon<BR><BR></BLOCKQUOTE></BODY></HTML>