incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Ellis <jbel...@gmail.com>
Subject Re: notifyFailureDetector gets the same object for localEndpointState and remoteEndpointState
Date Wed, 09 Jan 2013 00:10:48 GMT
I agree, the Syn doesn't contain any EndpointState information and
notifyFD on the local state doesn't look useful.

What do you think Brandon, can we just get rid of that call and the
nFD overload it invokes?

On Sat, Jan 5, 2013 at 5:48 AM, Manu Zhang <owenzhang1990@gmail.com> wrote:
> So another question on Gossip codes of Cassandra-1.2-snapshot.
>
> When a node receives a GossipSynDigest, GossipDigestSynVerbHandler handles
> it. It will notify the FailureDetector with the call
>
> Gossiper.instance.notifyFailureDetector(gDigestList);
>
> which will invoke
>
>    void notifyFailureDetector(List<GossipDigest> gDigests)
>     {
>         for ( GossipDigest gDigest : gDigests )
>         {
>             notifyFailureDetector(gDigest.endpoint,
> endpointStateMap.get(gDigest.endpoint));
>         }
>     }
>
> and finally
>     void notifyFailureDetector(InetAddress endpoint, EndpointState
> remoteEndpointState)
>     {
>         EndpointState localEndpointState = endpointStateMap.get(endpoint);
>         ...
>    }
>
> It's a weird that remoteEndpointState is "get" from the local
> endpointStateMap and references the same object as localEndpoint. Then
> there will be no difference for generation and maxVersion and the following
> codes look meaningless for a GossipSynDigest.
>
> I started to follow Cassandra from 1.2-beta so I don't know what happened
> before that and whether this is a repeated question. So any links will be
> helpful.
>
> Thanks
>
> Manu Zhang



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder, http://www.datastax.com
@spyced

Mime
View raw message