Hi Prasenjit, I would like to get the replication factors of the key-spaces using the strategies in the same way we get the replication factors for Simple and NetworkTopology. Actually LocalSarategy has no replication factor:
SELECT * FROM system_schema.keyspaces WHERE keyspace_name IN ('system', 'system_schema'); keyspace_name | durable_writes | replication ---------------+----------------+-------------------------------------------------------------------- system | True | {'class': 'org.apache.cassandra.locator.LocalStrategy'} system_schema | True | {'class': 'org.apache.cassandra.locator.LocalStrategy'} It's used for internal tables and not accessible to users: CREATE KEYSPACE excel WITH replication = {'class': 'LocalStrategy'}; ConfigurationException: Unable to use given strategy class: LocalStrategy is reserved for internal use. Best regards, Vladimir Yudovin, Winguzone - Hosted Cloud Cassandra on Azure and SoftLayer. Launch your cluster in minutes. ---- On Fri, 07 Oct 2016 17:06:09 -0400 Prasenjit Sarkar<prasenjit.sar...@datos.io> wrote ---- Thanks Vlad and Jeremiah. There were questions about support, so let me address that in more detail. If I look at the latest Cassandra python driver, the support for LocalStrategy is very limited (code snippet shown below) and the support for EverywhereStrategy is non-existent. By limited I mean that the Cassandra python driver only provides the name of the strategy for LocalStrategy and not much else. What I would like (and happy to help) is for the Cassandra python driver to provide support for Local and Everywhere to the same extent it is provided for Simple and NetworkTopology. I understand that token aware routing is not applicable to either strategy but I would like to get the replication factors of the key-spaces using the strategies in the same way we get the replication factors for Simple and NetworkTopology. Hope this helps, Prasenjit class LocalStrategy(ReplicationStrategy): def __init__(self, options_map): pass def make_token_replica_map(self, token_to_host_owner, ring): return {} def export_for_schema(self): """ Returns a string version of these replication options which are suitable for use in a CREATE KEYSPACE statement. """ return "{'class': 'LocalStrategy'}" def __eq__(self, other): return isinstance(other, LocalStrategy) On Fri, Oct 7, 2016 at 11:56 AM, Jeremiah D Jordan < jeremiah.jor...@gmail.com> wrote: > What kind of support are you thinking of? All drivers should support them > already, drivers shouldn’t care about replication strategy except when > trying to do token aware routing. > But since anyone can make a custom replication strategy, drivers that do > token aware routing just need to handle falling back to not doing token > aware routing if a replication strategy they don’t know about is in use. > All the open sources drivers I know of do this, so they should all > “support” those strategies already. > > -Jeremiah > > > On Oct 7, 2016, at 1:02 PM, Prasenjit Sarkar <prasenjit.sar...@datos.io> > wrote: > > > > Hi everyone, > > > > To the best of my understanding that Datastax has proprietary replication > > strategies: Local and Everywhere which are not part of the open source > > Apache Cassandra project. > > > > Do we know of any plans in the open source Cassandra driver community to > > support these two replication strategies? Would Datastax have a licensing > > concern if the open source driver community supported these strategies? > I'm > > fairly new here and would like to understand the dynamics. > > > > Thanks, > > Prasenjit > >