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

RH Bugzilla Integration (JIRA) issues at jboss.org
Fri Nov 27 10:05:00 EST 2015


    [ https://issues.jboss.org/browse/ISPN-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13134804#comment-13134804 ] 

RH Bugzilla Integration commented on ISPN-5927:
-----------------------------------------------

Vaclav Dedik <vdedik at redhat.com> changed the Status of [bug 1278991|https://bugzilla.redhat.com/show_bug.cgi?id=1278991] from POST to MODIFIED

> 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
>            Assignee: Pedro Ruivo
>         Attachments: testcase.zip
>
>
> In the context of Java Data Grid, when Infinispan detects [#write-skew] during prepare, it invokes [#setRollbackOnly]() on the transaction implementation. 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 that "invalid state" (of the transaction) is actually the cause of the failed commit. Only when debug logging was enabled could we see the root cause.
> 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:setRollbackOnly}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