You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2013/09/13 18:40:51 UTC

[jira] [Commented] (CASSANDRA-5953) Replication validation should reject RF > nodes in cluster

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

Sylvain Lebresne commented on CASSANDRA-5953:
---------------------------------------------

bq. the hint contract is, "Any dead or timing out nodes will get hinted"

Well, non existing nodes are neither dead nor timing out so we're not breaking it :)

More seriously, I'm not really sure what's the best solution code-wise here. Pre-CASSANDRA-2129 the check was in calculateNaturalEndpoints, which makes sense somewhat since thanks to the endpoint cache of ARS it avoids doing the check every write (and for NTS that check is not entirely trivial). At the same time, I partly share the uncertainty of driftx on CASSANDRA-2129 in his [comment|https://issues.apache.org/jira/browse/CASSANDRA-2129?focusedCommentId=13008105&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13008105] to which some jbellis guy has responded "well, let's ditch the check altogether" (I'm paraphrasing).
                
> Replication validation should reject RF > nodes in cluster
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-5953
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5953
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 1.2.10
>
>
> On my local, single node cluster, RF=3 inserts should not succeed:
> {noformat}
> cqlsh> CREATE KEYSPACE mykeyspace WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };
> cqlsh> use mykeyspace ;
> cqlsh:mykeyspace> CREATE TABLE users (
>               ...   user_id int PRIMARY KEY, 
>               ...   fname text, 
>               ...   lname text
>               ... );
> cqlsh:mykeyspace> INSERT INTO users (user_id,  fname, lname) 
>               ...   VALUES (1745, 'john', 'smith');
> cqlsh:mykeyspace> select * from users;
>  user_id | fname | lname
> ---------+-------+-------
>     1745 |  john | smith
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira