You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Paulo Motta (JIRA)" <ji...@apache.org> on 2017/02/15 13:29:42 UTC

[jira] [Assigned] (CASSANDRA-13079) Warn user to run full repair when increasing replication factor

     [ https://issues.apache.org/jira/browse/CASSANDRA-13079?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paulo Motta reassigned CASSANDRA-13079:
---------------------------------------

      Assignee: Marcus Eriksson  (was: Paulo Motta)
      Priority: Minor  (was: Critical)
      Reviewer: Paulo Motta
       Summary: Warn user to run full repair when increasing replication factor  (was: Repair doesn't work after several replication factor changes)
    Issue Type: Improvement  (was: Bug)

Good point [~krummas], I agree dropping repaired sstables to the unrepaired compaction buckets will be much more catastrophic so warning the user is definitely the best approach here.

+1 to fix, tested locally and works as expected. Could you also update the [documentation|http://cassandra.apache.org/doc/latest/faq/index.html?highlight=replication#can-i-change-the-replication-factor-a-a-keyspace-on-a-live-cluster] to indicate the user must run a {{-full}} repair when increasing the RF?

Feel free to commit after this nit. Thanks!

> Warn user to run full repair when increasing replication factor
> ---------------------------------------------------------------
>
>                 Key: CASSANDRA-13079
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13079
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>         Environment: Debian 
>            Reporter: Vladimir Yudovin
>            Assignee: Marcus Eriksson
>            Priority: Minor
>
> Scenario:
> Start two nodes cluster.
> Create keyspace with rep.factor *one*:
> CREATE KEYSPACE rep WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
> CREATE TABLE rep.data (str text PRIMARY KEY );
> INSERT INTO rep.data (str) VALUES ( 'qwerty');
> Run *nodetool flush* on all nodes. On one of them table files are created.
> Change replication factor to *two*:
> ALTER KEYSPACE rep WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 2};
> Run repair, then *nodetool flush* on all nodes. On all nodes table files are created.
> Change replication factor to *one*:
> ALTER KEYSPACE rep WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
> Then *nodetool cleanup*, only on initial node remained data files.
> Change replication factor to *two* again:
> ALTER KEYSPACE rep WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 2};
> Run repair, then *nodetool flush* on all nodes. No data files on second node (though expected, as after first repair/flush).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)