[
https://issues.jboss.org/browse/JBTM-2124?page=com.atlassian.jira.plugin....
]
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)