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

391 views Asked by At

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

 

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.

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

 

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{xid=Xid{formatId=2, globalTransactionId=0000000000000001,branchQualifier=0000000000000001}, status=ACTIVE}
    at [email protected]//org.infinispan.transaction.impl.TransactionTable.enlist(TransactionTable.java:227)
    at [email protected]//org.infinispan.interceptors.impl.TxInterceptor.enlist(TxInterceptor.java:423)
    at [email protected]//org.infinispan.interceptors.impl.TxInterceptor.handleWriteCommand(TxInterceptor.java:387)
    at [email protected]//org.infinispan.interceptors.impl.TxInterceptor.visitPutKeyValueCommand(TxInterceptor.java:227)
    at [email protected]//org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:63)
    at [email protected]//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
    at [email protected]//org.infinispan.statetransfer.TransactionSynchronizerInterceptor.visitCommand(TransactionSynchronizerInterceptor.java:41)
    at [email protected]//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:190)
    at [email protected]//org.infinispan.statetransfer.StateTransferInterceptor.handleTxWriteCommand(StateTransferInterceptor.java:259)
    at [email protected]//org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:249)
    at [email protected]//org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:96)
    at [email protected]//org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:63)
    at [email protected]//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndFinally(BaseAsyncInterceptor.java:155)
    at [email protected]//org.infinispan.interceptors.impl.CacheMgmtInterceptor.updateStoreStatistics(CacheMgmtInterceptor.java:249)
    at [email protected]//org.infinispan.interceptors.impl.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:210)
    at [email protected]//org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:63)
    at [email protected]//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:128)
    at [email protected]//org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
    at [email protected]//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:61)
    at [email protected]//org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:53)
    at [email protected]//org.infinispan.interceptors.DDAsyncInterceptor.visitPutKeyValueCommand(DDAsyncInterceptor.java:59)
    at [email protected]//org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:63)
    at [email protected]//org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:49)
    at [email protected]//org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invokeAsync(AsyncInterceptorChainImpl.java:226)
    at [email protected]//org.infinispan.statetransfer.StateConsumerImpl.invokePut(StateConsumerImpl.java:739)
    at [email protected]//org.infinispan.statetransfer.StateConsumerImpl.doApplyState(StateConsumerImpl.java:676)
    at [email protected]//org.infinispan.statetransfer.StateConsumerImpl.applyChunk(StateConsumerImpl.java:644)
    at [email protected]//org.infinispan.statetransfer.StateConsumerImpl.applyStateIteration(StateConsumerImpl.java:618)
    at [email protected]//org.infinispan.statetransfer.StateConsumerImpl.applyState(StateConsumerImpl.java:597)
    at [email protected]//org.infinispan.commands.statetransfer.StateResponseCommand.invokeAsync(StateResponseCommand.java:80)
    at [email protected]//org.infinispan.remoting.inboundhandler.BasePerCacheInboundInvocationHandler.invokeCommand(BasePerCacheInboundInvocationHandler.java:115)
    at [email protected]//org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.invoke(BaseBlockingRunnable.java:100)
    at [email protected]//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 [email protected]//org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.runAsync(BaseBlockingRunnable.java:74)
    at [email protected]//org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.run(BaseBlockingRunnable.java:41)
    at [email protected]//org.infinispan.remoting.inboundhandler.BasePerCacheInboundInvocationHandler.handleRunnable(BasePerCacheInboundInvocationHandler.java:163)
    at [email protected]//org.infinispan.remoting.inboundhandler.TxPerCacheInboundInvocationHandler.handle(TxPerCacheInboundInvocationHandler.java:89)
    at [email protected]//org.infinispan.remoting.inboundhandler.GlobalInboundInvocationHandler.handleCacheRpcCommand(GlobalInboundInvocationHandler.java:167)
    at [email protected]//org.infinispan.remoting.inboundhandler.GlobalInboundInvocationHandler.handleFromCluster(GlobalInboundInvocationHandler.java:113)
    at [email protected]//org.infinispan.remoting.transport.jgroups.JGroupsTransport.processRequest(JGroupsTransport.java:1378)
    at [email protected]//org.infinispan.remoting.transport.jgroups.JGroupsTransport.processMessage(JGroupsTransport.java:1302)
    at [email protected]//org.infinispan.remoting.transport.jgroups.JGroupsTransport.access$300(JGroupsTransport.java:131)
    at [email protected]//org.infinispan.remoting.transport.jgroups.JGroupsTransport$ChannelCallbacks.up(JGroupsTransport.java:1445)
    at [email protected]//org.jgroups.JChannel.up(JChannel.java:784)
    at [email protected]//org.jgroups.fork.ForkProtocolStack.up(ForkProtocolStack.java:135)
    at [email protected]//org.jgroups.stack.Protocol.up(Protocol.java:306)
    at [email protected]//org.jgroups.protocols.FORK.up(FORK.java:142)
    at [email protected]//org.jgroups.protocols.FRAG3.up(FRAG3.java:160)
    at [email protected]//org.jgroups.protocols.FlowControl.up(FlowControl.java:351)
    at [email protected]//org.jgroups.protocols.FlowControl.up(FlowControl.java:359)
    at [email protected]//org.jgroups.protocols.pbcast.GMS.up(GMS.java:868)
    at [email protected]//org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:243)
    at [email protected]//org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1049)
    at [email protected]//org.jgroups.protocols.UNICAST3.addMessage(UNICAST3.java:772)
    at [email protected]//org.jgroups.protocols.UNICAST3.handleDataReceived(UNICAST3.java:753)
    at [email protected]//org.jgroups.protocols.UNICAST3.up(UNICAST3.java:405)
    at [email protected]//org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:592)
    at [email protected]//org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:132)
    at [email protected]//org.jgroups.protocols.FailureDetection.up(FailureDetection.java:186)
    at [email protected]//org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:254)
    at [email protected]//org.jgroups.protocols.MERGE3.up(MERGE3.java:281)
    at [email protected]//org.jgroups.protocols.Discovery.up(Discovery.java:300)
    at [email protected]//org.jgroups.protocols.TP.passMessageUp(TP.java:1385)
    at [email protected]//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 [email protected]//org.jboss.as.clustering.context.ContextReferenceExecutor.execute(ContextReferenceExecutor.java:49)
    at [email protected]//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{xid=Xid{formatId=2, globalTransactionId=0000000000000001,branchQualifier=0000000000000001}, status=ACTIVE}
    at [email protected]//org.wildfly.transaction.client.ContextTransactionManager.resume(ContextTransactionManager.java:148)
    at [email protected]//org.infinispan.transaction.impl.TransactionTable.enlist(TransactionTable.java:219)
    ... 71 more

 

 

 

1

There are 1 answers

0
pruivo On

It is a bug. Created: https://issues.redhat.com/browse/ISPN-12798

Thanks for the report.