[jbossts-issues] [JBoss JIRA] (JBTM-3147) WS-AT participant which timeouts on prepare is not aborted and cancel is not retried but both are put to heuristic state

Ondrej Chaloupka (Jira) issues at jboss.org
Tue Jun 4 05:52:01 EDT 2019


     [ https://issues.jboss.org/browse/JBTM-3147?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ondrej Chaloupka updated JBTM-3147:
-----------------------------------
        Status: Resolved  (was: Pull Request Sent)
    Resolution: Done


> WS-AT participant which timeouts on prepare is not aborted and cancel is not retried but both are put to heuristic state
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBTM-3147
>                 URL: https://issues.jboss.org/browse/JBTM-3147
>             Project: JBoss Transaction Manager
>          Issue Type: Bug
>          Components: XTS
>            Reporter: Ondrej Chaloupka
>            Assignee: Ondrej Chaloupka
>            Priority: Major
>             Fix For: 5.9.5.Final
>
>
> When {{prepare}} on WS-AT participant timeouts (e.g. because of a communication error) such participant is marked as heuristic. That's not correct as timeouted communication during prepare is expected to be aborted.
> This behaviour is confirmed by comments in the source code and tests expect such behaviour.
> Unfortunately the returned error code makes opposite (marking participant as heuristic). The return code should do what the comment asks
> https://github.com/jbosstm/narayana/blob/5.9.5.Final/XTS/WSCF/classes/com/arjuna/mwlabs/wscf/model/twophase/arjunacore/ParticipantRecord.java#L362
> {quote}
> // if prepare timed out then we return error so it goes back on the
> // prepare list and is rolled back
> {quote}
> The same is correct for the {{cancel}} call on communication error. When cancel is called then it's expected to be retried and correct return code is needed to be returned.
> See comment on the durable 2PC participant at https://github.com/jbosstm/narayana/blob/5.9.5.Final/XTS/WSTX/classes/com/arjuna/mwlabs/wst/at/participants/DurableTwoPhaseCommitParticipant.java#L232
> {quote}
> // log an error here -- if the participant is dead it will retry anyway
> {quote}



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jbossts-issues mailing list