Minor comment about the SegmentCache SPI.

SegmentCache.put returns a Future<Boolean>, "A future object which returns true or false depending on the success of the caching operation".

Wouldn't it be more normal to return a Future<Void> that contains an exception? I guess it depends whether caches typically regard a cache-write fail as merely a 'warning'. In which case, we should treat it as a warning too.


A more major comment about the SegmentCache SPI. The SegmentCache interface is in the mondrian.spi package, which is where we usually put SPIs. But the SegmentHeader and SegmentBody classes were mistakenly put into the mondrian.rolap.agg package. We will fix this in some future release. If you've implemented a cache provider, let me know, and we can try to minimize disruption.

Mondrian mailing list
Mondrian (AT) pentaho (DOT) org