[
https://issues.apache.org/jira/browse/CASSANDRA-9244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15069940#comment-15069940
]
Paulo Motta commented on CASSANDRA-9244:
----------------------------------------
Created
[dtests|https://github.com/pauloricardomg/cassandra-dtest/commit/6f08c82c9a13df4f909c85d6aadf44da43409226]
to reproduce this by using a replacement node from a rack that already
replicates the replaced node primary range. In this case, the other node from
the same rack is removed from the replication group but its data is not
streamed to the next node in a different rack that becomes a new replica of the
range. The issue does not happen when replacing the node with a node from the
same rack, or with a node from a "non-overlapping" rack. The issue is
reproducible from 2.0 all the way up to trunk.
I suspect the issue does not happen when bootstrapping with {{tokens-1}}
because the failed node is removed afterwards with {{nodetool removenode}} so
that will trigger the data movement to the correct racks.
Solution that comes to mind is to detect that a range is already replicated in
the same rack, and move the data of the previous replicating node to the next
non-overlapping rack. I will investigate the feasibility of this approach.
> replace_address is not topology-aware
> -------------------------------------
>
> Key: CASSANDRA-9244
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9244
> Project: Cassandra
> Issue Type: Bug
> Components: Distributed Metadata, Streaming and Messaging
> Environment: 2.0.12
> Reporter: Rick Branson
> Assignee: Paulo Motta
>
> Replaced a node with one in another rack (using replace_address) and it
> caused improper distribution after the bootstrap was finished. It looks like
> the ranges for the streams are not created in a way that is topology-aware.
> This should probably either be prevented, or ideally, would work properly.
> The use case is migrating several nodes from one rack to another.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)