[
https://issues.apache.org/jira/browse/CASSANDRA-14557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16569619#comment-16569619
]
Jaydeepkumar Chovatia commented on CASSANDRA-14557:
---------------------------------------------------
Please find my comments here:
1.
{code:java}
KeyspaceParams.simple(Math.max(1, DatabaseDescriptor.getDefaultKeyspaceRF())),
{code}
Don't we have to apply minimum keyspace RF check for system keyspaces?
2. Think about renaming {{parsedRf}} to something more meaningful maybe
{{userSuppliedRF}}:
{code:java}
Integer parsedRf = Integer.parseInt(rf);{code}
3. Have a consistent way of formatting string in Exception message:
{code:java}
throw new ConfigurationException("Replication factor must be non-negative;
found " + rf);}}
throw new ConfigurationException(String.format("Replication factor %s cannot be
less than minimum_keyspace_rf (%d)", rf,
DatabaseDescriptor.getMinimumKeyspaceRF()));
{code}
Jaydeep
> 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: Configuration
> Reporter: Sumanth Pasupuleti
> Assignee: Sumanth Pasupuleti
> Priority: Minor
> Labels: 4.0-feature-freeze-review-requested
> Fix For: 4.0
>
> Attachments: 14557-trunk.txt
>
>
> 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
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]