You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Ariel Weisberg (JIRA)" <ji...@apache.org> on 2018/09/25 21:54:00 UTC
[jira] [Commented] (CASSANDRA-14725) calculatePendingRanges does
not handle full<->transient transition implied by add/remove another node
[ https://issues.apache.org/jira/browse/CASSANDRA-14725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16627970#comment-16627970 ]
Ariel Weisberg commented on CASSANDRA-14725:
--------------------------------------------
We at least need a regression test for what this fixes. Especially because I don't think this does what it aims to do yet.
[This is calling get() by range on a collection keyed on endpoint|][https://github.com/belliottsmith/cassandra/commit/99796da2117b2d4f29f1d08e93badb81994e12b9#diff-b9ead760fa9628889810dd64e6507d9cR882].] Curse java.util.Map's lack of type checking on get!
[I think this comment may be wrong?|[https://github.com/belliottsmith/cassandra/commit/99796da2117b2d4f29f1d08e93badb81994e12b9#diff-b9ead760fa9628889810dd64e6507d9cR875]]
Take a ring with 3/1 and four tokens, remove one token. This will trigger a null -> full and transient -> full transition I think. It can't produce full -> transient or full -> null though because we are forcing more nodes to replicate more data and not taking data away from any node.
Similarly when adding a node we create transitions from a more replicated state to a less replicated state and we have to impact two other nodes. There will be a full or transient to null transition and a full -> transient transition I think. [So this comment seems off.|https://github.com/belliottsmith/cassandra/commit/99796da2117b2d4f29f1d08e93badb81994e12b9#diff-b9ead760fa9628889810dd64e6507d9cR900]
> calculatePendingRanges does not handle full<->transient transition implied by add/remove another node
> -----------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-14725
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14725
> Project: Cassandra
> Issue Type: Bug
> Reporter: Benedict
> Assignee: Benedict
> Priority: Major
> Labels: correctness, transient-replication
> Fix For: 4.0
>
>
> We only implemented handling those implied directly by a node changing its own status, but a node entering or leaving the ring can imply such a movement on another node, and these need to be handled.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org