[
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)