mondrian.olap.MondrianException: Mondrian Error:Too many errors, '1', while loading/reloadin aggregates.

Pentaho BI Platform Tracking | Joe Barnett | 6 years ago
  1. 0

    seen on custom build of mondrian 2.4, but seems to still exist in 3.2. We have a dimension with a single level defined as follows*: <Dimension name="Dim" foreignKey="$keyColumn$"> <Hierarchy hasAll="true" primaryKey="$keyColumn$" allMemberName="All Dim"> <Table name="Dim_$CUSTOMER_ID$_$CLIENT_ID$" alias="Dim_$CUSTOMER_ID$_$CLIENT_ID$_$it$"> </Table> <Level name="Dim_Value" nameColumn="dim_value" type="String" levelType="Regular" uniqueMembers="true"> <KeyExpression><SQL>UPPER(dim_value)</SQL></KeyExpression> </Level> </Hierarchy> </Dimension> and an agg table with a rollup column of "dim_dim_value". loading up this schema results in: [24 Sep 2010 10:46:29] [http-8080-1] 269705 ERROR (mondrian.recorder.AbstractRecorder:46) - DefaultRecognizer.matchLevel:Recognizer.makeLevel: Rolap.Column not found (null) for tableAlias=Dim_1_1_23, factColumnName=UPPER(dim_value), levelColumnName=dim_dim_value, symbolicName=Dim_Value [24 Sep 2010 10:46:29] [http-8080-1] 269707 ERROR (com.marin.olap.server.OlapServer:194) - Mondrian Exception mondrian.olap.MondrianException: Mondrian Error:Too many errors, '1', while loading/reloadin aggregates. at mondrian.resource.MondrianResource$_Def8.ex(MondrianResource.java:898) at mondrian.rolap.aggmatcher.AggTableManager.loadRolapStarAggregates(AggTableManager.java:318) at mondrian.rolap.aggmatcher.AggTableManager.initialize(AggTableManager.java:94) at mondrian.rolap.RolapSchema.load(RolapSchema.java:332) at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:205) at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:79) at mondrian.rolap.RolapSchema$Pool.get(RolapSchema.java:831) at mondrian.rolap.RolapSchema$Pool.get(RolapSchema.java:703) at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:156) at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:80) at mondrian.olap.DriverManager.getConnection(DriverManager.java:190) Applying the following patch to RolapStar.java (Modifiying the body of RolapStar$Table#lookupColumn(String columnName)): Index: src/main/mondrian/rolap/RolapStar.java =================================================================== --- src/main/mondrian/rolap/RolapStar.java (revision 128) +++ src/main/mondrian/rolap/RolapStar.java (working copy) @@ -1346,6 +1346,12 @@ if (columnExpr.name.equals(columnName)) { return column; } + } else if (column.getExpression() instanceof MondrianDef.KeyExpression) { + MondrianDef.KeyExpression columnExpr = + (MondrianDef.KeyExpression) column.getExpression(); + if (columnExpr.toString().equals(columnName)) { + return column; + } } else if (column.getName().equals(columnName)) { return column; } fixes the issue. I think it makes sense, as Recognizer#getColumnName() is already special casing for both MondrianDef$Column and MondrianDef$KeyExpression, and the "columnName" argument to this lookupColumn() method originates from the Recognizer#getColumnName() call, so this is just extending that special case to the other side of the .equals(). *Reason for the definition is that the 'dim_value' is not always capitalized the same, and we want the rollup to work case-insensitively, without actually transforming the case that the users are enterning into the system -- which is why nameColumn just ref's the column direclty

    Pentaho BI Platform Tracking | 6 years ago | Joe Barnett
    mondrian.olap.MondrianException: Mondrian Error:Too many errors, '1', while loading/reloadin aggregates.
  2. 0

    seen on custom build of mondrian 2.4, but seems to still exist in 3.2. We have a dimension with a single level defined as follows*: <Dimension name="Dim" foreignKey="$keyColumn$"> <Hierarchy hasAll="true" primaryKey="$keyColumn$" allMemberName="All Dim"> <Table name="Dim_$CUSTOMER_ID$_$CLIENT_ID$" alias="Dim_$CUSTOMER_ID$_$CLIENT_ID$_$it$"> </Table> <Level name="Dim_Value" nameColumn="dim_value" type="String" levelType="Regular" uniqueMembers="true"> <KeyExpression><SQL>UPPER(dim_value)</SQL></KeyExpression> </Level> </Hierarchy> </Dimension> and an agg table with a rollup column of "dim_dim_value". loading up this schema results in: [24 Sep 2010 10:46:29] [http-8080-1] 269705 ERROR (mondrian.recorder.AbstractRecorder:46) - DefaultRecognizer.matchLevel:Recognizer.makeLevel: Rolap.Column not found (null) for tableAlias=Dim_1_1_23, factColumnName=UPPER(dim_value), levelColumnName=dim_dim_value, symbolicName=Dim_Value [24 Sep 2010 10:46:29] [http-8080-1] 269707 ERROR (com.marin.olap.server.OlapServer:194) - Mondrian Exception mondrian.olap.MondrianException: Mondrian Error:Too many errors, '1', while loading/reloadin aggregates. at mondrian.resource.MondrianResource$_Def8.ex(MondrianResource.java:898) at mondrian.rolap.aggmatcher.AggTableManager.loadRolapStarAggregates(AggTableManager.java:318) at mondrian.rolap.aggmatcher.AggTableManager.initialize(AggTableManager.java:94) at mondrian.rolap.RolapSchema.load(RolapSchema.java:332) at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:205) at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:79) at mondrian.rolap.RolapSchema$Pool.get(RolapSchema.java:831) at mondrian.rolap.RolapSchema$Pool.get(RolapSchema.java:703) at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:156) at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:80) at mondrian.olap.DriverManager.getConnection(DriverManager.java:190) Applying the following patch to RolapStar.java (Modifiying the body of RolapStar$Table#lookupColumn(String columnName)): Index: src/main/mondrian/rolap/RolapStar.java =================================================================== --- src/main/mondrian/rolap/RolapStar.java (revision 128) +++ src/main/mondrian/rolap/RolapStar.java (working copy) @@ -1346,6 +1346,12 @@ if (columnExpr.name.equals(columnName)) { return column; } + } else if (column.getExpression() instanceof MondrianDef.KeyExpression) { + MondrianDef.KeyExpression columnExpr = + (MondrianDef.KeyExpression) column.getExpression(); + if (columnExpr.toString().equals(columnName)) { + return column; + } } else if (column.getName().equals(columnName)) { return column; } fixes the issue. I think it makes sense, as Recognizer#getColumnName() is already special casing for both MondrianDef$Column and MondrianDef$KeyExpression, and the "columnName" argument to this lookupColumn() method originates from the Recognizer#getColumnName() call, so this is just extending that special case to the other side of the .equals(). *Reason for the definition is that the 'dim_value' is not always capitalized the same, and we want the rollup to work case-insensitively, without actually transforming the case that the users are enterning into the system -- which is why nameColumn just ref's the column direclty

    Pentaho BI Platform Tracking | 6 years ago | Joe Barnett
    mondrian.olap.MondrianException: Mondrian Error:Too many errors, '1', while loading/reloadin aggregates.
  3. 0

    Error loading pentaho cube using saiku

    Stack Overflow | 3 years ago | haki
    mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while loading plugin class 'org.saiku.plugin.PentahoDataSourceResolver'
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Mondrian / Mailing Lists

    sourceforge.net | 1 year ago
    mondrian.olap.MondrianException: Mondrian Error:Failed to parse = query 'select {[Customers].[USA].[CA].[San Francisco].[Catherine Abel]} = on columns from Sales' at = mondrian.olap.MondrianResource.newFailedToParseQuery(MondrianResource.jav= a:125) at = mondrian.olap.ConnectionBase.parseQuery(ConnectionBase.java:57) at = mondrian.test.FoodMartTestCase.execute(FoodMartTestCase.java:89) at = mondrian.test.FoodMartTestCase.assertAxisThrows(FoodMartTestCase.java:206= ) at = mondrian.test.FoodMartTestCase.assertAxisThrows(FoodMartTestCase.java:195= ) at = mondrian.test.AccessControlTest.testGrantHierarchy8(AccessControlTest.jav= a:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native = Method) at = sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java= :39) at = sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI= mpl.java:25) at = mondrian.test.MondrianTestRunner$2.run(MondrianTestRunner.java:130)
  6. 0

    Error Occurred While getting Resultset -- di BI Server

    Google Groups | 6 years ago | akulupa
    mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while executing query [select {[Measures].[Nilai]} ON COLUMNS, {[Waktu].[All Waktus]} ON ROWS from [PendapatanOperasional] ])

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. mondrian.olap.MondrianException

      Mondrian Error:Too many errors, '1', while loading/reloadin aggregates.

      at mondrian.resource.MondrianResource$_Def8.ex()
    2. mondrian.resource
      MondrianResource$_Def8.ex
      1. mondrian.resource.MondrianResource$_Def8.ex(MondrianResource.java:898)
      1 frame
    3. mondrian.rolap.aggmatcher
      AggTableManager.initialize
      1. mondrian.rolap.aggmatcher.AggTableManager.loadRolapStarAggregates(AggTableManager.java:318)
      2. mondrian.rolap.aggmatcher.AggTableManager.initialize(AggTableManager.java:94)
      2 frames
    4. mondrian.rolap
      RolapConnection.<init>
      1. mondrian.rolap.RolapSchema.load(RolapSchema.java:332)
      2. mondrian.rolap.RolapSchema.<init>(RolapSchema.java:205)
      3. mondrian.rolap.RolapSchema.<init>(RolapSchema.java:79)
      4. mondrian.rolap.RolapSchema$Pool.get(RolapSchema.java:831)
      5. mondrian.rolap.RolapSchema$Pool.get(RolapSchema.java:703)
      6. mondrian.rolap.RolapConnection.<init>(RolapConnection.java:156)
      7. mondrian.rolap.RolapConnection.<init>(RolapConnection.java:80)
      7 frames
    5. mondrian.olap
      DriverManager.getConnection
      1. mondrian.olap.DriverManager.getConnection(DriverManager.java:190)
      1 frame