[
https://issues.apache.org/jira/browse/CASSANDRA-13080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15782594#comment-15782594
]
Branimir Lambov commented on CASSANDRA-13080:
---------------------------------------------
Thanks for adding this, it will make the cluster start-up process simpler. A
couple of comments:
- With this in place, do you still need the {{RF=0}} hack?
- Perhaps we can move all additional waiting ({{waitForSchema}} and
{{Gossiper.waitToSettle}}) to {{Bootstrapper.allocateTokens}} to make sure we
are asserting the correct state in a common location?
- I prefer to still invoke the allocation algorithm if the node is a seed.
Although we currently choose the tokens randomly for the first RF nodes, the
algorithm should have an option to pick them.
- This needs regression tests. A dtests or two in {{bootstrap_test.py}} are
probably the best way to do it.
> Use new token allocation for non bootstrap case as well.
> --------------------------------------------------------
>
> Key: CASSANDRA-13080
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13080
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Reporter: Dikang Gu
> Assignee: Dikang Gu
> Fix For: 3.12
>
>
> There are couple reasons I think we should use the new token allocation for
> non bootstrap case as well.
> 1. In some cases, We want to bring up nodes, but do not need to stream any
> data to the new nodes. So we want to allocate correct tokens, and skip the
> JOIN state, which should avoid triggering pending range calculation on other
> nodes as well. On use case is when we bring up a new DC.
> 2. We can unify the token allocation code path for both bootstrap and
> non-bootstrap use case.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)