David Lloyd created JBTM-2854:
---------------------------------
Summary: XATerminatorImple.importTransaction can produce
ArrayIndexOutOfBoundsException
Key: JBTM-2854
URL:
https://issues.jboss.org/browse/JBTM-2854
Project: JBoss Transaction Manager
Issue Type: Bug
Components: JTA
Reporter: David Lloyd
Priority: Blocker
Here is what the stack trace looks like:
{noformat}
Caused by: Remote exception java.lang.ArrayIndexOutOfBoundsException: 32
at
com.arjuna.ats.jta.xa.XATxConverter.getSubordinateNodeName(XATxConverter.java:204)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.subordinate.jca.SubordinateAtomicAction.<init>(SubordinateAtomicAction.java:115)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.subordinate.jca.TransactionImple.<init>(TransactionImple.java:57)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.jca.TransactionImporterImple.addImportedTransaction(TransactionImporterImple.java:281)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.jca.TransactionImporterImple.importRemoteTransaction(TransactionImporterImple.java:105)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.jca.XATerminatorImple.importTransaction(XATerminatorImple.java:599)
at
org.wildfly.transaction.client.provider.jboss.JBossLocalTransactionProvider$XAImporterImpl.findOrImportTransaction(JBossLocalTransactionProvider.java:585)
... 11 more
{noformat}
It appears that there is no protection against an XID of inadequate length in
XATxConverter#setSubordinateNodeName.
At present the protocol is attempting to import an XID which contains only the gtid from
the master node (based on what I discussed with [~tomjenkinson] some time ago at a
previous meeting). This can be changed if it is wrong, but either way this method should
fail with a friendlier exception if the XID is not valid for some reason.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)