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

Compatibility mode: HotRod client sends request to wrong owner

XMLWordPrintable

      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/:?]
      

            rh-ee-galder Galder ZamarreƱo
            dberinde@redhat.com Dan Berindei (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: