Uploaded image for project: 'Blazegraph (by SYSTAP)'
  1. Blazegraph (by SYSTAP)
  2. BLZG-655

BTree can not be cast to Name2Addr (MemStore mode Journal)

    Details

    • Type: Bug
    • Status: Done
    • Resolution: Done
    • Affects Version/s: BIGDATA_RELEASE_1_2_0
    • Fix Version/s: None
    • Component/s: Journal

      Description

        [junit] WARN : 835181      main com.bigdata.journal.StressTestConcurrentTx.doConcurrentClientTest(StressTestConcurrentTx.java:336): Not expecting: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.lang.ClassCastException: com.bigdata.btree.BTree cannot be cast to com.bigdata.journal.Name2Addr
          [junit] java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.lang.ClassCastException: com.bigdata.btree.BTree cannot be cast to com.bigdata.journal.Name2Addr
          [junit] 	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
          [junit] 	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
          [junit] 	at com.bigdata.journal.StressTestConcurrentTx.doConcurrentClientTest(StressTestConcurrentTx.java:293)
          [junit] 	at com.bigdata.journal.StressTestConcurrentTx.test_concurrentClients(StressTestConcurrentTx.java:154)
          [junit] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          [junit] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          [junit] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          [junit] 	at java.lang.reflect.Method.invoke(Method.java:597)
          [junit] 	at junit.framework.TestCase.runTest(TestCase.java:154)
          [junit] 	at junit.framework.TestCase.runBare(TestCase.java:127)
          [junit] 	at junit.framework.TestResult$1.protect(TestResult.java:106)
          [junit] 	at junit.framework.TestResult.runProtected(TestResult.java:124)
          [junit] 	at junit.framework.TestResult.run(TestResult.java:109)
          [junit] 	at junit.framework.TestCase.run(TestCase.java:118)
          [junit] 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
          [junit] 	at junit.framework.TestSuite.run(TestSuite.java:203)
          [junit] 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
          [junit] 	at junit.framework.TestSuite.run(TestSuite.java:203)
          [junit] 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
          [junit] 	at junit.framework.TestSuite.run(TestSuite.java:203)
          [junit] 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
          [junit] 	at junit.framework.TestSuite.run(TestSuite.java:203)
          [junit] 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
          [junit] 	at junit.framework.TestSuite.run(TestSuite.java:203)
          [junit] 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
          [junit] 	at junit.framework.TestSuite.run(TestSuite.java:203)
          [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518)
          [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeInVM(JUnitTask.java:1420)
          [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:848)
          [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeOrQueue(JUnitTask.java:1899)
          [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:800)
          [junit] 	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
          [junit] 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
          [junit] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          [junit] 	at java.lang.reflect.Method.invoke(Method.java:597)
          [junit] 	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
          [junit] 	at org.apache.tools.ant.Task.perform(Task.java:348)
          [junit] 	at org.apache.tools.ant.Target.execute(Target.java:390)
          [junit] 	at org.apache.tools.ant.Target.performTasks(Target.java:411)
          [junit] 	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
          [junit] 	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
          [junit] 	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
          [junit] 	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
          [junit] 	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
          [junit] 	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
          [junit] 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
          [junit] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          [junit] 	at java.lang.reflect.Method.invoke(Method.java:597)
          [junit] 	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
          [junit] 	at org.apache.tools.ant.Task.perform(Task.java:348)
          [junit] 	at org.apache.tools.ant.Target.execute(Target.java:390)
          [junit] 	at org.apache.tools.ant.Target.performTasks(Target.java:411)
          [junit] 	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
          [junit] 	at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
          [junit] 	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
          [junit] 	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
          [junit] 	at org.apache.tools.ant.Main.runBuild(Main.java:809)
          [junit] 	at org.apache.tools.ant.Main.startAnt(Main.java:217)
          [junit] 	at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
          [junit] 	at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
          [junit] Caused by: java.util.concurrent.ExecutionException: java.lang.ClassCastException: com.bigdata.btree.BTree cannot be cast to com.bigdata.journal.Name2Addr
          [junit] 	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
          [junit] 	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
          [junit] 	at com.bigdata.journal.StressTestConcurrentTx$Task.call(StressTestConcurrentTx.java:442)
          [junit] 	at com.bigdata.journal.StressTestConcurrentTx$Task.call(StressTestConcurrentTx.java:393)
          [junit] 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
          [junit] 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
          [junit] 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
          [junit] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
          [junit] 	at java.lang.Thread.run(Thread.java:662)
          [junit] Caused by: java.lang.ClassCastException: com.bigdata.btree.BTree cannot be cast to com.bigdata.journal.Name2Addr
          [junit] 	at com.bigdata.journal.AbstractJournal.getIndex(AbstractJournal.java:3744)
          [junit] 	at com.bigdata.journal.AbstractJournal.getIndex(AbstractJournal.java:3641)
          [junit] 	at com.bigdata.journal.Journal.getIndexSources(Journal.java:692)
          [junit] 	at com.bigdata.journal.Tx.getIndex(Tx.java:985)
          [junit] 	at com.bigdata.journal.Journal.getIndex(Journal.java:889)
          [junit] 	at com.bigdata.journal.AbstractTask.getIndex(AbstractTask.java:698)
          [junit] 	at com.bigdata.journal.StressTestConcurrentTx$Task$1.doTask(StressTestConcurrentTx.java:447)
          [junit] 	at com.bigdata.journal.AbstractTask$InnerReadWriteTxServiceCallable.call(AbstractTask.java:2058)
          [junit] 	at com.bigdata.journal.AbstractTask.call2(AbstractTask.java:1784)
          [junit] 	at com.bigdata.journal.AbstractTask.call(AbstractTask.java:1683)
          [junit] 	... 5 more
      

        Activity

        Hide
        bryanthompson bryanthompson added a comment -

        This is strangely familiar. A similar problem caused a lot of grief early this year. However, in this case I suspect that the problem will be cured when the MemStore recycler integration is ironed out [1].

        [1] https://sourceforge.net/apps/trac/bigdata/ticket/541 (Add MemoryManager backed Journal mode)

        Show
        bryanthompson bryanthompson added a comment - This is strangely familiar. A similar problem caused a lot of grief early this year. However, in this case I suspect that the problem will be cured when the MemStore recycler integration is ironed out [1] . [1] https://sourceforge.net/apps/trac/bigdata/ticket/541 (Add MemoryManager backed Journal mode)
        Hide
        bryanthompson bryanthompson added a comment -

        What is odd about this is that it does not appear to be causing the stress test itself to fail.

        Show
        bryanthompson bryanthompson added a comment - What is odd about this is that it does not appear to be causing the stress test itself to fail.
        Hide
        bryanthompson bryanthompson added a comment -

        Martyn wrote:

        Update to MemoryManager providing improved compatibility for MemStrategy use with Journals in addition to raw MemoryManager access.

        There were two issues
        - one with an unprotected (no lock taken) commit
        and the second when a new SectorAllocator was created while session
        protection was active (but not flagged in the allocator), it was happily
        recycling allocations that should have been protected

        Lifted out IPSOutputStream interface.

        Committed Revision r6318.

        Show
        bryanthompson bryanthompson added a comment - Martyn wrote: Update to MemoryManager providing improved compatibility for MemStrategy use with Journals in addition to raw MemoryManager access. There were two issues - one with an unprotected (no lock taken) commit and the second when a new SectorAllocator was created while session protection was active (but not flagged in the allocator), it was happily recycling allocations that should have been protected Lifted out IPSOutputStream interface. Committed Revision r6318.

          People

          • Assignee:
            martyncutcher martyncutcher
            Reporter:
            bryanthompson bryanthompson
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: