[ 
https://issues.apache.org/jira/browse/CASSANDRA-195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12744626#action_12744626
 ] 

Jonathan Ellis commented on CASSANDRA-195:
------------------------------------------

> If this flag is true, the new node is added to a separate set bootstrapNodes

Oh, I see.  That makes sense.  So the node is present in the Gossiper 
liveEndpoints, so it gets the state of the cluster sent to it, but it's not in 
the tokenmetadata endpoint or token maps, so it doesn't become part of the 
read/write path.

I don't see any actual uses of bootstrapNodes, though -- did you have something 
in mind?

> We will need writes to see a different ring (different result for 
> getStorageEndPoints) than the reads

I really think that just forwarding the writes from the old node is going to be 
simpler.

> I thought the gossiper always sent the full endpoint state

in that case wouldn't something like this be clearer?

        ApplicationState bState = 
epState.getApplicationState(StorageService.BOOTSTRAP_MODE); 
        assert bState != null;
        boolean bootstrapState = Boolean.parseBoolean(bState.getState());
        if (logger_.isDebugEnabled()) 
            logger_.debug(ep.getHost() + " has bootstrap state: " + 
bootstrapState); 


> Improve bootstrap algorithm
> ---------------------------
>
>                 Key: CASSANDRA-195
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-195
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>         Environment: all
>            Reporter: Sandeep Tata
>            Assignee: Sandeep Tata
>             Fix For: 0.5
>
>         Attachments: 195-v1.patch, 195-v2.patch, 195-v3-delta1.patch, 
> 195-v3.patch, 195-v4.patch
>
>
> When you add a node to an existing cluster and the map gets updated, the new 
> node may respond to read requests by saying it doesn't have any of the data 
> until it gets the data from the node(s) the previously owned this range (the 
> load-balancing code, when working properly can take care of this). While this 
> behaviour is compatible with eventual consistency, it would be much 
> friendlier for the new node not to "surface" in the EndPoint maps for reads 
> until it has transferred the data over from the old nodes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to