[jboss-jira] [JBoss JIRA] (WFWIP-218) server scale down keeps data in client's data/ejb-xa-recovery and transactions on client aren't commited
Tomasz Adamski (Jira)
issues at jboss.org
Wed Oct 2 11:36:00 EDT 2019
[ https://issues.jboss.org/browse/WFWIP-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13792381#comment-13792381 ]
Tomasz Adamski commented on WFWIP-218:
--------------------------------------
In this scenario, the transaction is recovered (committed) correctly. The server waits for the client before scale-down as well. The problem is that during the recovery the logs on the server-side are not being cleared (because XAResourceRegistry is not serialized; null in code below).
{code}
try {
if (commitToEnlistment()) lookup(xid).commit(onePhase);
} catch (XAException | RuntimeException exception) {
if (resourceRegistry != null)
resourceRegistry.resourceInDoubt(this);
throw exception;
}
if (resourceRegistry != null)
resourceRegistry.removeResource(this);
}
{code}
This is a bug but it does not cause incorrect transaction recovery. As a result, I'm downgrading it from the blocker status.
> server scale down keeps data in client's data/ejb-xa-recovery and transactions on client aren't commited
> --------------------------------------------------------------------------------------------------------
>
> Key: WFWIP-218
> URL: https://issues.jboss.org/browse/WFWIP-218
> Project: WildFly WIP
> Issue Type: Bug
> Components: OpenShift
> Reporter: Martin Simka
> Assignee: Ondrej Chaloupka
> Priority: Blocker
>
> this follows up on WFWIP-206
> While testing tx recovery in OpenShift I see that scale down of pod that has transaction in-doubt on it isn't successful
> Scenario:
> *ejb client* (app tx-client, pod tx-client-0):
> * EJB business method
> ** lookup remote EJB
> ** enlist XA resource 1 to transaction
> ** enlist XA resource 2 to transaction
> ** call remote EJB
> *ejb server* (app tx-server, pod tx-server-0):
> * EJB business method
> ** enlist XA resource 1 to transaction
> ** enlist XA resource 2 to transaction
> *testTxStatelessServerSecondCommitThrowRmFail*
> ejb server XA resource 2 fails with {{XAException(XAException.XAER_RMFAIL)}}
> Then the test calls scale down (size from 1 to 0) on tx-server pod. Server scale down completes but sometimes there some records left in {{<JBOSS_HOME>/standalone/data/ejb-xa-recovery}} on tx-client and transactions on client aren't commited.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the jboss-jira
mailing list