[infinispan-issues] [JBoss JIRA] (ISPN-5927) Infinispan calling setRollbackOnly() when detecting write skew

Stephen Fikes (JIRA) issues at jboss.org
Fri Nov 6 18:29:00 EST 2015


Stephen Fikes created ISPN-5927:
-----------------------------------

             Summary: Infinispan calling setRollbackOnly() when detecting write skew
                 Key: ISPN-5927
                 URL: https://issues.jboss.org/browse/ISPN-5927
             Project: Infinispan
          Issue Type: Bug
          Components: Core
    Affects Versions: 6.0.2.Final
            Reporter: Stephen Fikes


In the context of Java Data Grid, when Infinispan detects write skew [#write-skew] during prepare, it invokes {{setRollbackOnly()}} on the transaction implementation [#set-rollback]. This results in an exception ({{com.arjuna.ats.jta.exceptions.InvalidTerminationStateException: ARJUNA016064: The transaction is in an invalid state!}}) because this operation is disallowed by Arjuna while in the {{PREPARING}} state. The result is that the causal error ({{org.infinispan.transaction.WriteSkewException}}) is lost and the error that propagates indicates the "invalid state" is actually the cause of the failed transaction.

h3. {anchor:write-skew}Write skew exception
... org.infinispan.transaction.WriteSkewException: Write skew detected on key <key> for transaction TransactionImple < ... status: ActionStatus.PREPARING >
        at org.infinispan.transaction.WriteSkewHelper.performWriteSkewCheckAndReturnNewVersions(WriteSkewHelper.java:53)
        ...
        at org.infinispan.transaction.TransactionCoordinator.prepare(TransactionCoordinator.java:104)
        at org.infinispan.transaction.xa.TransactionXaAdapter.prepare(TransactionXaAdapter.java:92)
        at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelPrepare(XAResourceRecord.java:213)
        ...

h3. {anchor:set-rollback}Set Rollback
        at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.setRollbackOnly(TransactionImple.java:313)
        at org.infinispan.interceptors.InvocationContextInterceptor.markTxForRollbackAndRethrow(InvocationContextInterceptor.java:163)
        ...
        at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:103)
        ...
        at org.infinispan.transaction.xa.TransactionXaAdapter.prepare(TransactionXaAdapter.java:92)
        at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelPrepare(XAResourceRecord.java:213)
...



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the infinispan-issues mailing list