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

TopologyAwareConsistentHash does not work when numOwners=1 and rehashing

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Critical
    • None
    • 4.2.1.FINAL
    • None
    • None

    Description

      Specifically, the problem is with getStateProvidersOnLeave.

      Assume you have nodes 1, 2, and 4.
      Now node 3 joins.
      This method will iterate over each address and will skip the joiner (node3).
      For the remaining nodes it will call getOwners
      e.g. - getOwners(node1), getOwners(node2), getOwners(node3)
      This method will always begin by adding the first node in the tailMap which is the address that is being iterated over. Since numOwners is set to 1 it skips the while loop and returns the result.
      So...
      getOwners(1) returns

      {node1}

      getOwners(2) returns

      {node2}

      getOwners(4) returns

      {node4}

      Now we return to getStateProvidersOnLeave
      It now checks to see if the result contains the joiner (node3). However, it can never contain the joiner.

      Attachments

        Activity

          People

            dberinde@redhat.com Dan Berindei (Inactive)
            mircea.markus Mircea Markus (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: