Bug 1124861

Summary: [QE] (6.4.0) Issue with issue recovering AA with CMR, recovers OK but via orphan detection
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Ondrej Chaloupka <ochaloup>
Component: Transaction ManagerAssignee: tom.jenkinson
Status: CLOSED CURRENTRELEASE QA Contact: Hayk Hovsepyan <hhovsepy>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.3.0CC: hhovsepy, kkhan
Target Milestone: DR1   
Target Release: EAP 6.4.0   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
In previous releases of JBoss EAP 6, if the server crashed during an XA transaction, the XA resource did not always roll back immediately. This issue has been corrected by an upgrade of `org.jboss.jbossts`. Transactions now roll back and logs are cleaned as expected.
Story Points: ---
Clone Of:
: 1129025 (view as bug list) Environment:
Last Closed: 2019-08-19 12:38:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1129025, 1129524    

Description Ondrej Chaloupka 2014-07-30 13:30:20 UTC
The issue points to the fact that crash at the true end of the prepare phase of the 2PC could cause that CMR resource will be rollbacked (or marked as to be rollback - there is in fact no rollback called as CMR is standard non XA resource) but rest of the XA resources (which are participant of the transaction) won't be rollback and stay at in-doubt state.
This will be up to time when orphan detection would kick in.

Test flow:
1) enlist test XA Resource
2) enlist CMR resource
3) prepare CMR resource (nothing is written to xids table)
4) prepare test XA resource
5) finish 2PC prepare phase by writing everything to log
6) crash JVM of app server
7) recover - rollback for all resouces (CMR and XA) is expected but XA resources are left in in-doubt state

Comment 4 sgilda 2014-07-30 15:19:13 UTC

I reworded this a bit. Please let me know if this sounds okay:

In this release of JBoss EAP 6, if the server crashes at the end of the prepare phase of a two-phase commit when Commit Markable Resource is part of the XA transaction, the XA resource does not roll back as expected. The resources remain in that state until such time when orphan detection is started.

This issue is expected to be resolved in a future release of the product.

Comment 5 sgilda 2014-07-30 15:23:26 UTC
Ondra review and responded on IRC. Replacing the doc text and setting the flag.

Comment 6 tom.jenkinson 2014-07-30 16:07:28 UTC
I think we should change it to "XA resource does not roll back immediately as expected" - note the addition of "immediately".

It will rollback, its qualified in the next sentence when that will be.

Comment 7 sgilda 2014-07-30 17:07:29 UTC
Thanks Tom. I think it may also need a comma. 

Changed it to "the XA resource does not roll back immediately, as expected."

Comment 9 JBoss JIRA Server 2014-08-12 16:17:13 UTC
Tom Jenkinson <tom.jenkinson@redhat.com> updated the status of jira JBTM-2229 to Closed

Comment 10 Kabir Khan 2014-08-22 15:47:25 UTC
Setting to MODIFIED. Should be fixed by upgrade org.jboss.jbossts to 4.17.22.Final-redhat-2. https://bugzilla.redhat.com/show_bug.cgi?id=1129524

Comment 11 Hayk Hovsepyan 2014-09-26 09:04:47 UTC
Now transaction is rolled-back and Tx logs are clean.
Verified on revision 6.4.0 DR2