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

Pentaho BI Platform Tracking | Joe Barnett | 6 years ago
tip
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.
  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

    GitHub comment 812#274587871

    GitHub | 1 month ago | wingman-pentaho
    mondrian.olap.MondrianException: Mondrian Error:Too many errors, '8', while loading/reloading aggregates.
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    GitHub comment 812#276654699

    GitHub | 3 weeks ago | wingman-pentaho
    mondrian.olap.MondrianException: Mondrian Error:Too many errors, '8', while loading/reloading aggregates.
  6. 0

    GitHub comment 812#276731093

    GitHub | 3 weeks ago | wingman-pentaho
    mondrian.olap.MondrianException: Mondrian Error:Too many errors, '1', while loading/reloading aggregates.

    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