Ondra Chaloupka created WFLY-8275:
-------------------------------------
Summary: 2PC Inflow transactions don't work for JTA
Key: WFLY-8275
URL:
https://issues.jboss.org/browse/WFLY-8275
Project: WildFly
Issue Type: Bug
Components: Transactions, JCA
Reporter: Ondra Chaloupka
Assignee: Tom Jenkinson
Priority: Blocker
Inflow transactions are initiated by an external enterprise information system (EIS). If a
message arrive from the EIS in a transaction, the EAP should import the tx context (thru
resource adapter (RAR)) and perform the business process on that message in the same
transaction.
In our test two participants are part of TM subordinate transaction driven by RAR and two
phase commit (2PC) is expected to be processed by TM on those participants.
It seems that since DR12 TM doesn't know about inflow tx and returns XA_RDONLY on
prepare call. After that it ends up with XAException on commit call.
{code}
2017-02-21 10:41:38,265 ERROR
[org.jboss.as.test.jbossts.crashrec.jca.rar.TestResourceTxnWorkUnit] (default-threads - 1)
Can't run javax.resource.spi.XATerminator command based on message 'commit 1'
XAException 'null' with error code 'XAER_INVAL'?:
javax.transaction.xa.XAException
at
com.arjuna.ats.internal.jta.transaction.arjunacore.jca.XATerminatorImple.commit(XATerminatorImple.java:98)
at org.jboss.as.test.jbossts.crashrec.jca.rar.TestResourceTxnWorkUnit.run(Unknown
Source)
at org.jboss.jca.core.workmanager.WorkWrapper.runWork(WorkWrapper.java:445)
at org.jboss.jca.core.workmanager.WorkWrapper.run(WorkWrapper.java:223)
at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33)
at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:808)
at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45)
at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:828)
at java.lang.Thread.run(Thread.java:745)
at org.jboss.threads.JBossThread.run(JBossThread.java:320)
{code}
Full log attached.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)