cassandra-commits mailing list archives

[jira] [Commented] (CASSANDRA-13080) Use new token allocation for non bootstrap case as well.

Date

Thu, 29 Dec 2016 09:35:58 GMT

[ https://issues.apache.org/jira/browse/CASSANDRA-13080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15784953#comment-15784953
]
Branimir Lambov commented on CASSANDRA-13080:
---------------------------------------------
bq. 1. I think we still need the RF=0, because even we join the new node without streaming
data, we don't want to set the RF to be non-zero, until we have enough capacity to handle
the writes.
Makes sense, leave it in.
bq. 2. We still need the waitForSchema in the StorageService.joinTokenRing, in the replacement
case as well, right? Which will be outside of the allocateTokens
Yes, the wait there should stay. What I'm suggesting for that case is to do it again in {{allocateTokens}},
which should be a no-op (unless the earlier wait disappears for whatever reason). Wait for
schema and gossip there, regardless whether we needed to do it already or will need to do
it later.
bq. 3. Yeah, I think we should be able to allocate tokens for seed node as well, which does
not seem to need any changes inside the algorithm. Do you want to allocate tokens for the
first RF node as well?
Yes, call the algorithm on all, including seeds. There will eventually be changes in how it
decides to select the first ones.
> 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)