Where do I find EverywhereStrategy?

2016-11-30 Thread James Carman
I came across the class name
"org.apache.cassandra.locator.EverywhereStrategy" in an error message, so I
started searching through the code for it. I can't seem to find it. Any
pointers?


Thanks,


James


RE: Where do I find EverywhereStrategy?

2016-11-30 Thread Jacques-Henri Berthemet
Hi James,

It looks like it's a DSE class, not OSS Cassandra:
https://support.datastax.com/hc/en-us/articles/208026816-DSE-EverywhereStrategy-is-not-understood-by-COSS-nodes-and-can-cause-restart-failures

Regards,
--
Jacques-Henri Berthemet

-Original Message-
From: James Carman [mailto:ja...@carmanconsulting.com] 
Sent: mercredi 30 novembre 2016 15:30
To: dev@cassandra.apache.org
Subject: Where do I find EverywhereStrategy?

I came across the class name
"org.apache.cassandra.locator.EverywhereStrategy" in an error message, so I
started searching through the code for it. I can't seem to find it. Any
pointers?


Thanks,


James


Re: Where do I find EverywhereStrategy?

2016-11-30 Thread James Carman
Oh, ok, thanks.  Why would a DSE class be in the "org.apache.cassandra"
package structure?  That seems a bit misleading



On Wed, Nov 30, 2016 at 9:44 AM Jacques-Henri Berthemet <
jacques-henri.berthe...@genesys.com> wrote:

> Hi James,
>
> It looks like it's a DSE class, not OSS Cassandra:
>
> https://support.datastax.com/hc/en-us/articles/208026816-DSE-EverywhereStrategy-is-not-understood-by-COSS-nodes-and-can-cause-restart-failures
>
> Regards,
> --
> Jacques-Henri Berthemet
>
> -Original Message-
> From: James Carman [mailto:ja...@carmanconsulting.com]
> Sent: mercredi 30 novembre 2016 15:30
> To: dev@cassandra.apache.org
> Subject: Where do I find EverywhereStrategy?
>
> I came across the class name
> "org.apache.cassandra.locator.EverywhereStrategy" in an error message, so I
> started searching through the code for it. I can't seem to find it. Any
> pointers?
>
>
> Thanks,
>
>
> James
>


Re: Where do I find EverywhereStrategy?

2016-11-30 Thread J. D. Jordan
Prior to https://issues.apache.org/jira/browse/CASSANDRA-12788 that was the 
only way to implement a new replication strategy.

> On Nov 30, 2016, at 8:46 AM, James Carman  wrote:
> 
> Oh, ok, thanks.  Why would a DSE class be in the "org.apache.cassandra"
> package structure?  That seems a bit misleading
> 
> 
> 
> On Wed, Nov 30, 2016 at 9:44 AM Jacques-Henri Berthemet <
> jacques-henri.berthe...@genesys.com> wrote:
> 
>> Hi James,
>> 
>> It looks like it's a DSE class, not OSS Cassandra:
>> 
>> https://support.datastax.com/hc/en-us/articles/208026816-DSE-EverywhereStrategy-is-not-understood-by-COSS-nodes-and-can-cause-restart-failures
>> 
>> Regards,
>> --
>> Jacques-Henri Berthemet
>> 
>> -Original Message-
>> From: James Carman [mailto:ja...@carmanconsulting.com]
>> Sent: mercredi 30 novembre 2016 15:30
>> To: dev@cassandra.apache.org
>> Subject: Where do I find EverywhereStrategy?
>> 
>> I came across the class name
>> "org.apache.cassandra.locator.EverywhereStrategy" in an error message, so I
>> started searching through the code for it. I can't seem to find it. Any
>> pointers?
>> 
>> 
>> Thanks,
>> 
>> 
>> James
>> 


Re: Where do I find EverywhereStrategy?

2016-11-30 Thread James Carman
A, well that stinks.  And, renaming it now would/could break backward
compatibility with existing clusters.  Lesson learned on package-private
constructors for abstract classes, especially those used for extension
points. :(


On Wed, Nov 30, 2016 at 10:04 AM J. D. Jordan 
wrote:

> Prior to https://issues.apache.org/jira/browse/CASSANDRA-12788 that was
> the only way to implement a new replication strategy.
>
> > On Nov 30, 2016, at 8:46 AM, James Carman 
> wrote:
> >
> > Oh, ok, thanks.  Why would a DSE class be in the "org.apache.cassandra"
> > package structure?  That seems a bit misleading
> >
> >
> >
> > On Wed, Nov 30, 2016 at 9:44 AM Jacques-Henri Berthemet <
> > jacques-henri.berthe...@genesys.com> wrote:
> >
> >> Hi James,
> >>
> >> It looks like it's a DSE class, not OSS Cassandra:
> >>
> >>
> https://support.datastax.com/hc/en-us/articles/208026816-DSE-EverywhereStrategy-is-not-understood-by-COSS-nodes-and-can-cause-restart-failures
> >>
> >> Regards,
> >> --
> >> Jacques-Henri Berthemet
> >>
> >> -Original Message-
> >> From: James Carman [mailto:ja...@carmanconsulting.com]
> >> Sent: mercredi 30 novembre 2016 15:30
> >> To: dev@cassandra.apache.org
> >> Subject: Where do I find EverywhereStrategy?
> >>
> >> I came across the class name
> >> "org.apache.cassandra.locator.EverywhereStrategy" in an error message,
> so I
> >> started searching through the code for it. I can't seem to find it. Any
> >> pointers?
> >>
> >>
> >> Thanks,
> >>
> >>
> >> James
> >>
>


Re: Where do I find EverywhereStrategy?

2016-11-30 Thread Ben Bromhead
Also apparently the Everywhere Strategy is a bad idea (tm) according to
comments in https://issues.apache.org/jira/browse/CASSANDRA-12629 but no
reason has been given why...

On Wed, 30 Nov 2016 at 07:07 James Carman 
wrote:

> A, well that stinks.  And, renaming it now would/could break backward
> compatibility with existing clusters.  Lesson learned on package-private
> constructors for abstract classes, especially those used for extension
> points. :(
>
>
> On Wed, Nov 30, 2016 at 10:04 AM J. D. Jordan 
> wrote:
>
> > Prior to https://issues.apache.org/jira/browse/CASSANDRA-12788 that was
> > the only way to implement a new replication strategy.
> >
> > > On Nov 30, 2016, at 8:46 AM, James Carman 
> > wrote:
> > >
> > > Oh, ok, thanks.  Why would a DSE class be in the "org.apache.cassandra"
> > > package structure?  That seems a bit misleading
> > >
> > >
> > >
> > > On Wed, Nov 30, 2016 at 9:44 AM Jacques-Henri Berthemet <
> > > jacques-henri.berthe...@genesys.com> wrote:
> > >
> > >> Hi James,
> > >>
> > >> It looks like it's a DSE class, not OSS Cassandra:
> > >>
> > >>
> >
> https://support.datastax.com/hc/en-us/articles/208026816-DSE-EverywhereStrategy-is-not-understood-by-COSS-nodes-and-can-cause-restart-failures
> > >>
> > >> Regards,
> > >> --
> > >> Jacques-Henri Berthemet
> > >>
> > >> -Original Message-
> > >> From: James Carman [mailto:ja...@carmanconsulting.com]
> > >> Sent: mercredi 30 novembre 2016 15:30
> > >> To: dev@cassandra.apache.org
> > >> Subject: Where do I find EverywhereStrategy?
> > >>
> > >> I came across the class name
> > >> "org.apache.cassandra.locator.EverywhereStrategy" in an error message,
> > so I
> > >> started searching through the code for it. I can't seem to find it.
> Any
> > >> pointers?
> > >>
> > >>
> > >> Thanks,
> > >>
> > >>
> > >> James
> > >>
> >
>
-- 
Ben Bromhead
CTO | Instaclustr 
+1 650 284 9692
Managed Cassandra / Spark on AWS, Azure and Softlayer


Re: Where do I find EverywhereStrategy?

2016-11-30 Thread Jeff Jirsa


On 2016-11-30 10:02 (-0800), Ben Bromhead  wrote: 
> Also apparently the Everywhere Strategy is a bad idea (tm) according to
> comments in https://issues.apache.org/jira/browse/CASSANDRA-12629 but no
> reason has been given why...
> 

It's touched on in that thread, but it's REALLY EASY to misuse, and most people 
who want it are probably going to shoot themselves in the foot with it.

The one example Jeremiah gave is admin logins with system_auth - requires 
QUORUM, quorum on a large cluster is almost impossible to satisfy like that 
(imagine a single digest mismatch triggering a blocking read repair on a 
hundred nodes, and what that does to the various thread pools).





Re: Where do I find EverywhereStrategy?

2016-11-30 Thread Ben Bromhead
for sure, but with auth for another user (LOCAL_ONE), you still want auth
info replicated to all nodes.

The system default of an RF of 1 can cause no access at all for a single
node going down (even with caching) and for the average user is a worse
solution than replicated to all nodes.

Also given that you should not be using the cassandra user (it's only there
to bootstrap auth setup) and that I would claim it is best to have auth
details local to each node, short of a complete rewrite of how system_auth
is distributed (e.g. via gossip, which I suspect it should be) I would
propose that an everywhere strategy is helpful in this regard?

On the other end of the spectrum operators with very large clusters are
already customizing auth to suit their needs (and not using the Cassandra
user).  I've seen far more people shoot themselves in the foot with
system_auth as it currently stands than large operators getting this wrong.
I would also claim that an everywhere strategy is about as dangerous as
secondary indexes...

Sorry to keep flogging a dead horse, but keeping auth replicated properly
has been super helpful for us. Of course replication strategies are
pluggable, so easy for us to maintain separately, I'm just trying to figure
out where I'm missing the point and if we need to re-evaluate the way we do
things or if the fear of misuse is the primary concern :)

On Wed, 30 Nov 2016 at 10:32 Jeff Jirsa  wrote:

>
>
> On 2016-11-30 10:02 (-0800), Ben Bromhead  wrote:
> > Also apparently the Everywhere Strategy is a bad idea (tm) according to
> > comments in https://issues.apache.org/jira/browse/CASSANDRA-12629 but no
> > reason has been given why...
> >
>
> It's touched on in that thread, but it's REALLY EASY to misuse, and most
> people who want it are probably going to shoot themselves in the foot with
> it.
>
> The one example Jeremiah gave is admin logins with system_auth - requires
> QUORUM, quorum on a large cluster is almost impossible to satisfy like that
> (imagine a single digest mismatch triggering a blocking read repair on a
> hundred nodes, and what that does to the various thread pools).
>
>
>
> --
Ben Bromhead
CTO | Instaclustr 
+1 650 284 9692
Managed Cassandra / Spark on AWS, Azure and Softlayer


Re: Where do I find EverywhereStrategy?

2016-11-30 Thread Brandon Williams
Relevant: https://issues.apache.org/jira/browse/CASSANDRA-12912

On Wed, Nov 30, 2016 at 12:32 PM, Jeff Jirsa  wrote:

>
>
> On 2016-11-30 10:02 (-0800), Ben Bromhead  wrote:
> > Also apparently the Everywhere Strategy is a bad idea (tm) according to
> > comments in https://issues.apache.org/jira/browse/CASSANDRA-12629 but no
> > reason has been given why...
> >
>
> It's touched on in that thread, but it's REALLY EASY to misuse, and most
> people who want it are probably going to shoot themselves in the foot with
> it.
>
> The one example Jeremiah gave is admin logins with system_auth - requires
> QUORUM, quorum on a large cluster is almost impossible to satisfy like that
> (imagine a single digest mismatch triggering a blocking read repair on a
> hundred nodes, and what that does to the various thread pools).
>
>
>
>


Re: Where do I find EverywhereStrategy?

2016-11-30 Thread sankalp kohli
If we think that having this strategy can be misused, we can always have a
check to allow this only on Auth keyspace.

On Wed, Nov 30, 2016 at 4:19 PM, Brandon Williams  wrote:

> Relevant: https://issues.apache.org/jira/browse/CASSANDRA-12912
>
> On Wed, Nov 30, 2016 at 12:32 PM, Jeff Jirsa  wrote:
>
> >
> >
> > On 2016-11-30 10:02 (-0800), Ben Bromhead  wrote:
> > > Also apparently the Everywhere Strategy is a bad idea (tm) according to
> > > comments in https://issues.apache.org/jira/browse/CASSANDRA-12629 but
> no
> > > reason has been given why...
> > >
> >
> > It's touched on in that thread, but it's REALLY EASY to misuse, and most
> > people who want it are probably going to shoot themselves in the foot
> with
> > it.
> >
> > The one example Jeremiah gave is admin logins with system_auth - requires
> > QUORUM, quorum on a large cluster is almost impossible to satisfy like
> that
> > (imagine a single digest mismatch triggering a blocking read repair on a
> > hundred nodes, and what that does to the various thread pools).
> >
> >
> >
> >
>


Re: Where do I find EverywhereStrategy?

2016-11-30 Thread J. D. Jordan
I would suggest that an RF of at most 5 per DC for auth is plenty. And least 
likely to cause problems in other ways.


> On Nov 30, 2016, at 7:08 PM, sankalp kohli  wrote:
> 
> If we think that having this strategy can be misused, we can always have a
> check to allow this only on Auth keyspace.
> 
>> On Wed, Nov 30, 2016 at 4:19 PM, Brandon Williams  wrote:
>> 
>> Relevant: https://issues.apache.org/jira/browse/CASSANDRA-12912
>> 
>>> On Wed, Nov 30, 2016 at 12:32 PM, Jeff Jirsa  wrote:
>>> 
>>> 
>>> 
 On 2016-11-30 10:02 (-0800), Ben Bromhead  wrote:
 Also apparently the Everywhere Strategy is a bad idea (tm) according to
 comments in https://issues.apache.org/jira/browse/CASSANDRA-12629 but
>> no
 reason has been given why...
 
>>> 
>>> It's touched on in that thread, but it's REALLY EASY to misuse, and most
>>> people who want it are probably going to shoot themselves in the foot
>> with
>>> it.
>>> 
>>> The one example Jeremiah gave is admin logins with system_auth - requires
>>> QUORUM, quorum on a large cluster is almost impossible to satisfy like
>> that
>>> (imagine a single digest mismatch triggering a blocking read repair on a
>>> hundred nodes, and what that does to the various thread pools).
>>> 
>>> 
>>> 
>>> 
>>