[
https://issues.jboss.org/browse/JBTM-2124?page=com.atlassian.jira.plugin....
]
Ondra Chaloupka commented on JBTM-2124:
---------------------------------------
I hit a case connected with this issue.
The trouble described at JBTM-2124 belongs to situation where prepare operation is crashed
somewhere in the middle. XAResource has in doubt (saves its state in remote transaction
store) but TM does not save any info to its object store.
The case I want to mention is a little bit different. The JVM is crashed at time when
XAResource saves its state in remote transaction store and in TM to its object store too.
The recovery manager starts with processing of recovery. If XA_RETRY is not thrown then
the rollback would be called. But XA_RETRY causes that log record is just removed from TM
object store. After that the case really gets back to the JBTM-2124.
But I think if XA_RETRY/RMFAIL does not cause removal of the TM object store record - it
would be just left as it is, next round of recovery would be able to rollback the resource
and remove the record (of course if broker starts being available at that time).
Agreed with Tom that before this issue (JBTM-2124) is fixed the trouble of handling
XA_RETRY on recovery rollback is not relevant to be handled differently.
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: Gytis Trikleris
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.2.3#72005)