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

              gzamarre Galder Zamarreño
              dberinde@redhat.com Dan Berindei (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: