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: