[infinispan-issues] [JBoss JIRA] (ISPN-6792) NonTxDistributionInterceptor doesn't always change the matcher for retry

Dan Berindei (JIRA) issues at jboss.org
Fri Jun 17 05:04:00 EDT 2016


     [ https://issues.jboss.org/browse/ISPN-6792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dan Berindei updated ISPN-6792:
-------------------------------
              Status: Pull Request Sent  (was: Open)
    Git Pull Request: https://github.com/infinispan/infinispan/pull/4417


> NonTxDistributionInterceptor doesn't always change the matcher for retry
> ------------------------------------------------------------------------
>
>                 Key: ISPN-6792
>                 URL: https://issues.jboss.org/browse/ISPN-6792
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 9.0.0.Alpha2, 8.2.2.Final
>            Reporter: Dan Berindei
>            Assignee: Dan Berindei
>              Labels: testsuite_stability
>             Fix For: 9.0.0.Alpha3
>
>
> When invoking a non-transactional write command remotely, {{BaseDistributionInterceptor}} expects to receive an {{OutdatedTopologyException}} wrapped in a {{RemoteException}} if the remote node saw a newer cache topology.
> However, {{OutdatedTopologyException}} is handled differently by {{JGroupsTransport}}, and it is *not* wrapped in a {{RemoteException}}. Because of this, {{BaseDistributionInterceptor}} doesn't update the value matcher, and the retried command may fail when it sees its own value.
> This makes {{NonTxPutIfAbsentDuringLeaveStressTest}} fail randomly with
> {noformat}
> java.lang.AssertionError: expected:<null> but was:<value_7_0>
>     at org.testng.AssertJUnit.fail(AssertJUnit.java:59)
>     at org.testng.AssertJUnit.failNotEquals(AssertJUnit.java:364)
>     at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:80)
>     at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:88)
>     at org.infinispan.distribution.rehash.NonTxPutIfAbsentDuringLeaveStressTest.testNodeLeavingDuringPutIfAbsent(NonTxPutIfAbsentDuringLeaveStressTest.java:101)
> {noformat}
> Note that this is different from ISPN-6451: there, the assertion message is {{AssertionError: expected:<value_48_1> but was:<null>}}, and it is most likely caused by ISPN-3918.



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


More information about the infinispan-issues mailing list