[jbossts-issues] [JBoss JIRA] (JBTM-2124) Add orphan detection for JTS interposition mode

Ondra Chaloupka (JIRA) issues at jboss.org
Wed Dec 6 01:32:00 EST 2017


    [ https://issues.jboss.org/browse/JBTM-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13497674#comment-13497674 ] 

Ondra Chaloupka commented on JBTM-2124:
---------------------------------------

Discussion at the https://developer.jboss.org/message/971613 gives more details about needs for this fix. My conversation with Jonathan during F2F gives me a bit more details about what his proposal meant

{quote
... ensure the node name is getting into the Xid (it probably already is), ensure the existing name filter can read it (it probably can), add ownership filter(s) as necessary...
{quote}

What I was not sure what is the ownership filter - that's mean filter which defines if the transaction is not inflight one. The order of {{XAResourceOrphanFilter}} to veto rollback (in case) should be similar what JTA does in way (example from JTA): NodeNameXAResourceOrphanFilter (was transaction created by me?), JTATransactionLogXAResourceOrphanFilter (is not this transaction subordinate?), JTAActionStatusServiceXAResourceOrphanFilter (is not this transaction in-fligth?)

> Add orphan detection for JTS interposition mode
> -----------------------------------------------
>
>                 Key: JBTM-2124
>                 URL: https://issues.jboss.org/browse/JBTM-2124
>             Project: JBoss Transaction Manager
>          Issue Type: Feature Request
>          Components: Recovery
>    Affects Versions: 4.17.17
>            Reporter: Ondra Chaloupka
>            Assignee: Ondra Chaloupka
>             Fix For: 5.later
>
>
> Currently orphan detection is supported for JTA, not for JTS. Please, add the suport for JTS as well.
> The following scenario for JTS causes that the orphan is left in the transaction log store and the prepared resource could held the lock till the time that it's timeouted on the side of the database/jms.
> The program flow is following (test run on EAP 6)
> enlisting jms xaresource to transaction
> sending msg to queue
> enlisting xa test resource
> preparing jms xaresource
> preparing xa test resource
> crash JVM at the end of the test XAResource.prepare()
> restart app server and recovery is run
> During recovery the jms resource is processed correctly because TM found some info in its jts logs. But such info was not saved for test xa resource. The test xa is not rollback.
> More info and discussion could be found at: https://bugzilla.redhat.com/show_bug.cgi?id=1064170



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jbossts-issues mailing list