5 Replies Latest reply: Feb 2, 2011 1:48 PM by Erik Salter RSS

ClassCastException from ImmortalCacheEntry to MVCCEntry

Changgeng Li Newbie

This issues happens rarely during a load test. The stack trace is in belowing. We are using the DummyTransactionManager lookup, and there's no @Transactional declaration around the call to replace method. The test are running on a 3 nodes environment in distribution mode with number of owner setting to 2. We are sending replace command randomly to the 3 nodes with all existing keys.

 

I'm afraid I can not create a unit test case before having more knowledge about when a ImmortalCacheEntry will be in a context. Can anybody explain on that?

 

 

java.lang.ClassCastException: org.infinispan.container.entries.ImmortalCacheEntry cannot be cast to org.infinispan.container.entries.MVCCEntry
        at org.infinispan.commands.write.ReplaceCommand.perform(ReplaceCommand.java:63)
        at org.infinispan.interceptors.CallInterceptor.handleDefault(CallInterceptor.java:71)
        at org.infinispan.commands.AbstractVisitor.visitReplaceCommand(AbstractVisitor.java:65)
        at org.infinispan.commands.write.ReplaceCommand.acceptVisitor(ReplaceCommand.java:59)
        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
        at org.infinispan.interceptors.DistributionInterceptor.handleWriteCommand(DistributionInterceptor.java:324)
        at org.infinispan.interceptors.DistributionInterceptor.visitReplaceCommand(DistributionInterceptor.java:209)
        at org.infinispan.commands.write.ReplaceCommand.acceptVisitor(ReplaceCommand.java:59)
        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
        at org.infinispan.interceptors.LockingInterceptor.visitReplaceCommand(LockingInterceptor.java:307)
        at org.infinispan.commands.write.ReplaceCommand.acceptVisitor(ReplaceCommand.java:59)
        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
        at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132)
        at org.infinispan.commands.AbstractVisitor.visitReplaceCommand(AbstractVisitor.java:65)
        at org.infinispan.commands.write.ReplaceCommand.acceptVisitor(ReplaceCommand.java:59)
        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
        at org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:172)
        at org.infinispan.interceptors.TxInterceptor.visitReplaceCommand(TxInterceptor.java:130)
        at org.infinispan.interceptors.DistTxInterceptor.visitReplaceCommand(DistTxInterceptor.java:90)
        at org.infinispan.commands.write.ReplaceCommand.acceptVisitor(ReplaceCommand.java:59)
        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
        at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:87)
        at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:58)
        at org.infinispan.commands.AbstractVisitor.visitReplaceCommand(AbstractVisitor.java:65)
        at org.infinispan.commands.write.ReplaceCommand.acceptVisitor(ReplaceCommand.java:59)
        at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:273)
        at org.infinispan.CacheDelegate.replace(CacheDelegate.java:475)
        at org.infinispan.CacheSupport.replace(CacheSupport.java:96)