You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by "Bob Scheifler (JIRA)" <ji...@apache.org> on 2007/07/30 21:30:53 UTC

[jira] Created: (RIVER-155) Change prepare*() semantics to allow the return of COMMITTED

Change prepare*() semantics to allow the return of COMMITTED
------------------------------------------------------------

                 Key: RIVER-155
                 URL: https://issues.apache.org/jira/browse/RIVER-155
             Project: River
          Issue Type: Improvement
          Components: net_jini_core
    Affects Versions: jtsk_2.0
            Reporter: Bob Scheifler
            Priority: Trivial


Bugtraq ID [6202581|http://bugs.sun.com/bugdatabase/view_bug.do?bug_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.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.