ClassCastException from ImmortalCacheEntry to MVCCEntry
changgeng Dec 13, 2010 3:59 AMThis 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)