cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Branimir Lambov (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-13080) Use new token allocation for non bootstrap case as well.
Date Wed, 28 Dec 2016 10:29:58 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-13080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15782594#comment-15782594
] 

Branimir Lambov edited comment on CASSANDRA-13080 at 12/28/16 10:29 AM:
------------------------------------------------------------------------

Thanks for adding this, it will make the DC 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.


was (Author: blambov):
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)

Mime
View raw message