cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paulo Motta (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-11848) replace address can "succeed" without actually streaming anything
Date Tue, 24 May 2016 22:27:13 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-11848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15299052#comment-15299052
] 

Paulo Motta commented on CASSANDRA-11848:
-----------------------------------------

Updated {{RangeStreamer}} to ignore insufficient sources for keyspaces with RF=1 only when
{{-Dcassandra.consistent.rangemovement=false}} and instead log the following warning for each
missing range:

{{WARN  2016-05-24 18:52:39,431 RangeStreamer.java:308 - Unable to find sufficient sources
for streaming range (-6995524237582729504,-6946419755126646166] in keyspace keyspace1 with
RF=1. Keyspace might be missing data.}}

Since {{replace_address}} already considers {{cassandra.consistent.rangemovement=false}},
the tests no longer fail due to {{auth_keyspace}} having {{rf=1}} but log warnings instead.

Also added new bootstrap tests to check that normal bootstrap should fail when there is a
down replica and a keyspace with {{rf=1}} and {{-Dcassandra.consistent.rangemovement=true}},
and should succeed and log a warning when {{-Dcassandra.consistent.rangemovement=false}}.

I also added another related dtest to check that in a multi-dc environment with replication
{{\{'class': 'NetworkTopologyStrategy', 'dc1': 1, 'dc2': 1\}}} a replace_address of a node
in DC2 correctly replicates data from DC1 without logging warnings (since data is present
on other DC).

Branches above updated and tests resubmitted (running now). Will set to patch available when
they are finished and look good.

> replace address can "succeed" without actually streaming anything
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-11848
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11848
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Streaming and Messaging
>            Reporter: Jeremiah Jordan
>            Assignee: Paulo Motta
>             Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
>
> When you do a replace address and the new node has the same IP as the node it is replacing,
then the following check can let the replace be successful even if we think all the other
nodes are down: https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/dht/RangeStreamer.java#L271
> As the FailureDetectorSourceFilter will exclude the other nodes, so an empty stream plan
gets executed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message