[
https://issues.apache.org/jira/browse/CASSANDRA-1066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jeremy Hanna updated CASSANDRA-1066:
------------------------------------
Description:
Currently, the DatacenterShardStrategy reads in a properties file -
datacenters.properties - to get a per-datacenter replication factor. So any
keyspace that is using the DSS in the cluster is using that same properties
file to configure its replication factor. The implementation doesn't take into
account the per-keyspace replication factor, but it is assumed that the sum of
all the datacenter RF values equals the per-keyspace replication value that is
part of the keyspace metadata.
It seems that an improvement could be two-fold:
1. Enforce the replication factor for the keyspace as always equal the sum of
all the datacenter RF values. Otherwise, if they aren't equal, bad things (tm)
can happen. This part will be addressed in CASSANDRA-1263 as pushing the
replication factor down into the strategy really facilitates this.
2. Make the datacenter RF values part of the keyspace metadata rather than a
global value. Again, currently if any keyspace in the cluster is configured to
use DSS, it will be using the global DC RF values found in the properties file.
An improvement could be to instead of having the properties file, configure
that on a per keyspace basis. That would make the cluster more multi-tenant
friendly so it could be flexible with multiple keyspaces.
was:
Currently, the DatacenterShardStrategy reads in a properties file -
datacenters.properties - to get a per-datacenter replication factor. So any
keyspace that is using the DSS in the cluster is using that same properties
file to configure its replication factor. The implementation doesn't take into
account the per-keyspace replication factor, but it is assumed that the sum of
all the datacenter RF values equals the per-keyspace replication value that is
part of the keyspace metadata.
It seems that an improvement could be two-fold:
1. Enforce the replication factor for the keyspace as always equal the sum of
all the datacenter RF values. Otherwise, if they aren't equal, bad things (tm)
can happen.
2. Make the datacenter RF values part of the keyspace metadata rather than a
global value. Again, currently if any keyspace in the cluster is configured to
use DSS, it will be using the global DC RF values found in the properties file.
An improvement could be to instead of having the properties file, configure
that on a per keyspace basis. That would make the cluster more multi-tenant
friendly so it could be flexible with multiple keyspaces.
> DatacenterShardStrategy needs enforceable and keyspace based RF
> ---------------------------------------------------------------
>
> Key: CASSANDRA-1066
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1066
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Reporter: Jeremy Hanna
> Assignee: Jeremy Hanna
> Priority: Minor
> Fix For: 0.7.0
>
> Attachments: 1066-3.txt, 1066-changes-patch.txt, 1066-external.patch,
> 1066.txt, 1066.txt
>
>
> Currently, the DatacenterShardStrategy reads in a properties file -
> datacenters.properties - to get a per-datacenter replication factor. So any
> keyspace that is using the DSS in the cluster is using that same properties
> file to configure its replication factor. The implementation doesn't take
> into account the per-keyspace replication factor, but it is assumed that the
> sum of all the datacenter RF values equals the per-keyspace replication value
> that is part of the keyspace metadata.
> It seems that an improvement could be two-fold:
> 1. Enforce the replication factor for the keyspace as always equal the sum of
> all the datacenter RF values. Otherwise, if they aren't equal, bad things
> (tm) can happen. This part will be addressed in CASSANDRA-1263 as pushing
> the replication factor down into the strategy really facilitates this.
> 2. Make the datacenter RF values part of the keyspace metadata rather than a
> global value. Again, currently if any keyspace in the cluster is configured
> to use DSS, it will be using the global DC RF values found in the properties
> file. An improvement could be to instead of having the properties file,
> configure that on a per keyspace basis. That would make the cluster more
> multi-tenant friendly so it could be flexible with multiple keyspaces.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.