Details
-
Improvement
-
Status: Open
-
Trivial
-
Resolution: Unresolved
-
jtsk_2.0
-
None
-
None
-
6202581
Description
Bugtraq ID 6202581
In fixing the transaction specification for Porter, a problem case arose surrounding the idempotentcy of prepare() and prepareAndCommit(). For example:
- txn mgr calls prepareAndCommit() on a participant
- participant receives call and commits
- BUT txn mgr receives a RemoteException
- retries call again
At this point, 1) the participant lost knowledge of the transaction and throws an UnknownTransactionException or 2) is in the COMMITTED state, but can't currently return COMMITTED according to the spec, so probably needs to throw an exception too.
The RFE is to consider the potential impact and benefits of letting prepare return COMMITTED.
Note that prepareAndCommit is currently defined in (pseudo-logic) the spec to be equivalent to a prepare() then a commit(). Might have to be re-worked to accomodate these new semantics.