cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dikang Gu (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-13080) Use new token allocation for non bootstrap case as well.
Date Thu, 29 Dec 2016 02:16:58 GMT


Dikang Gu commented on CASSANDRA-13080:

[~blambov], thanks for review!

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.
2. We still need the {{waitForSchema}} in the {{StorageService.joinTokenRing}}, in the replacement
case as well, right? Which will be outside of the {{allocateTokens}}
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?
4. Sure I will create a separate to add the dtests.

Do they make sense?

> Use new token allocation for non bootstrap case as well.
> --------------------------------------------------------
>                 Key: CASSANDRA-13080
>                 URL:
>             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

This message was sent by Atlassian JIRA

View raw message