[
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]