You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Cliff Moon (JIRA)" <ji...@apache.org> on 2010/08/25 01:30:16 UTC

[jira] Created: (CASSANDRA-1428) Rejecting keyspace creation when RF > N is incorrect

Rejecting keyspace creation when RF > N is incorrect
----------------------------------------------------

                 Key: CASSANDRA-1428
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1428
             Project: Cassandra
          Issue Type: Bug
    Affects Versions: 0.7 beta 1
            Reporter: Cliff Moon
            Priority: Minor


The behavior introduced in this patch http://www.mail-archive.com/commits@cassandra.apache.org/msg05913.html is incorrect.

Disallowing keyspace creation when RF > N is semantically incorrect and makes both scaling a cluster up and down more difficult than it should be.  This is compounded by the current lack of any API methods to change the replication factor.  Most dynamo style systems allow RF to be set > N for smaller clusters.  The cluster will behave as if RF = N until enough nodes are added such that RF < N.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (CASSANDRA-1428) Rejecting keyspace creation when RF > N is incorrect

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12917960#action_12917960 ] 

Gary Dusbabek edited comment on CASSANDRA-1428 at 10/5/10 9:08 AM:
-------------------------------------------------------------------

How about a system test that verifies that a keyspace with RF > N can be created?  With this patch SS.loadSchemaFromYAML() doesn't work when RF > N.

      was (Author: gdusbabek):
    How about a system test that verifies that a keyspace with RF > N can be created?  +1 otherwise.
  
> Rejecting keyspace creation when RF > N is incorrect
> ----------------------------------------------------
>
>                 Key: CASSANDRA-1428
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1428
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7 beta 1
>            Reporter: Cliff Moon
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 0.7.0
>
>         Attachments: 1428.txt
>
>
> The behavior introduced in this patch http://www.mail-archive.com/commits@cassandra.apache.org/msg05913.html is incorrect.
> Disallowing keyspace creation when RF > N is semantically incorrect and makes both scaling a cluster up and down more difficult than it should be.  This is compounded by the current lack of any API methods to change the replication factor.  Most dynamo style systems allow RF to be set > N for smaller clusters.  The cluster will behave as if RF = N until enough nodes are added such that RF < N.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1428) Rejecting keyspace creation when RF > N is incorrect

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12913038#action_12913038 ] 

Jonathan Ellis commented on CASSANDRA-1428:
-------------------------------------------

Wait, how is "allowing the creation of keyspaces with RF > N" that you are in favor of different from "allow[ing] RF to be set > N" that you are not?

> Rejecting keyspace creation when RF > N is incorrect
> ----------------------------------------------------
>
>                 Key: CASSANDRA-1428
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1428
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7 beta 1
>            Reporter: Cliff Moon
>            Priority: Minor
>             Fix For: 0.7.0
>
>
> The behavior introduced in this patch http://www.mail-archive.com/commits@cassandra.apache.org/msg05913.html is incorrect.
> Disallowing keyspace creation when RF > N is semantically incorrect and makes both scaling a cluster up and down more difficult than it should be.  This is compounded by the current lack of any API methods to change the replication factor.  Most dynamo style systems allow RF to be set > N for smaller clusters.  The cluster will behave as if RF = N until enough nodes are added such that RF < N.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1428) Rejecting keyspace creation when RF > N is incorrect

Posted by "Cliff Moon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12913069#action_12913069 ] 

Cliff Moon commented on CASSANDRA-1428:
---------------------------------------

This ticket was specifically in reference to creation of a keyspace with RF > N.  Since all of the schema stuff now is the responsibility of an api client instead of a config, it would require clients to make different schemas say if they were in a testing environment with fewer machines than production.



> Rejecting keyspace creation when RF > N is incorrect
> ----------------------------------------------------
>
>                 Key: CASSANDRA-1428
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1428
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7 beta 1
>            Reporter: Cliff Moon
>            Priority: Minor
>             Fix For: 0.7.0
>
>
> The behavior introduced in this patch http://www.mail-archive.com/commits@cassandra.apache.org/msg05913.html is incorrect.
> Disallowing keyspace creation when RF > N is semantically incorrect and makes both scaling a cluster up and down more difficult than it should be.  This is compounded by the current lack of any API methods to change the replication factor.  Most dynamo style systems allow RF to be set > N for smaller clusters.  The cluster will behave as if RF = N until enough nodes are added such that RF < N.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1428) Rejecting keyspace creation when RF > N is incorrect

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1428:
--------------------------------------

    Attachment: 1428.txt

