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

Reply via email to