4 Replies Latest reply on Dec 1, 2014 7:41 AM by jeetu

    Infinispan distributed tree cache - illegal unstable state after a failed transaction

    jeetu

      Hi Team,

       

      I am using a distributed tree cache that participates in a transaction. When this transaction times out after 300 seconds (default) (The transaction actually takes much longer because of the backend's slower performance), i see a illegal state exception being thrown, when the tree cache is accessed. From then onwards, that particular cache become unstable and does not participate in any other transactions, failing on any more access.

       

      Using Infinispan 7.0.0.Final. Please help me figure out, if this is an intended behavior or if there is something wrong with my configuration.

       

      Tree Cache configuration:

      <distributed-cache name="xxx-cache">

            <expiration lifespan="7700000" interval="7700000" />

            <locking striping="false" acquire-timeout="30000" concurrency-level="500" write-skew="false" />

            <eviction strategy="LRU" max-entries="100000" />

      </distributed-cache>

       

      Exception stack:

      03:20:11,504 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (EJB default - 14) ISPN000136: Execution error: java.lang.IllegalStateException: Transaction TransactionImple < ac, BasicAction: 0:ffffac1a83b7:1408a2cc:547c3df6:58 status: ActionStatus.ABORTED > is not in a valid state to be invoking cache operations on.

              at org.infinispan.interceptors.TxInterceptor.enlist(TxInterceptor.java:356) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.interceptors.TxInterceptor.enlistIfNeeded(TxInterceptor.java:321) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.interceptors.TxInterceptor.enlistReadAndInvokeNext(TxInterceptor.java:315) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.interceptors.TxInterceptor.visitGetKeyValueCommand(TxInterceptor.java:299) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:44) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:77) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:44) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.statetransfer.StateTransferInterceptor.handleTopologyAffectedCommand(StateTransferInterceptor.java:217) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.statetransfer.StateTransferInterceptor.handleDefault(StateTransferInterceptor.java:201) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:77) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:44) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.interceptors.CacheMgmtInterceptor.visitGetKeyValueCommand(CacheMgmtInterceptor.java:92) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:44) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:102) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:71) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:77) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:44) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:66) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:77) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:44) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:333) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:422) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:414) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.atomic.AtomicMapLookup.getMap(AtomicMapLookup.java:101) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.atomic.AtomicMapLookup.getAtomicMap(AtomicMapLookup.java:69) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.atomic.AtomicMapLookup.getAtomicMap(AtomicMapLookup.java:38) [infinispan-core.jar:7.0.0.Final]

              at org.infinispan.tree.impl.TreeStructureSupport.getAtomicMap(TreeStructureSupport.java:111) [infinispan-tree.jar:7.0.0.Final]

              at org.infinispan.tree.impl.TreeCacheImpl.get(TreeCacheImpl.java:202) [infinispan-tree.jar:7.0.0.Final]

              at org.infinispan.tree.impl.TreeCacheImpl.get(TreeCacheImpl.java:193) [infinispan-tree.jar:7.0.0.Final]