cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "C. Scott Andreas (JIRA)" <>
Subject [jira] [Updated] (CASSANDRA-5888) Need a way to start or bootstrap a node regardless of its current state
Date Mon, 19 Nov 2018 06:09:02 GMT


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:
>             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

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message