[jbossts-issues] [JBoss JIRA] (JBTM-3239) Failing AfterLRA participant calls are not repeated with recovery module

Martin Stefanko (Jira) issues at jboss.org
Wed Jan 8 05:04:15 EST 2020


    [ https://issues.redhat.com/browse/JBTM-3239?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13941360#comment-13941360 ] 

Martin Stefanko edited comment on JBTM-3239 at 1/8/20 5:04 AM:
---------------------------------------------------------------

I would propose to move the afterLRA recovery module handling (meaning the repetition of a failed AfterLRA invocation in the previous run of the recovery module) solely to the LRARecord. However, there are a few questions on how to handle it:

* is the participant in the status Completed/Compensated when the Complete/Compensate returns a successful response but there is an AfterLRA method? In other words, when is the participant truly Completed/Compensated? Is it including a successful AfterLRA call?

* because of https://issues.redhat.com/browse/JBTM-3228 I think the best solution would be to add a boolean field stating whether afterLRA should be called and/or forget should be called. As both of these methods will be called after the participant "ends" (Complete/Compensate returns a successful response)

* Please note that we will then be returning HEURISTIC_HAZARD for unsuccessful afterLRA (and forget) calls so we need to make sure that these methods are handled before the execution continues to the actual logic handling this H_H in Completing/Compensating states.

[~mmusgrov], [~tomjenkinson], [~ochaloup] 


was (Author: mstefank):
I would propose to move the afterLRA handling solely to the LRARecord. However, there are a few questions on how to handle it:

* is the participant in the status Completed/Compensated when the Complete/Compensate returns a successful response but there is an AfterLRA method? In other words, when is the participant truly Completed/Compensated? Is it including a successful AfterLRA call?

* because of https://issues.redhat.com/browse/JBTM-3228 I think the best solution would be to add a boolean field stating whether afterLRA should be called and/or forget should be called. As both of these methods will be called after the participant "ends" (Complete/Compensate returns a successful response)

* Please note that we will then be returning HEURISTIC_HAZARD for unsuccessful afterLRA (and forget) calls so we need to make sure that these methods are handled before the execution continues to the actual logic handling this H_H in Completing/Compensating states.

[~mmusgrov], [~tomjenkinson], [~ochaloup] 

> Failing AfterLRA participant calls are not repeated with recovery module
> ------------------------------------------------------------------------
>
>                 Key: JBTM-3239
>                 URL: https://issues.redhat.com/browse/JBTM-3239
>             Project: JBoss Transaction Manager
>          Issue Type: Bug
>          Components: LRA
>    Affects Versions: 5.10.1.Final
>            Reporter: Martin Stefanko
>            Assignee: Martin Stefanko
>            Priority: Major
>




--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jbossts-issues mailing list