> Rejecting keyspace creation when RF > N is incorrect
> ----------------------------------------------------
>
>                 Key: CASSANDRA-1428
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1428
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7 beta 1
>            Reporter: Cliff Moon
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7.0
>
>         Attachments: 1428.txt
>
>
> The behavior introduced in this patch http://www.mail-archive.com/commits@cassandra.apache.org/msg05913.html is incorrect.
> Disallowing keyspace creation when RF > N is semantically incorrect and makes both scaling a cluster up and down more difficult than it should be.  This is compounded by the current lack of any API methods to change the replication factor.  Most dynamo style systems allow RF to be set > N for smaller clusters.  The cluster will behave as if RF = N until enough nodes are added such that RF < N.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1428) Rejecting keyspace creation when RF > N is incorrect

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12913039#action_12913039 ] 

Jonathan Ellis commented on CASSANDRA-1428:
-------------------------------------------

incidently, in r999469 I changed this from using live node count as N to using total known cluster members as N.

> Rejecting keyspace creation when RF > N is incorrect
> ----------------------------------------------------
>
>                 Key: CASSANDRA-1428
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1428
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7 beta 1
>            Reporter: Cliff Moon
>            Priority: Minor
>             Fix For: 0.7.0
>
>
> The behavior introduced in this patch http://www.mail-archive.com/commits@cassandra.apache.org/msg05913.html is incorrect.
> Disallowing keyspace creation when RF > N is semantically incorrect and makes both scaling a cluster up and down more difficult than it should be.  This is compounded by the current lack of any API methods to change the replication factor.  Most dynamo style systems allow RF to be set > N for smaller clusters.  The cluster will behave as if RF = N until enough nodes are added such that RF < N.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1428) Rejecting keyspace creation when RF > N is incorrect

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12913061#action_12913061 ] 

Jonathan Ellis commented on CASSANDRA-1428:
-------------------------------------------

I see, you want to allow creating the KS, but not writing to it.  (Is this what you want too, Cliff?)

My reasoning for wanting to prevent creation was, if we're not going to allow writing to it, better to fail early rather than surprise people later on.  But I am okay with taking that check out if the cure is worse than the disease.

I definitely think the semantics of actually trying to allow writes in a RF > N situation are unclear and would rather avoid that.

> Rejecting keyspace creation when RF > N is incorrect
> ----------------------------------------------------
>
>                 Key: CASSANDRA-1428
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1428
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7 beta 1
>            Reporter: Cliff Moon
>            Priority: Minor
>             Fix For: 0.7.0
>
>
> The behavior introduced in this patch http://www.mail-archive.com/commits@cassandra.apache.org/msg05913.html is incorrect.
> Disallowing keyspace creation when RF > N is semantically incorrect and makes both scaling a cluster up and down more difficult than it should be.  This is compounded by the current lack of any API methods to change the replication factor.  Most dynamo style systems allow RF to be set > N for smaller clusters.  The cluster will behave as if RF = N until enough nodes are added such that RF < N.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1428) Rejecting keyspace creation when RF > N is incorrect

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12917960#action_12917960 ] 

Gary Dusbabek commented on CASSANDRA-1428:
------------------------------------------

How about a system test that verifies that a keyspace with RF > N can be created?  +1 otherwise.

> Rejecting keyspace creation when RF > N is incorrect
> ----------------------------------------------------
>
>                 Key: CASSANDRA-1428
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1428
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7 beta 1
>            Reporter: Cliff Moon
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 0.7.0
>
>         Attachments: 1428.txt
>
>
> The behavior introduced in this patch http://www.mail-archive.com/commits@cassandra.apache.org/msg05913.html is incorrect.
> Disallowing keyspace creation when RF > N is semantically incorrect and makes both scaling a cluster up and down more difficult than it should be.  This is compounded by the current lack of any API methods to change the replication factor.  Most dynamo style systems allow RF to be set > N for smaller clusters.  The cluster will behave as if RF = N until enough nodes are added such that RF < N.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1428) Rejecting keyspace creation when RF > N is incorrect

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1428:
--------------------------------------

    Fix Version/s: 0.7.0

> Rejecting keyspace creation when RF > N is incorrect
> ----------------------------------------------------
>
>                 Key: CASSANDRA-1428
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1428
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7 beta 1
>            Reporter: Cliff Moon
>            Priority: Minor
>             Fix For: 0.7.0
>
>
> The behavior introduced in this patch http://www.mail-archive.com/commits@cassandra.apache.org/msg05913.html is incorrect.
> Disallowing keyspace creation when RF > N is semantically incorrect and makes both scaling a cluster up and down more difficult than it should be.  This is compounded by the current lack of any API methods to change the replication factor.  Most dynamo style systems allow RF to be set > N for smaller clusters.  The cluster will behave as if RF = N until enough nodes are added such that RF < N.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1428) Rejecting keyspace creation when RF > N is incorrect

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12902430#action_12902430 ] 

