You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "C. Scott Andreas (JIRA)" <ji...@apache.org> on 2018/11/19 06:09:02 UTC

[jira] [Updated] (CASSANDRA-5888) Need a way to start or bootstrap a node regardless of its current state

     [ https://issues.apache.org/jira/browse/CASSANDRA-5888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

C. Scott Andreas updated CASSANDRA-5888:
----------------------------------------
    Component/s: Lifecycle

> Need a way to start or bootstrap a node regardless of its current state
> -----------------------------------------------------------------------
>
>                 Key: CASSANDRA-5888
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5888
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Lifecycle
>            Reporter: Oleg Kibirev
>            Priority: Major
>
> Currently, there is no straightforward way to start a cassandra node on a given host without knowing:
> 1. Weather the node's initial_token has been successfully registered through gossip 
> 2. If the node has successfully finished bootstrapping
> 3. Weather data directory has been purged by, say, replacing a dead disk
> Specifically the following cases are problematic:
> 1. If a data directory is purged and the node is restarted with the same host IP and initial token, the node will successfully start but will not bootstrap, creating a silent consistency loss.
> 2. If -Dcassandra.replace_token is given, the node will bootstrap again, even if its successfully bootstrapped already with the same token.
> The information on the correct thing to do can only come from gossip and system keyspace. Its very difficult to infer correct start arguments from a process external to cassandra and have it work 100% of the time on large scale. What if a node already gossiped its token but has not successfully finished bootstrapping - how do I know to drop replace_token and will it still re-bootstrap?
> Cassandra daemon should always bootstrap on start if it hasn't yet finished bootstrapping successfully. -Dcassandra.replace_token (or host replacement equivalent with nodes) should just ALLOW replacing a token of a down node, but not force an unnecessary bootstrap or fail if the token is not present.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org