There's some code in StorageService.onChange that looks like this:

        // if there is no token data in the endpointstate
            /*
             * If we are here and if this node is UP and already has an entry
             * in the token map. It means that the node was behind a
network partition.
            */
            if ( epState.isAlive() && tokenMetadata_.isKnownEndPoint(endpoint) )
            {
                logger_.debug("EndPoint " + ep + " just recovered from
a partition. Sending hinted data.");
                // send hinted handoffs
            }

I don't see how you could actually have null token data.  Since token
(NODE_ID) is the first thing a node gossips, and is required for an
entry to be added to tokenMetadata, I don't see how that could
disappear from EndPointState.  My understanding is that Gossiper never
actually discards data from EndPointState, only updates it with
more-current information (see applyApplicationStateLocally).

Am I missing something, or can this part of onChange be safely removed?

-Jonathan

Reply via email to