[infinispan-issues] [JBoss JIRA] Created: (ISPN-1243) JdbcStringBasedCacheStore closes the StateTransferManagerImpl marshaller while state transfer is in progress

Dan Berindei (JIRA) jira-events at lists.jboss.org
Fri Jul 15 09:16:24 EDT 2011


JdbcStringBasedCacheStore closes the StateTransferManagerImpl marshaller while state transfer is in progress
------------------------------------------------------------------------------------------------------------

                 Key: ISPN-1243
                 URL: https://issues.jboss.org/browse/ISPN-1243
             Project: Infinispan
          Issue Type: Bug
          Components: Loaders and Stores, Marshalling
    Affects Versions: 5.0.0.CR7
            Reporter: Dan Berindei
            Assignee: Dan Berindei
             Fix For: 5.1.0.BETA1, 5.1.0.Final


We use the same marshaller instance both in StateTransferManagerImpl and in JdbcStringBasedCacheStore, but RiverMarshaller is not reentrant, so when JdbcStringBasedCacheStore starts unmarshalling its entry it invalidates the marshaller for StateTransferManagerImpl:

Incoming-2,Infinispan-Cluster,NodeB-1353 at 2229, prio=5, in group 'Thread Pools', status: 'runnable'
  java.lang.Thread.State: RUNNABLE
	  at org.jboss.marshalling.AbstractUnmarshaller.start(AbstractUnmarshaller.java:91)
	  at org.jboss.marshalling.river.RiverUnmarshaller.start(RiverUnmarshaller.java:1181)
	  at org.infinispan.marshall.jboss.GenericJBossMarshaller.startObjectInput(GenericJBossMarshaller.java:189)
	  at org.infinispan.marshall.VersionAwareMarshaller.startObjectInput(VersionAwareMarshaller.java:162)
	  at org.infinispan.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:119)
	  at org.infinispan.marshall.AbstractMarshaller.objectFromInputStream(AbstractMarshaller.java:112)
	  at org.infinispan.loaders.jdbc.JdbcUtil.unmarshall(JdbcUtil.java:88)
	  at org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.readStoredEntry(JdbcStringBasedCacheStore.java:384)
	  at org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.loadLockSafe(JdbcStringBasedCacheStore.java:316)
	  at org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.loadLockSafe(JdbcStringBasedCacheStore.java:87)
	  at org.infinispan.loaders.LockSupportCacheStore.load(LockSupportCacheStore.java:130)
	  at org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:149)
	  at org.infinispan.interceptors.CacheLoaderInterceptor.visitPutKeyValueCommand(CacheLoaderInterceptor.java:80)
	  at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
	  at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
	  at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:133)
	  at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:60)
	  at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
	  at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
	  at org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:214)
	  at org.infinispan.interceptors.TxInterceptor.visitPutKeyValueCommand(TxInterceptor.java:162)
	  at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
	  at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
	  at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:104)
	  at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:64)
	  at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:60)
	  at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
	  at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:274)
	  at org.infinispan.CacheImpl.put(CacheImpl.java:513)
	  at org.infinispan.statetransfer.StateTransferManagerImpl.applyInMemoryState(StateTransferManagerImpl.java:308)
	  at org.infinispan.statetransfer.StateTransferManagerImpl.applyState(StateTransferManagerImpl.java:280)
	  at org.infinispan.remoting.InboundInvocationHandlerImpl.applyState(InboundInvocationHandlerImpl.java:230)
	  at org.infinispan.remoting.transport.jgroups.JGroupsTransport.setState(JGroupsTransport.java:615)
	  at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUpEvent(MessageDispatcher.java:711)
	  at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:771)
	  at org.jgroups.JChannel.up(JChannel.java:1441)
          ...


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the infinispan-issues mailing list