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

Sumanth Pasupuleti edited comment on CASSANDRA-14557 at 8/25/21, 9:23 AM:
--------------------------------------------------------------------------

[~azotcsit] latest branch 
https://github.com/sumanth-pasupuleti/cassandra/tree/14557-trunk reflects the 
changes from your latest round of review, and you can find responses to your 
comments at 
https://github.com/sumanth-pasupuleti/cassandra/commit/139a01531f1b51f6b3b7dc005a7df929ec9409a5.

[~stefan.miklosovic] Good call out on CASSANDRA-16203. This does fit 
philosophically and logically, however, 
[fromMapWithDefaults|https://github.com/sumanth-pasupuleti/cassandra/blob/14557-trunk/src/java/org/apache/cassandra/schema/ReplicationParams.java#L92]
 will have to accommodate to this new class. Will add a comment to 
CASSANDRA-16203 if this gets committed before CASSANDRA-16203.
Also, added nodetool commands to override default rf and minimum rf. This is 
still cumbersome to do it for each node, but yes it serves the purpose of 
avoiding node restart. We may ideally want to put an endpoint in the 
[sidecar|https://github.com/apache/cassandra-sidecar], that could potentially 
change these configurations across the cluster.


was (Author: sumanth.pasupuleti):
[~azotcsit] latest branch 
https://github.com/sumanth-pasupuleti/cassandra/tree/14557-trunk reflects the 
changes from your latest round of review, and you can find responses to your 
comments at 
https://github.com/sumanth-pasupuleti/cassandra/commit/139a01531f1b51f6b3b7dc005a7df929ec9409a5.

[~stefan.miklosovic] Good call out on CASSANDRA-16203. This does fit 
philosophically and logically, however, fromMapWithDefaults will have to 
accommodate to this new class. Will add a comment to CASSANDRA-16203 if this 
gets committed before CASSANDRA-16203.
Also, added nodetool commands to override default rf and minimum rf. This is 
still cumbersome to do it for each node, but yes it serves the purpose of 
avoiding node restart. We may ideally want to put an endpoint in the 
[sidecar|https://github.com/apache/cassandra-sidecar], that could potentially 
change these configurations across the cluster.

> Consider adding 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