Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-12795

Replicated cache with NON_XA transaction fails to syncronize cache data upon Wildfly v.21 (same with v.22) second cluster node start.

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Hide

      In Wildlfy v.22 define a replicated cache with transaction mode NON_XA. 

          <replicated-cache name="opencell-cft-cache" statistics-enabled="true">
              <transaction mode="NON_XA"/>
          </replicated-cache>

      Populate cache and start a second cluster node.

      Works in Wildfly v.18 but not v.22.

      Changing transaction to NONE, a second cluster node starts with no errors.

       

      Show
      In Wildlfy v.22 define a replicated cache with transaction mode NON_XA.      <replicated-cache name="opencell-cft-cache" statistics-enabled="true">         <transaction mode="NON_XA"/>     </replicated-cache> Populate cache and start a second cluster node. Works in Wildfly v.18 but not v.22. Changing transaction to NONE, a second cluster node starts with no errors.  
    • Compatibility/Configuration
    • Undefined

      Works perfectly on Wildlfy v.18  (Infinispan 9.4.16) but not on v.21 or v.22.

       

      A standard Wildfly v.22 (same with v.21) configuration using standalone-full-ha.xml running as a cluster of two nodes.

      Cache is configured as:

      <cache-container name="opencell">
          <transport lock-timeout="60000"/>
          <replicated-cache name="opencell-cft-cache" statistics-enabled="true">
              <transaction mode="NON_XA"/>
          </replicated-cache>
      </cache-container>

       

      Cache is accessed this way:

      @Resource(lookup = "java:jboss/infinispan/cache/opencell/opencell-cft-cache")
      private Cache<CacheKeyStr, Map<String, CustomFieldTemplate>> cftsByAppliesTo;

       

      Java version:

      OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)

       

      Infinispan fails to synchronize caches when starting a second cluster node because of missing transaction.

       

      16:13:46,141 ERROR [org.infinispan.interceptors.impl.InvocationContextInterceptor] (thread-18,ejb,opencell-node2) ISPN000136: Error executing command PutKeyValueCommand on Cache 'opencell-cft-cache', writing keys [/JobInstance_GenericWorkflowJob]: org.infinispan.commons.CacheException: javax.transaction.InvalidTransactionException: WFTXN0002: Transaction is not a supported instance: TransactionImpl
      Unknown macro: {xid=Xid Unknown macro}
      , status=ACTIVE}16:13:46,141 ERROR [org.infinispan.interceptors.impl.InvocationContextInterceptor] (thread-18,ejb,opencell-node2) ISPN000136: Error executing command PutKeyValueCommand on Cache 'opencell-cft-cache', writing keys [/JobInstance_GenericWorkflowJob]: org.infinispan.commons.CacheException: javax.transaction.InvalidTransactionException: WFTXN0002: Transaction is not a supported instance: TransactionImpl
      Unknown macro: {xid=Xid , status=ACTIVE}
      at org.infinispan@11.0.4.Final//org.infinispan.transaction.impl.TransactionTable.enlist(TransactionTable.java:227) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.impl.TxInterceptor.enlist(TxInterceptor.java:423) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.impl.TxInterceptor.handleWriteCommand(TxInterceptor.java:387) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.impl.TxInterceptor.visitPutKeyValueCommand(TxInterceptor.java:227) at org.infinispan@11.0.4.Final//org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:63) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59) at org.infinispan@11.0.4.Final//org.infinispan.statetransfer.TransactionSynchronizerInterceptor.visitCommand(TransactionSynchronizerInterceptor.java:41) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:190) at org.infinispan@11.0.4.Final//org.infinispan.statetransfer.StateTransferInterceptor.handleTxWriteCommand(StateTransferInterceptor.java:259) at org.infinispan@11.0.4.Final//org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:249) at org.infinispan@11.0.4.Final//org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:96) at org.infinispan@11.0.4.Final//org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:63) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndFinally(BaseAsyncInterceptor.java:155) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.impl.CacheMgmtInterceptor.updateStoreStatistics(CacheMgmtInterceptor.java:249) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.impl.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:210) at org.infinispan@11.0.4.Final//org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:63) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:128) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:61) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:53) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.DDAsyncInterceptor.visitPutKeyValueCommand(DDAsyncInterceptor.java:59) at org.infinispan@11.0.4.Final//org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:63) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:49) at org.infinispan@11.0.4.Final//org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invokeAsync(AsyncInterceptorChainImpl.java:226) at org.infinispan@11.0.4.Final//org.infinispan.statetransfer.StateConsumerImpl.invokePut(StateConsumerImpl.java:739) at org.infinispan@11.0.4.Final//org.infinispan.statetransfer.StateConsumerImpl.doApplyState(StateConsumerImpl.java:676) at org.infinispan@11.0.4.Final//org.infinispan.statetransfer.StateConsumerImpl.applyChunk(StateConsumerImpl.java:644) at org.infinispan@11.0.4.Final//org.infinispan.statetransfer.StateConsumerImpl.applyStateIteration(StateConsumerImpl.java:618) at org.infinispan@11.0.4.Final//org.infinispan.statetransfer.StateConsumerImpl.applyState(StateConsumerImpl.java:597) at org.infinispan@11.0.4.Final//org.infinispan.commands.statetransfer.StateResponseCommand.invokeAsync(StateResponseCommand.java:80) at org.infinispan@11.0.4.Final//org.infinispan.remoting.inboundhandler.BasePerCacheInboundInvocationHandler.invokeCommand(BasePerCacheInboundInvocationHandler.java:115) at org.infinispan@11.0.4.Final//org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.invoke(BaseBlockingRunnable.java:100) at org.infinispan@11.0.4.Final//org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.lambda$runAsync$0(BaseBlockingRunnable.java:91) at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) at java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883) at java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251) at org.infinispan@11.0.4.Final//org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.runAsync(BaseBlockingRunnable.java:74) at org.infinispan@11.0.4.Final//org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.run(BaseBlockingRunnable.java:41) at org.infinispan@11.0.4.Final//org.infinispan.remoting.inboundhandler.BasePerCacheInboundInvocationHandler.handleRunnable(BasePerCacheInboundInvocationHandler.java:163) at org.infinispan@11.0.4.Final//org.infinispan.remoting.inboundhandler.TxPerCacheInboundInvocationHandler.handle(TxPerCacheInboundInvocationHandler.java:89) at org.infinispan@11.0.4.Final//org.infinispan.remoting.inboundhandler.GlobalInboundInvocationHandler.handleCacheRpcCommand(GlobalInboundInvocationHandler.java:167) at org.infinispan@11.0.4.Final//org.infinispan.remoting.inboundhandler.GlobalInboundInvocationHandler.handleFromCluster(GlobalInboundInvocationHandler.java:113) at org.infinispan@11.0.4.Final//org.infinispan.remoting.transport.jgroups.JGroupsTransport.processRequest(JGroupsTransport.java:1378) at org.infinispan@11.0.4.Final//org.infinispan.remoting.transport.jgroups.JGroupsTransport.processMessage(JGroupsTransport.java:1302) at org.infinispan@11.0.4.Final//org.infinispan.remoting.transport.jgroups.JGroupsTransport.access$300(JGroupsTransport.java:131) at org.infinispan@11.0.4.Final//org.infinispan.remoting.transport.jgroups.JGroupsTransport$ChannelCallbacks.up(JGroupsTransport.java:1445) at org.jgroups@4.2.5.Final//org.jgroups.JChannel.up(JChannel.java:784) at org.jgroups@4.2.5.Final//org.jgroups.fork.ForkProtocolStack.up(ForkProtocolStack.java:135) at org.jgroups@4.2.5.Final//org.jgroups.stack.Protocol.up(Protocol.java:306) at org.jgroups@4.2.5.Final//org.jgroups.protocols.FORK.up(FORK.java:142) at org.jgroups@4.2.5.Final//org.jgroups.protocols.FRAG3.up(FRAG3.java:160) at org.jgroups@4.2.5.Final//org.jgroups.protocols.FlowControl.up(FlowControl.java:351) at org.jgroups@4.2.5.Final//org.jgroups.protocols.FlowControl.up(FlowControl.java:359) at org.jgroups@4.2.5.Final//org.jgroups.protocols.pbcast.GMS.up(GMS.java:868) at org.jgroups@4.2.5.Final//org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:243) at org.jgroups@4.2.5.Final//org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1049) at org.jgroups@4.2.5.Final//org.jgroups.protocols.UNICAST3.addMessage(UNICAST3.java:772) at org.jgroups@4.2.5.Final//org.jgroups.protocols.UNICAST3.handleDataReceived(UNICAST3.java:753) at org.jgroups@4.2.5.Final//org.jgroups.protocols.UNICAST3.up(UNICAST3.java:405) at org.jgroups@4.2.5.Final//org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:592) at org.jgroups@4.2.5.Final//org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:132) at org.jgroups@4.2.5.Final//org.jgroups.protocols.FailureDetection.up(FailureDetection.java:186) at org.jgroups@4.2.5.Final//org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:254) at org.jgroups@4.2.5.Final//org.jgroups.protocols.MERGE3.up(MERGE3.java:281) at org.jgroups@4.2.5.Final//org.jgroups.protocols.Discovery.up(Discovery.java:300) at org.jgroups@4.2.5.Final//org.jgroups.protocols.TP.passMessageUp(TP.java:1385) at org.jgroups@4.2.5.Final//org.jgroups.util.SubmitToThreadPool$SingleMessageHandler.run(SubmitToThreadPool.java:87) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.jboss.as.clustering.common@21.0.2.Final//org.jboss.as.clustering.context.ContextReferenceExecutor.execute(ContextReferenceExecutor.java:49) at org.jboss.as.clustering.common@21.0.2.Final//org.jboss.as.clustering.context.ContextualExecutor$1.run(ContextualExecutor.java:70) at java.base/java.lang.Thread.run(Thread.java:834)Caused by: javax.transaction.InvalidTransactionException: WFTXN0002: Transaction is not a supported instance: TransactionImpl
      Unknown macro: {xid=Xid Unknown macro}
      , status=ACTIVE} at org.wildfly.transaction.client@1.1.13.Final//org.wildfly.transaction.client.ContextTransactionManager.resume(ContextTransactionManager.java:148) at org.infinispan@11.0.4.Final//org.infinispan.transaction.impl.TransactionTable.enlist(TransactionTable.java:219) ... 71 more

       

       

       

              Unassigned Unassigned
              andrius.karpavicius Andrius Karpavicius
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: