Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-5981

Compatibility mode: HotRod client sends request to wrong owner

    XMLWordPrintable

    Details

      Description

      The HotRod client computes the hash on the serialized key, i.e. MurmurHash3.hash(obj2bytes(key)), but the server decides the entry location based on the unmarshalled key, i.e. MurmurHash3.hash(key.hashCode()).

      I've modified GetAllCompatDistTest (attached) to test if there are any ClusteredGetCommand}}s being sent for {{RemoteCache.get(key) operations, and it finds quite a few:

      java.lang.AssertionError: expected:<100> but was:<147>
      	at org.testng.AssertJUnit.fail(AssertJUnit.java:59) ~[testng-6.8.8.jar:?]
      	at org.testng.AssertJUnit.failNotEquals(AssertJUnit.java:364) ~[testng-6.8.8.jar:?]
      	at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:80) ~[testng-6.8.8.jar:?]
      	at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:245) ~[testng-6.8.8.jar:?]
      	at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:252) ~[testng-6.8.8.jar:?]
      	at org.infinispan.client.hotrod.GetAllCompatDistTest.testGetWithCompatibility(GetAllCompatDistTest.java:57) ~[test-classes/:?]
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              gzamarre Galder ZamarreƱo
              Reporter:
              dberinde@redhat.com Dan Berindei
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: