[jboss-jira] [JBoss JIRA] Created: (JBCACHE-1310) Marshalling failure with optimistic PREPARE

Brian Stansberry (JIRA) jira-events at lists.jboss.org
Mon Mar 17 21:14:50 EDT 2008


Marshalling failure with optimistic PREPARE
-------------------------------------------

                 Key: JBCACHE-1310
                 URL: http://jira.jboss.com/jira/browse/JBCACHE-1310
             Project: JBoss Cache
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Optimistic Locking, Replication
    Affects Versions: 2.1.0.GA
            Reporter: Brian Stansberry
         Assigned To: Manik Surtani


When an optimistic tx with no modifications commits a replication message is sent, and the message fails to marshall (using region based marshalling):

17:14:00,901 DEBUG OptimisticReplicationInterceptor:186 - (127.0.0.1:42972): broadcasting prepare for GlobalTransaction:<127.0.0.1:42972>:568 (0 modifications
17:14:00,902 TRACE OptimisticReplicationInterceptor:94 - Broadcasting call MethodName: optimisticPrepare; MethodIdInteger: 18; Args: (GlobalTransaction:<127.0.0.1:42972>:568, [], null, 127.0.0.1:42972, false) to recipient list null
17:14:00,902 TRACE OptimisticReplicationInterceptor:119 - Setting call recipients to [127.0.0.1:42972, 127.0.0.1:42973] since the original list of recipients passed in is null.
17:14:00,903 TRACE RPCManagerImpl:402 - callRemoteMethods(): valid members are [127.0.0.1:42973] methods: MethodName: _replicate; MethodIdInteger: 13; Args: (MethodName: optimisticPrepare; MethodIdInteger: 18; Args: (GlobalTransaction:<127.0.0.1:42972>:568, [], null, 127.0.0.1:42972, false)) Using OOB? false
17:14:00,903 TRACE InactiveRegionAwareRpcDispatcher:194 - dests=[127.0.0.1:42973], method_call=MethodName: _replicate; MethodIdInteger: 13; Args: (MethodName: optimisticPrepare; MethodIdInteger: 18; Args: (GlobalTransaction:<127.0.0.1:42972>:568, [], null, 127.0.0.1:42972, false)), mode=2, timeout=20000
17:14:00,904  WARN TxInterceptor:1378 - Caught exception, will now set transaction to roll back
java.lang.RuntimeException: failure to marshal argument(s)
	at org.jgroups.blocks.RpcDispatcher.callRemoteMethods(RpcDispatcher.java:206)
	at org.jgroups.blocks.RpcDispatcher.callRemoteMethods(RpcDispatcher.java:179)
	at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:412)
	at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:355)
	at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:360)
	at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpcInterceptor.java:127)
	at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpcInterceptor.java:88)
	at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpcInterceptor.java:83)
	at org.jboss.cache.interceptors.OptimisticReplicationInterceptor.broadcastPrepare(OptimisticReplicationInterceptor.java:191)
	at org.jboss.cache.interceptors.OptimisticReplicationInterceptor.handleOptimisticPrepareMethod(OptimisticReplicationInterceptor.java:80)
	at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:120)
	at org.jboss.cache.interceptors.Interceptor.nextInterceptor(Interceptor.java:111)
	at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:58)
	at org.jboss.cache.interceptors.Interceptor.nextInterceptor(Interceptor.java:111)
	at org.jboss.cache.interceptors.TxInterceptor.runPreparePhase(TxInterceptor.java:1018)
	at org.jboss.cache.interceptors.TxInterceptor$LocalSynchronizationHandler.beforeCompletion(TxInterceptor.java:1362)
	at org.jboss.cache.interceptors.OrderedSynchronizationHandler.beforeCompletion(OrderedSynchronizationHandler.java:61)
	at org.jboss.cache.transaction.DummyTransaction.notifyBeforeCompletion(DummyTransaction.java:261)
	at org.jboss.cache.transaction.DummyTransaction.commit(DummyTransaction.java:61)
	at org.jboss.cache.transaction.DummyBaseTransactionManager.commit(DummyBaseTransactionManager.java:78)
	at org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:461)
	at org.jboss.cache.interceptors.TxInterceptor.handlePutDataMethod(TxInterceptor.java:275)
	at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:69)
	at org.jboss.cache.interceptors.Interceptor.nextInterceptor(Interceptor.java:111)
	at org.jboss.cache.interceptors.CacheMgmtInterceptor.handlePutData(CacheMgmtInterceptor.java:112)
	at org.jboss.cache.interceptors.CacheMgmtInterceptor.handlePutDataMethod(CacheMgmtInterceptor.java:99)
	at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:69)
	at org.jboss.cache.interceptors.Interceptor.nextInterceptor(Interceptor.java:111)
	at org.jboss.cache.interceptors.InvocationContextInterceptor.invoke(InvocationContextInterceptor.java:73)
	at org.jboss.cache.invocation.AbstractInvocationDelegate.invoke(AbstractInvocationDelegate.java:123)
	at org.jboss.cache.invocation.AbstractInvocationDelegate.invoke(AbstractInvocationDelegate.java:64)
	at org.jboss.cache.invocation.CacheInvocationDelegate.put(CacheInvocationDelegate.java:453)
	at org.jboss.cache.invocation.NodeInvocationDelegate.addChild(NodeInvocationDelegate.java:308)
	at org.jboss.cache.RegionManager.activateRegion(RegionManager.java:420)
	at org.jboss.cache.RegionManager.activate(RegionManager.java:335)
	at org.jboss.cache.RegionManager.activate(RegionManager.java:298)
	at org.jboss.cache.RegionImpl.activate(RegionImpl.java:82)
	at org.hibernate.cache.jbc2.BasicRegionAdapter.activateLocalClusterNode(BasicRegionAdapter.java:98)
	at org.hibernate.cache.jbc2.BasicRegionAdapter.<init>(BasicRegionAdapter.java:80)
	at org.hibernate.cache.jbc2.TransactionalDataRegionAdapter.<init>(TransactionalDataRegionAdapter.java:41)
	at org.hibernate.cache.jbc2.collection.CollectionRegionImpl.<init>(CollectionRegionImpl.java:48)
	at org.hibernate.cache.jbc2.JBossCacheRegionFactory.buildCollectionRegion(JBossCacheRegionFactory.java:131)
	at org.hibernate.test.cache.jbc2.collection.AbstractCollectionRegionAccessStrategyTestCase.setUp(AbstractCollectionRegionAccessStrategyTestCase.java:126)
	at junit.framework.TestCase.runBare(TestCase.java:125)
	at org.hibernate.junit.UnitTestCase.runBare(UnitTestCase.java:63)
	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:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.extensions.TestSetup.run(TestSetup.java:23)
	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:585)
	at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)
	at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
	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:585)
	at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:290)
	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:818)
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.RangeCheck(ArrayList.java:546)
	at java.util.ArrayList.get(ArrayList.java:321)
	at org.jboss.cache.marshall.AbstractMarshaller.extractFqn(AbstractMarshaller.java:128)
	at org.jboss.cache.marshall.AbstractMarshaller.extractFqnFromMethodCall(AbstractMarshaller.java:97)
	at org.jboss.cache.marshall.CacheMarshaller200.extractFqnRegion(CacheMarshaller200.java:257)
	at org.jboss.cache.marshall.CacheMarshaller200.objectToObjectStream(CacheMarshaller200.java:115)
	at org.jboss.cache.marshall.VersionAwareMarshaller.objectToByteBuffer(VersionAwareMarshaller.java:184)
	at org.jboss.cache.marshall.AbstractMarshaller.objectToByteBuffer(AbstractMarshaller.java:71)
	at org.jgroups.blocks.RpcDispatcher.callRemoteMethods(RpcDispatcher.java:199)
	... 68 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list