[infinispan-issues] [JBoss JIRA] Commented: (ISPN-1275) Virtual nodes producing same hash id for two different cluster nodes

Galder Zamarreño (JIRA) jira-events at lists.jboss.org
Thu Jul 28 13:36:23 EDT 2011


    [ https://issues.jboss.org/browse/ISPN-1275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617350#comment-12617350 ] 

Galder Zamarreño commented on ISPN-1275:
----------------------------------------

Dan, I don't think that's the problem. From what I understand, let's say that NodeA has a set of ids. Then when Rehasher comes around, AbstractWheelConsistentHash.setCaches does not take the old hash ids into account. It simply recalculates the whole thing without taking previous hash id mappings into account, potentially leading to movements of hash ids. One way I could see this being solved is by keeping a copy of the positions and in getNormalizedHash() checking that we're not overriding an old position.

That is of couse, assuming my assumption is still valid. Otherwise, there is an alternative that involves Hot Rod going through all nodes in a given view, and calling getHashIds() for them whenever a new node starts up. This performance operation is dependant on the number of nodes in the cluster though which is not nice.

> Virtual nodes producing same hash id for two different cluster nodes
> --------------------------------------------------------------------
>
>                 Key: ISPN-1275
>                 URL: https://issues.jboss.org/browse/ISPN-1275
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Distributed Cache
>    Affects Versions: 5.0.0.CR8
>            Reporter: Galder Zamarreño
>            Assignee: Dan Berindei
>            Priority: Blocker
>             Fix For: 5.0.0.FINAL
>
>         Attachments: hashids.log
>
>
> While working on ISPN-1273, I've discovered that when virtual nodes are enabled, ConsistentHash.getHashIds(address) can return the same hash for two different cluster nodes. Example: with 500 virtual nodes, both NodeA-23181 and NodeB-39177 produce hash id *5289*. See attached log.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the infinispan-issues mailing list