[Mondrian] MondrianOlap4jConnection requires creation of all RolapConnections

Roland Bouman roland.bouman at gmail.com
Tue Oct 28 18:05:33 EDT 2014


Hi Ken,

is it possible that this is related to
http://jira.pentaho.com/browse/MONDRIAN-1056?

On Tue, Oct 28, 2014 at 10:59 PM, Ganong, Kenneth <
ken.ganong at truvenhealth.com> wrote:

>  Hello Mondrian Developers,
>
>
>
> We’ve encountered an issue in which a Discover query is creating
> RolapConnection’s for every schema defined in our Datasource.xml. This
> issue has been encountered in two forms:
>
> ·         A failed discover query when one of the unrelated connections
> ran into an exception during its construction.
>
> ·         Severe slow down when many catalogs where defined in
> Datasource.xml.
>
>
>
> Here is what I’ve gathered from the cause of this issue. Is there
> something that we are doing incorrectly, is this a corner case, or is this
> a true issue with Mondrian 3.6?
>
>
>
> In MondrianOlap4jConnection’s constructor, this for loop goes through
> every catalog in our Datasource.xml, including ones that are not related to
> this particular connection.
>
>
>
> for (String catalogName : catalogFinder.getCatalogNames(connection))
>
>
>
> Inside this for loop is the following line of code which ends up creating
> a RolapConnection to every schema referenced in Datasource.xml (again, not
> just the ones related to the connection).
>
>
>
>                 final Map<String, RolapSchema> rolapSchemas =
> catalogFinder.getRolapSchemas(connection, catalogName);
>
>
>
> Our Datasource.xml has a single datasource with many catalogs in it, like
> this:
>
>
>
> <DataSources>
>
>     <DataSource>
>
>         <Catalogs>
>
>             <Catalog name="a42od970_a42od970_build">
>
>             </Catalog>
>
>             <Catalog name="a42od970_a42od970_secure1_build">
>
>             </Catalog>
>
>             <Catalog name="a42od378_a42od378_build">
>
>             </Catalog>
>
>         </Catalogs>
>
>     </DataSource>
>
> </DataSources>
>
>
>
> The code path for creating all of these RolapConnections is:
>
> ·         MondrianOlap4jConnection.<init>
>
> ·         MondrianServerImpl.getRolapSchemas
>
> ·         FileRepository.getRolapSchemas
>
> ·         FileRepository$CatalogInfo.access
>
> ·         FileRepository$CatalogInfo.getRolapSchema
>
> ·         DriverManager.getConnection
>
>
>
>
>
> I don’t understand why creating a single connection would require the
> creation of every one of these connections.
>
>
>
>         Ken
>
> _______________________________________________
> Mondrian mailing list
> Mondrian at pentaho.org
> http://lists.pentaho.org/mailman/listinfo/mondrian
>
>


-- 
Roland Bouman
blog: http://rpbouman.blogspot.com/
twitter: @rolandbouman
linkedin: http://www.linkedin.com/profile/view?id=5142800&trk=tab_pro

Author of "Pentaho Solutions" (Wiley, ISBN: 978-0-470-48432-6
http://tinyurl.com/lvxa88) and "Pentaho Kettle Solutions" (Wiley, ISBN:
978-0-470-63517-9 http://tinyurl.com/33r7a8m)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20141028/7865199e/attachment.html 


More information about the Mondrian mailing list