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

Joey Lynch edited comment on CASSANDRA-14557 at 10/11/21, 5:34 PM:
-------------------------------------------------------------------

For what it's worth after CASSANDRA-14303 landed I don't see why anyone would 
use EverywhereStrategy (which we also maintain a backport for compatibility 
with datastax) over a
{noformat}
ALTER KEYSPACE test WITH replication = {'class': 'NetworkTopologyStrategy', 
'replication_factor': 3}
{noformat}
which could be run whenever nodes join with a new datacenter and will 
automatically (and safely) replicate your data to all datacenters with 3 
replicas and never remove them from existing datacenters.

I think that's why it's so important to land this patch, as it plus 14303 let 
us finally gives us a path to giving users sane defaults for all keyspaces they 
create out of the box without knowing the details of the global deployment of 
the datastore.


was (Author: jolynch):
For what it's worth after CASSANDRA-14303 landed I don't see why anyone would 
use EverywhereStrategy (which we also maintain a backport for compatibility 
with datastax) over a
{noformat}
ALTER KEYSPACE test WITH replication = {'class': 'NetworkTopologyStrategy', 
'replication_factor': 3}
{noformat}
which runs whenever nodes join with a new datacenter and will automatically 
(and safely) replicate your data to all datacenters with 3 replicas and never 
remove them from existing datacenters.

I think that's why it's so important to land this patch, as it plus 14303 let 
us finally gives us a path to giving users sane defaults for all keyspaces they 
create out of the box without knowing the details of the global deployment of 
the datastore.

> Add default and required keyspace replication options
> -----------------------------------------------------
>
>                 Key: CASSANDRA-14557
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14557
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Local/Config
>            Reporter: Sumanth Pasupuleti
>            Assignee: Sumanth Pasupuleti
>            Priority: Low
>              Labels: 4.0-feature-freeze-review-requested
>             Fix For: 4.x
>
>         Attachments: 14557-4.0.txt, 14557-trunk.patch
>
>
> Ending up with a keyspace of RF=1 is unfortunately pretty easy in C* right 
> now - the system_auth table for example is created with RF=1 (to take into 
> account single node setups afaict from CASSANDRA-5112), and a user can 
> further create a keyspace with RF=1 posing availability and streaming risks 
> (e.g. rebuild).
> I propose we add two configuration options in cassandra.yaml:
>  # {{default_keyspace_rf}} (default: 1) - If replication factors are not 
> specified, use this number.
>  # {{required_minimum_keyspace_rf}} (default: unset) - Prevent users from 
> creating a keyspace with an RF less than what is configured
> These settings could further be re-used to:
>  * Provide defaults for new keyspaces created with SimpleStrategy or 
> NetworkTopologyStrategy (CASSANDRA-14303)
>  * Make the automatic token [allocation 
> algorithm|https://issues.apache.org/jira/browse/CASSANDRA-13701?focusedCommentId=16095662&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16095662]
>  interface more intuitive allowing easy use of the new token allocation 
> algorithm.
> At the end of the day, if someone really wants to allow RF=1, they simply 
> don’t set the setting. For backwards compatibility the default remains 1 and 
> C* would create with RF=1, and would default to current behavior of allowing 
> any RF on keyspaces.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to