The Java™ Transaction Service (JTS) Transaction Manager
must detect stale connections and retry on new connections.
Download Description
PQ67409 resolves the following problem:
USERS AFFECTED:
Users of WebSphere® Application Server when a connection to a Resource
Manager (RM) is lost, any prepared Transactions are not resolved when the
RM comes back online. These transactions do not get resolved until
application server restart.
PROBLEM DESCRIPTION:
The JTS Transaction Manager must detect stale connections and retry on new
connections. The Transaction Manager does not currently handle stale
connections correctly. If a network failure occurs with in-process
transactions (2 phase commit), the transaction manager is not able to
rollback the resource manager. It tries once and receives an XAER_RMFAIL.
It then retries the rollback, but fails with XAER_PROTO. Defect 139136.
PROBLEM CONCLUSION:
The v4.0 transaction manager does not currently handle stale connections.
If a network failure occurs with in-flight transactions (2PC), the
transaction manager is currently not able to roll back the resource
manager. It tries once and receives a XAER_RMFAIL. It then retries the
rollback, but fails with XAER_PROTO.
SOLUTION:
Reinstate the connection and retry. Also, the reconnect to RM logic must
throw a TRANSIENT exception if the RM is not yet available on the retry.
The retry will then be done again after a short wait.
Prerequisites
None
Installation instructions
Please refer to the readme for detailed installation
instructions.