[
https://jira.jboss.org/jira/browse/JBTM-463?page=com.atlassian.jira.plugi...
]
Mark Little commented on JBTM-463:
----------------------------------
Of course that would then be a global property, so not something to consider as a final
solution, just a potential workaround.
If WS-AT wasn't so braindead about one-phase commit! But that's standards for you.
I suggest making doOnePhase protected in that case.
WS-AT can leak participant-side log entries when committing with only
one participant
-------------------------------------------------------------------------------------
Key: JBTM-463
URL:
https://jira.jboss.org/jira/browse/JBTM-463
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 4.5
Reporter: Andrew Dinn
Assignee: Andrew Dinn
The WSAT coordinator implements its client commit operation by calling BasicAction.End().
End() calls BasicAction.doOnePhase() to decide whether to optimise the commit. If there is
only one participant then doOnePhase() will return true in which case End() calls the
participant record's method topLevelOnePhaseCommit() to do the commit and omits to
write a log record for the transaction.
The WSAT participant record can only perform this one phase commit by dispatching a
prepare message followed by a commit message (this is required by the AT spec). The
participant has to log a participant record at prepare. If the coordinator JVM crashes
between prepare and commit then the participant web service will never delete the log
record because it will never receive a commit message when the coordinator restarts.
n.b. this can easily be fixed by overriding BasicAction.doOnePhase in the WSAT
coordinator so that it returns false. however, this method is final so modifying it
requires a change to the signature of BasicAction.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira