Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Severe Severe
    • Resolution: Incomplete
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Notice:
      When an issue is open, the "Fix Version/s" field conveys a target, not necessarily a commitment. When an issue is closed, the "Fix Version/s" field conveys the version that the issue was fixed in.

      Description

      I broke 3 of the test cases in HighCardinalityTest in my change 11947. Now testPromotionsTwoDimensions, testHead, testNonEmpty all fail.

      Error stack as follows:

      java.lang.RuntimeException: Element 10 has been forgotten
       at mondrian.rolap.Target$1.get(Target.java:209)
       at mondrian.rolap.Target$1.get(Target.java:175)
       at mondrian.util.TraversalList.get(TraversalList.java:52)
       at mondrian.util.TraversalList$1.hasNext(TraversalList.java:76)
       at mondrian.rolap.SqlMemberSource$1$1.hasNext(SqlMemberSource.java:483)
       at mondrian.rolap.RolapCubeHierarchy$NoCacheRolapCubeHierarchyMemberReader$1$1.hasNext(RolapCubeHierarchy.java:954)
       at mondrian.util.FilteredIterableList$1.postNext(FilteredIterableList.java:92)
       at mondrian.util.FilteredIterableList$1.next(FilteredIterableList.java:108)
       at mondrian.util.FilteredIterableList$1.postNext(FilteredIterableList.java:93)
       at mondrian.util.FilteredIterableList$1.next(FilteredIterableList.java:108)
       at mondrian.rolap.RolapAxis$MemberList$PositionList$1.next(RolapAxis.java:342)
       at mondrian.rolap.RolapAxis$MemberList$PositionList$1.next(RolapAxis.java:335)
       at mondrian.rolap.HighDimensionsTest.execHighCardTest(HighDimensionsTest.java:179)
       at mondrian.rolap.HighDimensionsTest.testPromotionsTwoDimensions(HighDimensionsTest.java:59)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)

      I surmise the following cause (I may be mistaken). High-cardinality dimensions return lists which are backed by iterators, and those iterators cannot be restarted. Mondrian sometimes iterates over lists more than once, or accesses elements them in arbitrary order. The problem is not with the mondrian code, it is with the high-cardinality dimension code that claims to implement the List interface but does not.

      I have disabled these tests.

        Activity

        Hide
        Mondrian Importer User added a comment -
        {jhyde}, 12/18/2008: IP, Artifact Created: 66.92.12.96 |
        {jhyde}, 12/18/2008: IP, Comment Added: 66.92.12.96 |
        {jhyde}, 12/18/2008: summary, HighCardinalityTest test cases disabled |
        {jhyde}, 12/19/2008: assigned_to, 100 |
        {jhyde}, 12/28/2008: IP, Comment Added: 66.92.12.96
        Show
        Mondrian Importer User added a comment - {jhyde}, 12/18/2008: IP, Artifact Created: 66.92.12.96 | {jhyde}, 12/18/2008: IP, Comment Added: 66.92.12.96 | {jhyde}, 12/18/2008: summary, HighCardinalityTest test cases disabled | {jhyde}, 12/19/2008: assigned_to, 100 | {jhyde}, 12/28/2008: IP, Comment Added: 66.92.12.96
        Hide
        Mondrian Importer User added a comment -
        {jhyde}, 12/18/2008: Oops, I called the test "HighCardinalityTest" by mistake. I have corrected the summary.

        Checked in as change 12140.
        Show
        Mondrian Importer User added a comment - {jhyde}, 12/18/2008: Oops, I called the test "HighCardinalityTest" by mistake. I have corrected the summary. Checked in as change 12140.
        Hide
        Mondrian Importer User added a comment -
        {jhyde}, 12/28/2008: I have further disabled testFilter. It printed the following error to stdout 7 times, then failed.

        Target: 199, Ouch! Toooo big array...24981262
        java.lang.Throwable
         at mondrian.rolap.Target$1.size(Target.java:189)
         at mondrian.rolap.RolapAxis$MemberList$PositionList.size(RolapAxis.java:329)
         at mondrian.rolap.RolapAxis$PositionListBase.isEmpty(RolapAxis.java:667)
         at mondrian.rolap.RolapResult.executeStripe(RolapResult.java:966)
         at mondrian.rolap.RolapResult.executeBody(RolapResult.java:788)
         at mondrian.rolap.RolapResult.<init>(RolapResult.java:414)
         at mondrian.rolap.RolapConnection.execute(RolapConnection.java:590)
         at mondrian.rolap.HighDimensionsTest.execHighCardTest(HighDimensionsTest.java:178)
         at mondrian.rolap.HighDimensionsTest.testFilter(HighDimensionsTest.java:129)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at junit.framework.TestCase.runTest(TestCase.java:164)
         at junit.framework.TestCase.runBare(TestCase.java:130)
         at junit.framework.TestResult$1.protect(TestResult.java:106)
         at junit.framework.TestResult.runProtected(TestResult.java:124)
         at junit.framework.TestResult.run(TestResult.java:109)
         at junit.framework.TestCase.run(TestCase.java:120)
         at junit.framework.TestSuite.runTest(TestSuite.java:230)
         at junit.framework.TestSuite.run(TestSuite.java:225)
         at junit.framework.TestSuite.runTest(TestSuite.java:230)
         at junit.framework.TestSuite.run(TestSuite.java:225)
         at mondrian.test.MondrianTestRunner$2.run(MondrianTestRunner.java:129)
         at java.lang.Thread.run(Thread.java:619)
        Show
        Mondrian Importer User added a comment - {jhyde}, 12/28/2008: I have further disabled testFilter. It printed the following error to stdout 7 times, then failed. Target: 199, Ouch! Toooo big array...24981262 java.lang.Throwable  at mondrian.rolap.Target$1.size(Target.java:189)  at mondrian.rolap.RolapAxis$MemberList$PositionList.size(RolapAxis.java:329)  at mondrian.rolap.RolapAxis$PositionListBase.isEmpty(RolapAxis.java:667)  at mondrian.rolap.RolapResult.executeStripe(RolapResult.java:966)  at mondrian.rolap.RolapResult.executeBody(RolapResult.java:788)  at mondrian.rolap.RolapResult.<init>(RolapResult.java:414)  at mondrian.rolap.RolapConnection.execute(RolapConnection.java:590)  at mondrian.rolap.HighDimensionsTest.execHighCardTest(HighDimensionsTest.java:178)  at mondrian.rolap.HighDimensionsTest.testFilter(HighDimensionsTest.java:129)  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  at java.lang.reflect.Method.invoke(Method.java:597)  at junit.framework.TestCase.runTest(TestCase.java:164)  at junit.framework.TestCase.runBare(TestCase.java:130)  at junit.framework.TestResult$1.protect(TestResult.java:106)  at junit.framework.TestResult.runProtected(TestResult.java:124)  at junit.framework.TestResult.run(TestResult.java:109)  at junit.framework.TestCase.run(TestCase.java:120)  at junit.framework.TestSuite.runTest(TestSuite.java:230)  at junit.framework.TestSuite.run(TestSuite.java:225)  at junit.framework.TestSuite.runTest(TestSuite.java:230)  at junit.framework.TestSuite.run(TestSuite.java:225)  at mondrian.test.MondrianTestRunner$2.run(MondrianTestRunner.java:129)  at java.lang.Thread.run(Thread.java:619)
        Hide
        Slawomir Chodnicki added a comment -
        case looks "cold" to me. Please reopen if above-mentioned tests are still relevant today.
        Show
        Slawomir Chodnicki added a comment - case looks "cold" to me. Please reopen if above-mentioned tests are still relevant today.

          People

          • Assignee:
            Unassigned User
            Reporter:
            Julian Hyde
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: