[Mondrian] sharing mondrian cache with biserver

Paul Stoellberger p.stoellberger at gmail.com
Wed Jun 6 15:42:31 EDT 2012


Hi,

me and Pedro have done some more investigation and it appears like all of the pentaho code uses the mondrian.olap.DriverManager along with a already looked up datasource to create a Mondrian connection.

Something along the following lines can be found in MDXConnection, PentahoXmlaServlet, or Reporting code:

        DataSource dataSourceImpl = datasourceService.getDataSource(dataSourceName);      
        if (dataSourceImpl != null) {
          properties.remove(RolapConnectionProperties.DataSource.name());
          nativeConnection = DriverManager.getConnection(properties, null, dataSourceImpl);

This code leads to a different connectionKey (cache key) that I can create with MondrianOlap4jConnection.
We basically use the 100% same connection string (catalog url, everything), but still end up with a different key.

Is there ANY way that we can turn a RolapConnection into an OlapConnection (MondrianOlap4jConnection if possible) ?
I've looked at the MondrianServer code and thought maybe it was possible to create a RolapConnection just like all the pentaho code and then somehow use OlapConnection getConnection(), but I'm not sure whether this is even possible or not.

Could someone shed some light on this and maybe help us come up with a way how we can achieve this shared cache?

I don't quite get why the pentaho code does what it does, since we have the DatasourceService anyway..... if someone with some knowledge could clarify this that would be great as well.


Thanks,
Paul

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


More information about the Mondrian mailing list