You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Aleksei Zotov (Jira)" <ji...@apache.org> on 2021/08/12 21:54:00 UTC

[jira] [Comment Edited] (CASSANDRA-14557) Consider adding default and required keyspace replication options

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

Aleksei Zotov edited comment on CASSANDRA-14557 at 8/12/21, 9:53 PM:
---------------------------------------------------------------------

[~sumanth.pasupuleti]

Thanks for the addressing the comments! I made one more review round and dug into replication strategies a bit deeper. I feel there is a potential problem with the current implementation for NTS (particularly in setting "replication_strategy" parameter). Also I feel there is a better place for the tricky logic you wrote for setting the default RF. I posted corresponding comments to the https://github.com/sumanth-pasupuleti/cassandra/commit/139a01531f1b51f6b3b7dc005a7df929ec9409a5. Please, take a look and let me know your thoughts.


was (Author: azotcsit):
[~sumanth.pasupuleti]

Thanks for the addressing the comments! I made one more review round and dug into replication strategies a bit deeper. I feel there is a potential problem with the current implementation for NTS (particularly in setting "replication_strategy" parameter). Also I feel there is a better place for the tricky logic you wrote for setting the default RF. I posted corresponding comments  to the PR. Please, take a look and let me know your thoughts.

> 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: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org