(ZOS) Recovering with JTA XAResource managers
When a JTA XAResource manager is enlisted in a global transaction, it cannot express an interest in the z/OS Resource Recovery Services unit of recovery (UR) like an RRS resource manager can. Instead, the product transaction service will save information in its RRS interest indicating that a JTA Resource Manager was enlisted in the transaction.
When we look at the UR through the RRS panels, we will not see an interest for each XA transaction branch, as we would for a resource manager like DB2 or CICS interest.
Because of the differences between RRS and JTA XAResource Managers, there is a different set of errors that can occur when dealing with a JTA XAResource. The following sections describe errors we might see when recovering with a JTA XAResource Manager. Some of these errors are expected, while others may indicate that there is another type of problem, such as connectivity, that needs to be addressed.
This topic describes Peer Restart and Recovery messages that are unique to the z/OS environment.
Messages
- BBOT0025D: OTS HAS ENCOUNTERED A LOG DATA MISMATCH. REPLY CONTINUE IF THIS IS EXPECTED OR TERMINATE IF UNEXPECTED.
This message is issued when the restart epoch in the XA partner log for the product does not match the restart epoch in RRS. These logs must remain in sync to guarantee the atomic outcomes of distributed transactions.
If one or the other, but not both logs, were restored from a backup, a mismatch will occur. Since the XA partner log is maintained in the JVM, this error can also occur if the controller is started but then is canceled before the JVM is initialized. The RRS log stream will have been replayed before the XA partner log was initialized.
This message gives the operator an opportunity to cancel recovery and determine why the logs are not in sync. If the machine is not in production and data integrity is not an issue, the operator may reply CONTINUE and recovery will attempt to complete with the mismatched logs. However, the results of this response are unpredictable. If the operator replies TERMINATE, the application server will shut down, and the problem can be investigated before completing recovery.
- BBOT0026I: TRANSACTION SERVICE RESTART AND RECOVERY FOR SERVER %s IS STILL PROCESSING AN UNKNOWN NUMBER OF XA TRANSACTIONS.
This message is issued when the application server is unable to initiate contact with each JTA XAResource in its log. Since each JTA XAResource maintains its own logs, it is impossible to know how many transactions there are to recover. Look in the servant region for messages WTRN0019, and WTRN0025. These messages will help you determine what may be preventing the application server from communicating with these JTA XAResource Manager.