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

Mark Little (JIRA) issues at jboss.org
Mon Dec 22 14:47:29 EST 2014


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

Mark Little commented on JBTM-2124:
-----------------------------------

If context propagation is used then there are two possible scenarios:

(i) the application code uses the Explicit Interposition class with the context passed in via the method parameter - in which case we're in the same situation as with interposition.

(ii) the application code uses the context passed in to register resources, play with the coordinator ref in some way, and (depending upon whether the field is null or not) play with the terminator ref in some way. In this case we're in the same situation as if the resource were local to the coordinator (or at least the coordinator that is referenced in the context passed in, which could of course be something other than the root coordinator). In this case there's nothing special going on under the covers - no interposition, no subordinate coordinator, no log entry other than one the resource creates and which it would've created if it were in the same address space as the coordinator referenced in the context.

The tooling approach should work fine in both of these cases.

> 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: Ondřej Chaloupka
>            Assignee: Gytis Trikleris
>
> 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
(v6.3.11#6341)



More information about the jbossts-issues mailing list