An read-only XA transaction that has a timeout never has the timer canceled
when the transaction is complete
------------------------------------------------------------------------------------------------------------
Key: DERBY-5562
URL: https://issues.apache.org/jira/browse/DERBY-5562
Project: Derby
Issue Type: Bug
Components: Network Server
Affects Versions: 10.8.2.2
Environment: Solaris 10
Glassfish V2.1.1
Reporter: Brett Bergquist
>From the EmbedConnection.java comment for "xa_prepare".
// On a prepare call, xa allows an
optimization that if the
// transaction is read only, the RM can
just go ahead and
// commit it. So if store returns this
read only status -
// meaning store has taken the liberty
to commit already - we
// needs to turn around and call
internalCommit (without
// committing the store again) to make
sure the state is
// consistent. Since the transaction
is read only, there is
// probably not much that needs to be
done.
When XATransactionController.XA_RDONLY is returned, no "commit" or "rollback"
will be received. If a XA transaction timer was started (could be through the
derby.jdbc.xaTransactionTimeout=xxx for example), then these transactions will
not have their timer canceled and will later attempt to cancel the transaction
and fail as the transaction no longer exists.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira