Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-4249

Unable to find transaction manager due to missing imports in OSGi

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Major
    • None
    • None
    • None
    • None

    Description

      The following package have to be defined by Import-Package in either ISPN core or the client bundle which uses ISPN core (not sure about the client's bundle) so that JBoss TS can be found on classpath:

      com.arjuna.ats.arjuna,
      com.arjuna.ats.arjuna.common,
      com.arjuna.ats.arjuna.coordinator,
      com.arjuna.ats.arjuna.exceptions,
      com.arjuna.ats.arjuna.logging,
      com.arjuna.ats.arjuna.objectstore,
      com.arjuna.ats.arjuna.recovery,
      com.arjuna.ats.arjuna.state,
      com.arjuna.ats.arjuna.tools,
      com.arjuna.ats.arjuna.utils,
      com.arjuna.ats.internal.arjuna,
      com.arjuna.ats.internal.arjuna.common,
      com.arjuna.ats.internal.arjuna.coordinator,
      com.arjuna.ats.internal.arjuna.recovery,
      com.arjuna.ats.internal.arjuna.thread,
      com.arjuna.ats.internal.arjuna.tools,
      com.arjuna.ats.internal.arjuna.utils,
      com.arjuna.ats.internal.arjuna.objectstore,
      com.arjuna.common.internal.util.propertyservice,
      

      We should make sure we either provide users with instructions which packages they have to import to make transactions work, or we have to import them automatically. This issues needs to be investigated more. The bad thing is that PAX EXAM did not reveal this issue. Perhaps it uses DynamicImport-Package to import all packages.

      This is a stacktrace I got when running tests for DistExec:

      testInvokeMapReduceOnSubsetOfKeys(org.infinispan.it.osgi.distexec.mapreduce.DistributedTwoNodesMapReduceTest)  Time elapsed: 0.013 sec  <<< ERROR!
      java.lang.NoClassDefFoundError: com/arjuna/common/internal/util/propertyservice/BeanPopulator
      	at org.infinispan.test.fwk.JBossTransactionsUtils.setVolatileStores(JBossTransactionsUtils.java:25)
      	at org.infinispan.test.fwk.TestCacheManagerFactory.markAsTransactional(TestCacheManagerFactory.java:104)
      	at org.infinispan.test.fwk.TestCacheManagerFactory.getDefaultCacheConfiguration(TestCacheManagerFactory.java:288)
      	at org.infinispan.test.AbstractCacheTest.getDefaultClusteredCacheConfig(AbstractCacheTest.java:48)
      	at org.infinispan.test.AbstractCacheTest.getDefaultClusteredCacheConfig(AbstractCacheTest.java:44)
      	at org.infinispan.it.osgi.distexec.mapreduce.BaseWordCountMapReduceTest.setUp(BaseWordCountMapReduceTest.java:48)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:601)
      	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
      	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
      	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
      	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
      	at org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:67)
      	at org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:37)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
      	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
      	at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
      	at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
      	at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:125)
      	at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.findAndInvoke(JUnitProbeInvoker.java:98)
      	at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.call(JUnitProbeInvoker.java:74)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:601)
      	at org.ops4j.pax.exam.rbc.internal.RemoteBundleContextImpl.remoteCall(RemoteBundleContextImpl.java:80)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:601)
      	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
      	at sun.rmi.transport.Transport$1.run(Transport.java:177)
      	at sun.rmi.transport.Transport$1.run(Transport.java:174)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
      	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
      	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:722)
      
      

      Attachments

        Activity

          People

            mgencur Martin Gencur
            mgencur Martin Gencur
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: