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 &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 
> &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 
> &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; 
> 
> 
> 
> 
> 

Reply via email to