Gary Dusbabek commented on CASSANDRA-1428:
------------------------------------------

>Most dynamo style systems allow RF to be set > N for smaller clusters.
Implementing this would add substantial complexity to the replication and bootstrap code.  It's a trade-off not currently worth the flexibility imo.

I am in favor of allowing the creation of keyspaces with RF > N though (letting high CL reads/writes fail).  This worked fine until r959726 changed RackUnawareStrategy (now SimpleStrategy) to throw IllegalStateException when N < RF.  I argued (unsuccessfully) that the throw should happen elsewhere, or at least it shouldn't care when there was no data to bootstrap.

fwiw, modifying the replication factor (and other CF and KS properties) is on its way.  See CASSANDRA-1285.  It will be ready when 0.7 ships.

> Rejecting keyspace creation when RF > N is incorrect
> ----------------------------------------------------
>
>                 Key: CASSANDRA-1428
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1428
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7 beta 1
>            Reporter: Cliff Moon
>            Priority: Minor
>             Fix For: 0.7.0
>
>
> The behavior introduced in this patch http://www.mail-archive.com/commits@cassandra.apache.org/msg05913.html is incorrect.
> Disallowing keyspace creation when RF > N is semantically incorrect and makes both scaling a cluster up and down more difficult than it should be.  This is compounded by the current lack of any API methods to change the replication factor.  Most dynamo style systems allow RF to be set > N for smaller clusters.  The cluster will behave as if RF = N until enough nodes are added such that RF < N.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (CASSANDRA-1428) Rejecting keyspace creation when RF > N is incorrect

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis reassigned CASSANDRA-1428:
-----------------------------------------

    Assignee: Gary Dusbabek

So we all agree that creation is fine, so let's allow that.  (Less sure that Cliff agrees that we should reject writes that can't satisfy the RF, but I won't argue that point unless there's actually something to disagree about. :)

> Rejecting keyspace creation when RF > N is incorrect
> ----------------------------------------------------
>
>                 Key: CASSANDRA-1428
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1428
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7 beta 1
>            Reporter: Cliff Moon
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7.0
>
>
> The behavior introduced in this patch http://www.mail-archive.com/commits@cassandra.apache.org/msg05913.html is incorrect.
> Disallowing keyspace creation when RF > N is semantically incorrect and makes both scaling a cluster up and down more difficult than it should be.  This is compounded by the current lack of any API methods to change the replication factor.  Most dynamo style systems allow RF to be set > N for smaller clusters.  The cluster will behave as if RF = N until enough nodes are added such that RF < N.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1428) Rejecting keyspace creation when RF > N is incorrect

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12920197#action_12920197 ] 

Hudson commented on CASSANDRA-1428:
-----------------------------------

Integrated in Cassandra #563 (See [https://hudson.apache.org/hudson/job/Cassandra/563/])
    

> Rejecting keyspace creation when RF > N is incorrect
> ----------------------------------------------------
>
>                 Key: CASSANDRA-1428
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1428
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7 beta 1
>            Reporter: Cliff Moon
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 0.7.0
>
>         Attachments: 1428.txt
>
>
> The behavior introduced in this patch http://www.mail-archive.com/commits@cassandra.apache.org/msg05913.html is incorrect.
> Disallowing keyspace creation when RF > N is semantically incorrect and makes both scaling a cluster up and down more difficult than it should be.  This is compounded by the current lack of any API methods to change the replication factor.  Most dynamo style systems allow RF to be set > N for smaller clusters.  The cluster will behave as if RF = N until enough nodes are added such that RF < N.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1428) Rejecting keyspace creation when RF > N is incorrect

Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12913053#action_12913053 ] 

Gary Dusbabek commented on CASSANDRA-1428:
------------------------------------------

I interpreted "RF to be set > N for smaller clusters" as meaning, "let high-CL writes succeed even though we don't have enough nodes to support the RF when N is small."  I don't think we should allow that.

>From an syspop pov, I think we should allow the creation of keyspaces where RF > N.  There is no harm in this for new keyspaces where there is nothing to stream.


> Rejecting keyspace creation when RF > N is incorrect
> ----------------------------------------------------
>
>                 Key: CASSANDRA-1428
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1428
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7 beta 1
>            Reporter: Cliff Moon
>            Priority: Minor
>             Fix For: 0.7.0
>
>
> The behavior introduced in this patch http://www.mail-archive.com/commits@cassandra.apache.org/msg05913.html is incorrect.
> Disallowing keyspace creation when RF > N is semantically incorrect and makes both scaling a cluster up and down more difficult than it should be.  This is compounded by the current lack of any API methods to change the replication factor.  Most dynamo style systems allow RF to be set > N for smaller clusters.  The cluster will behave as if RF = N until enough nodes are added such that RF < N.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.