[infinispan-dev] Collocated nodes

Vladimir Blagojevic vblagoje at redhat.com
Wed Sep 22 09:44:54 EDT 2010


The current function that places nodes on a hash wheel is deterministic in case of node joins and crashes/leaves. Even after a node leaves/crashes all surviving nodes in view V' are going be positioned to same hash wheel position as in view V. In another words, all surviving nodes in V' are deterministically placed on the same hash wheel positions absolutely and relatively to each other as they were in view V. The case for join is superfluous to my argument.

I am still learning about this topic but it seems that hash wheel node placing property defined above is necessary for everything to work properly. If so, I find it very hard to devise an algorithm that places nodes on hash wheel based on distance. As soon as one node crashes/leaves positioning surviving nodes in V' to same positions as they were in view V seems impossible since in distance based positioning we need to place nodes in relation to neighbouring nodes. 


Cheers,
Vladimir

On 2010-09-20, at 7:02 PM, Mircea Markus wrote:

> On 20 Sep 2010, at 20:14, Vladimir Blagojevic wrote:
>> Exactly. Either distance or we do not need these machineId, rackId etc because they can be reduced to one level....
> +1. 
> Would it be worth making this pluggable? I.e. the user to plug he's own code to determine on which level the node is.  Might be useful in some environments where nodes are started on demand and user cannot configure the level through config. I'm thinking about clouds :)
> (with a default)
>> On 2010-09-20, at 2:54 PM, Emmanuel Bernard wrote:
>> 
>>> Could it be a colocation distance?
>>> Like level 1 same machine, level 2 same rack etc and have an ago that tries low levels before higher levels?
>>> 
>>> Or should it just be localId (ie one level). 
>>> 
>>> On Sep 20, 2010, at 11:43 AM, Vladimir Blagojevic <vblagoje at redhat.com> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> In order to complete ISPN-180 lets agree on a definition of collocated nodes. So, when are two nodes collocated? It depends on what we have defined as additional metadata node input (i.e machineId, rackId, and/or siteId). If we have defined only machineIds then the answer is obvious. However, if we have defined machineId, rackId, and/or siteId for all nodes is it then that the non-collocated nodes are the ones having different siteId? In another worlds if nodes have different machineId and rackId but the same siteId are they collocated?
>>>> 
>>>> Thanks,
>>>> Vladimir








More information about the infinispan-dev mailing list