Pentaho Analysis - Mondrian
  1. Pentaho Analysis - Mondrian
  2. MONDRIAN-1047

IllegalArgumentException when cube has closure tables and many levels

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Severe Severe
    • Resolution: Fixed
    • Affects Version/s: 3.3.0 GA (4.1.0 GA Suite Release)
    • Component/s: None
    • Labels:
      None
    • Customer Case:
    • QA Validation Status:
      Unvalidatable

      Description

      One or two customers have reported error setting bitkeys. One case is in the forums: http://forums.pentaho.com/showthread.php?80865-Exception-pos-64-exceeds-capacity-64 associated with "a rather huge (18 dimensions) OLAP cube".

      In both case, it is associated with use of closure tables (for a parent-child hierarchy).

      Stack looks like this:

      Caused by: java.lang.IllegalArgumentException: pos 75 exceeds capacity 64
          at mondrian.rolap.BitKey$Small.set(BitKey.java:463)
          at mondrian.rolap.RolapCubeLevel.init(RolapCubeLevel.java:121)
          at mondrian.rolap.RolapHierarchy.init(RolapHierarchy.java:370)
          at mondrian.rolap.RolapCubeHierarchy.init(RolapCubeHierarchy.java:428)
          at mondrian.rolap.RolapDimension.init(RolapDimension.java:187)
          at mondrian.rolap.RolapCube.init(RolapCube.java:1283)
          at mondrian.rolap.RolapCube.<init>(RolapCube.java:300)
          at mondrian.rolap.RolapSchema.load(RolapSchema.java:559)
          at mondrian.rolap.RolapSchema.load(RolapSchema.java:434)
          at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:230)
          at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:60)
          at mondrian.rolap.RolapSchema$Pool.get(RolapSchema.java:1127)
          at mondrian.rolap.RolapSchema$Pool.get(RolapSchema.java:913)
          at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:151)
          at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:87)
          at mondrian.olap.DriverManager.getConnection(DriverManager.java:112)
          at mondrian.olap.DriverManager.getConnection(DriverManager.java:71)
          at mondrian.olap4j.MondrianOlap4jConnection.<init>(MondrianOlap4jConnection.java:135)
          at mondrian.olap4j.FactoryJdbc4Impl$MondrianOlap4jConnectionJdbc4.<init>(FactoryJdbc4Impl.java:369)
          at mondrian.olap4j.FactoryJdbc4Impl.newConnection(FactoryJdbc4Impl.java:34)
          at mondrian.olap4j.MondrianOlap4jDriver.connect(MondrianOlap4jDriver.java:119)
          at java.sql.DriverManager.getConnection(DriverManager.java:582)
          at java.sql.DriverManager.getConnection(DriverManager.java:207)

        Activity

        Hide
        Julian Hyde added a comment -
        Fixed in change 14829 on main line. (I do not intend to integrate to mondrian-release/pacino branch.)
        Show
        Julian Hyde added a comment - Fixed in change 14829 on main line. (I do not intend to integrate to mondrian-release/pacino branch.)
        Hide
        Luc Boudreau added a comment -
        Repro Steps:

         - This bug is too hard to reproduce independently, because you need to create 100+ new dimensions in a schema file. Julian has created a test that does this automatically and validates the the exception is not encountered. If the test passes, we can be sure the bug is fixed. It can be found here:

        http://ci.pentaho.com/view/Analysis/job/mondrian/lastCompletedBuild/testReport/mondrian.test/SchemaTest/testBugMondrian1047/
        Show
        Luc Boudreau added a comment - Repro Steps:  - This bug is too hard to reproduce independently, because you need to create 100+ new dimensions in a schema file. Julian has created a test that does this automatically and validates the the exception is not encountered. If the test passes, we can be sure the bug is fixed. It can be found here: http://ci.pentaho.com/view/Analysis/job/mondrian/lastCompletedBuild/testReport/mondrian.test/SchemaTest/testBugMondrian1047/
        Hide
        Brandon Bruce added a comment -
        the related unit test passed
        Show
        Brandon Bruce added a comment - the related unit test passed

          People

          • Assignee:
            Julian Hyde
            Reporter:
            Julian Hyde
          • Votes:
            2 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: