[
https://issues.apache.org/jira/browse/CASSANDRA-195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12744595#action_12744595
]
Jonathan Ellis commented on CASSANDRA-195:
------------------------------------------
I don't see where this fixes the
serve-reads-from-the-old-nodes-until-bootstrap-complete problem, can you give a
high-level summary of how that works?
this code looks suspicious:
ApplicationState bState =
epState.getApplicationState(StorageService.BOOTSTRAP_MODE);
boolean bootstrapState = false;
if (bState != null)
{
bootstrapState = Boolean.parseBoolean(bState.getState());
if (logger_.isDebugEnabled())
logger_.debug(ep.getHost() + " has bootstrap state: " +
bootstrapState);
}
maybe I don't understand how this works -- to me that looks like if we send any
update about a node, everyone will clear the bootstrap flag on it, unless we
explicitly set bootstrap to true. shouldn't we only update boostrap status
when it's explicitly set to true or false?
> 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.