Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-14557

Consider adding default and required keyspace replication options




      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:

      1. default_keyspace_rf (default: 1) - If replication factors are not specified, use this number.
      2. 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 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.


        1. 14557-4.0.txt
          29 kB
          Sumanth Pasupuleti
        2. 14557-trunk.patch
          29 kB
          Sumanth Pasupuleti

          Issue Links



              • Assignee:
                sumanth.pasupuleti Sumanth Pasupuleti
                sumanth.pasupuleti Sumanth Pasupuleti
                Sumanth Pasupuleti
              • Votes:
                1 Vote for this issue
                10 Start watching this issue


                • Created: