<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello,<div><br></div><div>I have analyzed our logs of the saiku online demo from the past days and found several issues:</div><div><br></div><div><b>- 1) Olap4j-xmla changed the discovery of catalogs from using MDSCHEMA_CUBES to DBSCHEMA_SCHEMATA &gt; bug</b></div><div><br></div><div>This caused the biserver to return both schematas (Steelwheels and SampleData) to be returned for both catalogs.</div><div>This is caused because of the SchemaHandler() vs. CatalogSchemaHandler(catalogName) in XmlaOlap4jCatalog.java&nbsp;</div><div><br></div><div>I changed that and it seemed to return the correct results (only two schemas left instead of the duplicates and therefore 4)</div><div><br></div><div>I commited that already to olap4j.&nbsp;</div><div>This is a major issue when working with a mondrian-xmla server + olap4j. I tried to get it in before 1.0 but there wasn't enough time&nbsp;</div><div><br></div><div><br></div><div><b>- 2) Caused by: org.olap4j.OlapException: Unable to find a member with name [[Has coffee bar], [1]]&nbsp;</b></div><div>The above is an example from foodmart + MondrianOlap4j</div><div>I'm using the lookup method to find specific members:&nbsp;<span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; ">Member lookupMember(List&lt;IdentifierSegment&gt; nameParts) </span><span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; "><span style="color: #a20069">throws</span></span><span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; "> OlapException;</span></div><div><span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; "><span class="Apple-style-span" style="font-family: Helvetica; font-size: medium; ">For some reason this doesn't work for that member and I think thats related to the name being 1 / 0&nbsp;</span></span></div><div><span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; "><span class="Apple-style-span" style="font-family: Helvetica; font-size: medium; ">Not sure why this is happening... The member is definitely there!</span></span></div><div><span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; "><span class="Apple-style-span" style="font-family: Helvetica; font-size: medium; "><br></span></span></div><div><span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; "><span class="Apple-style-span" style="font-family: Helvetica; font-size: medium; ">In another query where the members of that dimension are included i also get the following exception (HSQLD + foodmart) thats why i think its related!?:</span></span></div><div><span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; "><span class="Apple-style-span" style="font-family: Helvetica; font-size: medium; "><br></span></span></div><div><span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; "><span class="Apple-style-span" style="font-family: Helvetica; font-size: medium; "><div>java.lang.NumberFormatException: Illegal BOOLEAN literal: &nbsp;0</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at mondrian.spi.impl.JdbcDialectImpl.quoteBooleanLiteral(JdbcDialectImpl.java:371)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at mondrian.spi.Dialect$Datatype$4.quoteValue(Dialect.java:810)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at mondrian.spi.impl.JdbcDialectImpl.quote(JdbcDialectImpl.java:665)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at mondrian.rolap.agg.ValueColumnPredicate.toSql(ValueColumnPredicate.java:165)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at mondrian.rolap.RolapStar$Column.createInExpr(RolapStar.java:1340)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at mondrian.rolap.agg.AbstractQuerySpec.nonDistinctGenerateSql(AbstractQuerySpec.java:102)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at mondrian.rolap.agg.DrillThroughQuerySpec.generateSqlQuery(DrillThroughQuerySpec.java:132)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at mondrian.rolap.agg.AggregationManager.getDrillThroughSql(AggregationManager.java:132)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at mondrian.rolap.RolapCell.getDrillThroughSQL(RolapCell.java:101)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at mondrian.rolap.RolapCell.drillThroughInternal(RolapCell.java:289)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at mondrian.olap4j.MondrianOlap4jCell.drillThroughInternal(MondrianOlap4jCell.java:156)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at mondrian.olap4j.MondrianOlap4jStatement.executeQuery2(MondrianOlap4jStatement.java:89)</div><div><br></div><div><b>- 3) Cast Exception</b></div><div>Every now and then we hit the following exception. I don't know if thats mondrian or olap4j related and therefore haven't filed a bug yet</div><div><br></div><div><b><div><span class="Apple-style-span" style="font-weight: normal;"><i>Caused by: mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while executing query [select NON EMPTY {Hierarchize({[Time].[Year].Members})} ON COLUMNS,</i></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><i>&nbsp;&nbsp;NON EMPTY Crossjoin([Store].[Store Country].Members, Crossjoin([Store Type].[Store Type].Members, {[Measures].[Employee Salary]})) ON ROWS</i></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><i>from [HR]</i></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><i>]</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:892)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.olap.Util.newInternal(Util.java:1708)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.olap.Util.newError(Util.java:1724)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.RolapConnection.execute(RolapConnection.java:611)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.olap4j.MondrianOlap4jCellSet.execute(MondrianOlap4jCellSet.java:85)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.olap4j.MondrianOlap4jStatement.executeOlapQueryInternal(MondrianOlap4jStatement.java:355)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.olap4j.MondrianOlap4jStatement.executeOlapQuery(MondrianOlap4jStatement.java:321)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.olap4j.MondrianOlap4jStatement.executeOlapQuery(MondrianOlap4jStatement.java:368)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at org.olap4j.query.Query.execute(Query.java:292)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at org.saiku.olap.query.OlapQuery.execute(OlapQuery.java:154)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at org.saiku.service.olap.OlapQueryService.execute(OlapQueryService.java:149)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>... 72 more</i></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><i>Caused by: java.lang.ClassCastException: mondrian.mdx.ResolvedFunCall cannot be cast to mondrian.mdx.MemberExpr</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.sql.CrossJoinArgFactory.addConstrainingMembersToMap(CrossJoinArgFactory.java:222)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.sql.CrossJoinArgFactory.checkConstrainedMeasures(CrossJoinArgFactory.java:157)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoinArg(CrossJoinArgFactory.java:128)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoin(CrossJoinArgFactory.java:339)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoinArg(CrossJoinArgFactory.java:147)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoin(CrossJoinArgFactory.java:339)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.sql.CrossJoinArgFactory.checkCrossJoinArg(CrossJoinArgFactory.java:147)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.sql.CrossJoinArgFactory.buildConstraintFromAllAxes(CrossJoinArgFactory.java:51)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.SqlConstraintFactory.getLevelMembersConstraint(SqlConstraintFactory.java:99)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.RolapSchemaReader.getLevelMembers(RolapSchemaReader.java:487)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.olap.DelegatingSchemaReader.getLevelMembers(DelegatingSchemaReader.java:208)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.olap.fun.FunUtil.getNonEmptyLevelMembers(FunUtil.java:2079)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.olap.fun.FunUtil.levelMembers(FunUtil.java:2093)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.olap.fun.LevelMembersFunDef$1.evaluateList(LevelMembersFunDef.java:38)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.olap.fun.HierarchizeFunDef$1.evaluateList(HierarchizeFunDef.java:46)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.calc.impl.AbstractListCalc.evaluateIterable(AbstractListCalc.java:71)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.RolapResult.executeAxis(RolapResult.java:727)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.RolapResult.evalLoad(RolapResult.java:574)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.RolapResult.loadMembers(RolapResult.java:540)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.RolapResult.&lt;init&gt;(RolapResult.java:270)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>at mondrian.rolap.RolapConnection.execute(RolapConnection.java:582)</i></span></div><div><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-weight: normal;"><i>        </i></span></span><span class="Apple-style-span" style="font-weight: normal;"><i>... 79 more</i></span></div></b></div></span></span></div></body></html>