5 Replies Latest reply on Feb 2, 2011 1:48 PM by an1310

    ClassCastException from ImmortalCacheEntry to MVCCEntry

    changgeng

      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)