[Mondrian] DataSourceChangeListener question regarding concurrentqueries

Julian Hyde jhyde at pentaho.com
Fri Jul 9 16:48:07 EDT 2010

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.


From: mondrian-bounces at pentaho.org [mailto:mondrian-bounces at pentaho.org] On
Behalf Of Jonathan Rand
Sent: Friday, July 09, 2010 1:06 PM
To: Mondrian developer mailing list
Subject: [Mondrian] DataSourceChangeListener question regarding

It isn't clear to me what DataSourceChangeListener.isHierarchyChanged should
return when there are multiple queries executing concurrently. Consider the
following timeline:

1.	query 1 starts and calls isHierarchyChanged(x); the return value of
this initial call shouldn't matter, because the cache should be empty 

2.	hierarchy x is modified

3.	query 2 starts and calls isHierarchyChanged(x), which returns true
due to modification of x 

4.	query 1 calls isHierarchyChanged(x) again, which returns... what?

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?


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

More information about the Mondrian mailing list