FYI there is an everywhere strategy waiting to be accepted: https://issues.apache.org/jira/browse/CASSANDRA-12629
On Sat, 8 Oct 2016 at 10:56 Vladimir Yudovin <vla...@winguzone.com> wrote: Well, it can be useful in some scenarios - e.g. temporary tables on nearest or the same node. Best regards, Vladimir Yudovin, Winguzone - Hosted Cloud Cassandra on Azure and SoftLayer. Launch your cluster in minutes. ---- On Sat, 08 Oct 2016 13:44:00 -0400 Jeff Jirsa<jji...@gmail.com> wrote ---- I'm sure that's what he meant, I just disagree that it sounds useful -- Jeff Jirsa > On Oct 8, 2016, at 10:33 AM, Vladimir Yudovin <vla...@winguzone.com> wrote: > > As far as I understand Edward meant to have option determinate actual storage node on client side, by driver, disregarding key hash/tokens mechanism. > > Best regards, Vladimir Yudovin, > Winguzone - Hosted Cloud Cassandra on Azure and SoftLayer. > Launch your cluster in minutes. > > > > > ---- On Sat, 08 Oct 2016 13:17:14 -0400 Jeff Jirsa & amp;lt;jji...@gmail.com&gt; wrote ---- > > That sounds awful, especially since you could just use SimpleStrategy with RF=1 and then bootstrap / decom would handle resharding for you as expected. > > -- > Jeff Jirsa > > > &gt; On Oct 8, 2016, at 10:09 AM, Edward Capriolo & amp;lt;edlinuxg...@gmail.com&gt; wrote: > &gt; > &gt; I have contemplated using LocalStrategy as a "do it yourself client side > &gt; sharding system". > &gt; > &gt; On Sat, Oct 8, 2016 at 12:37 AM, Vladimir Yudovin & amp;lt;vla...@winguzone.com&gt; > &gt; wrote: > &gt; > &gt;&gt; Hi Prasenjit, > &gt;&gt; I would like to get the replication factors of the key-spaces using the > &gt;&gt; strategies in the same way we get the replication factors for Simple and > &gt;&gt; NetworkTopology. > &gt;&gt; Actually LocalSarategy has no replication factor: > &gt;&gt; > &gt;&gt; SELECT * FROM system_schema.keyspaces WHERE keyspace_name IN ('system', > &gt;&gt; 'system_schema'); > &gt;&gt; keyspace_name | durable_writes | replication > &gt;&gt; ---------------+----------------+--------------------------- > &gt;&gt; ----------------------------------------- > &gt;&gt; system | True | {'class': > &gt;&gt; 'org.apache.cassandra.locator.LocalStrategy'} > &gt;&gt; system_schema | True | {'class': > &gt;&gt; 'org.apache.cassandra.locator.LocalStrategy'} > &gt;&gt; > &gt;&gt; > &gt;&gt; It's used for internal tables and not accessible to users: > &gt;&gt; > &gt;&gt; CREATE KEYSPACE excel WITH replication = {'class': 'LocalStrategy'}; > &gt;&gt; ConfigurationException: Unable to use given strategy class: LocalStrategy > &gt;&gt; is reserved for internal use. > &gt;&gt; > &gt;&gt; > &gt;&gt; Best regards, Vladimir Yudovin, > &gt;&gt; Winguzone - Hosted Cloud Cassandra on Azure and SoftLayer. > &gt;&gt; Launch your cluster in minutes. > &gt;&gt; > &gt;&gt; > &gt;&gt; > &gt;&gt; > &gt;&gt; ---- On Fri, 07 Oct 2016 17:06:09 -0400 Prasenjit > &gt;&gt; Sarkar&amp;lt;prasenjit.sar...@datos.io&amp;gt; wrote ---- > &gt;&gt; > &gt;&gt; Thanks Vlad and Jeremiah. > &gt;&gt; > &gt;&gt; There were questions about support, so let me address that in more detail. > &gt;&gt; > &gt;&gt; If I look at the latest Cassandra python driver, the support for > &gt;&gt; LocalStrategy is very limited (code snippet shown below) and the support > &gt;&gt; for EverywhereStrategy is non-existent. By limited I mean that the > &gt;&gt; Cassandra python driver only provides the name of the strategy for > &gt;&gt; LocalStrategy and not much else. > &gt;&gt; > &gt;&gt; What I would like (and happy to help) is for the Cassandra python driver to > &gt;&gt; provide support for Local and Everywhere to the same extent it is provided > &gt;&gt; for Simple and NetworkTopology. I understand that token aware routing is > &gt;&gt; not applicable to either strategy but I would like to get the replication > &gt;&gt; factors of the key-spaces using the strategies in the same way we get the > &gt;&gt; replication factors for Simple and NetworkTopology. > &gt;&gt; > &gt;&gt; Hope this helps, > &gt;&gt; Prasenjit > &gt;&gt; > &gt;&gt; > &gt;&gt; class LocalStrategy(ReplicationStrategy): > &gt;&gt; def __init__(self, options_map): > &gt;&gt; pass > &gt;&gt; def make_token_replica_map(self, token_to_host_owner, ring): > &gt;&gt; return {} > &gt;&gt; def export_for_schema(self): > &gt;&gt; """ > &gt;&gt; Returns a string version of these replication options which are > &gt;&gt; suitable for use in a CREATE KEYSPACE statement. > &gt;&gt; """ > &gt;&gt; return "{'class': 'LocalStrategy'}" > &gt;&gt; def __eq__(self, other): > &gt;&gt; return isinstance(other, LocalStrategy) > &gt;&gt; > &gt;&gt; On Fri, Oct 7, 2016 at 11:56 AM, Jeremiah D Jordan &amp;lt; > &gt;&gt; jeremiah.jor...@gmail.com&amp;gt; wrote: > &gt;&gt; > &gt;&gt; &amp;gt; What kind of support are you thinking of? All drivers should support > &gt;&gt; them > &gt;&gt; &amp;gt; already, drivers shouldn’t care about replication strategy except when > &gt;&gt; &amp;gt; trying to do token aware routing. > &gt;&gt; &amp;gt; But since anyone can make a custom replication strategy, drivers that > &gt;&gt; do > &gt;&gt; &amp;gt; token aware routing just need to handle falling back to not doing > &gt;&gt; token > &gt;&gt; &amp;gt; aware routing if a replication strategy they don’t know about is in > &gt;&gt; use. > &gt;&gt; &amp;gt; All the open sources drivers I know of do this, so they should all > &gt;&gt; &amp;gt; “support” those strategies already. > &gt;&gt; &amp;gt; > &gt;&gt; &amp;gt; -Jeremiah > &gt;&gt; &amp;gt; > &gt;&gt; &amp;gt; &amp;gt; On Oct 7, 2016, at 1:02 PM, Prasenjit Sarkar &amp; > &gt;&gt; lt;prasenjit.sar...@datos.io&amp;gt; > &gt;&gt; &amp;gt; wrote: > &gt;&gt; &amp;gt; &amp;gt; > &gt;&gt; &amp;gt; &amp;gt; Hi everyone, > &gt;&gt; &amp;gt; &amp;gt; > &gt;&gt; &amp;gt; &amp;gt; To the best of my understanding that Datastax has proprietary > &gt;&gt; replication > &gt;&gt; &amp;gt; &amp;gt; strategies: Local and Everywhere which are not part of the open > &gt;&gt; source > &gt;&gt; &amp;gt; &amp;gt; Apache Cassandra project. > &gt;&gt; &amp;gt; &amp;gt; > &gt;&gt; &amp;gt; &amp;gt; Do we know of any plans in the open source Cassandra driver > &gt;&gt; community to > &gt;&gt; &amp;gt; &amp;gt; support these two replication strategies? Would Datastax have a > &gt;&gt; licensing > &gt;&gt; &amp;gt; &amp;gt; concern if the open source driver community supported these > &gt;&gt; strategies? > &gt;&gt; &amp;gt; I'm > &gt;&gt; &amp;gt; &amp;gt; fairly new here and would like to understand the dynamics. > &gt;&gt; &amp;gt; &amp;gt; > &gt;&gt; &amp;gt; &amp;gt; Thanks, > &gt;&gt; &amp;gt; &amp;gt; Prasenjit > &gt;&gt; &amp;gt; > &gt;&gt; &amp;gt; > &gt;&gt; > &gt;&gt; > &gt;&gt; > &gt;&gt; > &gt;&gt; > &gt;&gt; > > > > > -- Ben Bromhead CTO | Instaclustr <https://www.instaclustr.com/> +1 650 284 9692 Managed Cassandra / Spark on AWS, Azure and Softlayer