You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Paulo Motta (Jira)" <ji...@apache.org> on 2020/12/19 22:54:00 UTC

[jira] [Created] (CASSANDRA-16364) Simultaneous bootstrap can cause token collision

Paulo Motta created CASSANDRA-16364:
---------------------------------------

             Summary: Simultaneous bootstrap can cause token collision
                 Key: CASSANDRA-16364
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16364
             Project: Cassandra
          Issue Type: Bug
            Reporter: Paulo Motta


While raising a 6-node ccm cluster to test 4.0-beta4, 2 nodes chosen the same tokens using the default {{allocate_tokens_for_local_rf}}. However they both succeeded bootstrap with colliding tokens.

We were familiar with this issue from CASSANDRA-13701 and CASSANDRA-16079, and the workaround to fix this is to avoid parallel bootstrap when using {{allocate_tokens_for_local_rf}}.

However, since this is the default behavior, we should try to detect and prevent this situation when possible, since it can break users relying on parallel bootstrap behavior.

I think we should we could prevent this as following:
1. announce intent to bootstrap via gossip (ie. add node on gossip without token information)
2. wait for gossip to settle
3. allocate tokens (if multiple bootstrap attempts are detected, tie break via node-id)
4. broadcast tokens and move on with bootstrap



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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