XAResource.commit() Method Fails with ORA-24756 on a Transaction Branch.
(Doc ID 221089.1)
Last updated on JANUARY 30, 2022
Applies to:JDBC - Version 22.214.171.124 and later
Information in this document applies to any platform.
A Java JDBC application creates two XA transaction branches and inserts a row. The XA transaction ends for each transaction branch. When the branches are prepared using oxar1.prepare (xid1), you observe one branch returning XA_OK and the other returning XA_RDONLY.
Issuing XAResource.commit()on the branch that returned XA_RDONLY causes the global transaction (both branches) to fail. Neither commit or rollback can be completed and the database is left in an inconsistent state resulting in in-doubt transactions. Both transaction branches are accessing the same resource manager(RM), and, in this case, the same Oracle instance.
The branch which returns XA_RDONLY on the prepare method fails if either XAResource.commit() or XAResource.rollback() is attempt on the branch.
The application fails with the following exceptions.
XA Error is -4
ORA-24756 transaction does not exist
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!