Re: problem with running simple example using cassandra-cli with 0.6.0-beta2

2010-03-12 Thread Eric Evans
On Fri, 2010-03-12 at 11:21 -0500, Bill Au wrote:
 Thanks.  With 0.6.0-beta2 using Standard2 does show a human-readable
 column.
 
 However, the behavior is definitely different between 0.5.1 and
 0.6.0-beta2.  I am using the binary distribution of 0.5.1:
 
 cassandra show version
 0.5.1
 cassandra set Keyspace1.Standard1['jsmith']['first'] = 'John'
 Value inserted.
 cassandra set Keyspace1.Standard1['jsmith']['last'] = 'Smith'
 Value inserted.
 cassandra set Keyspace1.Standard1['jsmith']['age'] = '42'
 Value inserted.
 cassandra get Keyspace1.Standard1['jsmith']
 = (column=last, value=Smith, timestamp=1268408466548)
 = (column=first, value=John, timestamp=1268408464036)
 = (column=age, value=42, timestamp=1268408468895)
 Returned 3 results.
 
 With 0.5.1 using Standard1 does show a human-readable column as
 documented
 in the Wiki.

Right you are, my mistake. This changed in
https://issues.apache.org/jira/browse/CASSANDRA-661 (which occurred
between 0.5 and 0.6).

 Not sure which one is the correct behavior here.

The current behavior is correct. I'll update the examples to avoid
future confusion.

-- 
Eric Evans
eev...@rackspace.com



Re: cassandra 0.6.0 beta 2 download contains beta 1?

2010-03-11 Thread Eric Evans
On Wed, 2010-03-10 at 13:39 -0500, Vick Khera wrote:
 On Wed, Mar 10, 2010 at 11:30 AM, Eric Evans eev...@rackspace.com wrote:
   apache-cassandra-0.6.0-beta1.jar
   apache-cassandra-0.6.0-beta2.jar
 
  Ugh, my bad. I must have failed to `clean' in between the aborted beta1
  and beta2.
 
 
 The beta2 also does not include the other support jar files like
 log4j.  Not being a java person, I didn't know what to do so I just
 started my experimentation with the 0.5.1 release which has it all
 bundled.

Yes, this is a new feature^H^H^H^H^Hcontroversy in that most of the
third-party jars are no longer distributed by us, and must be fetched
using `ant ivy-retrieve'.

This is currently being disputed, see
https://issues.apache.org/jira/browse/CASSANDRA-850 for more on that.

For what it's worth, this was documented in both the changelog
(CHANGES.txt) and the release notes (NEWS.txt), which you really should
be reading.


-- 
Eric Evans
eev...@rackspace.com



Re: Effective allocation of multiple disks

2010-03-11 Thread Eric Evans
On Wed, 2010-03-10 at 23:20 -0600, Jonathan Ellis wrote:
 On Wed, Mar 10, 2010 at 9:31 PM, Anthony Molinaro
 antho...@alumni.caltech.edu wrote:
  I would almost
  recommend just keeping things simple and removing multiple data
 directories
  from the config altogether and just documenting that you should plan
 on using
  OS level mechanisms for growing diskspace and io.
 
 I think that is a pretty sane suggestion actually. 

Or maybe leave the code as is and just document the situation more
clearly? If you're adding more disks to increase storage capacity and
you don't strictly need the extra IO, then multiple data directories
might be preferable to other forms of aggregation (it's certainly
simpler than say a volume manager).

-- 
Eric Evans
eev...@rackspace.com



Re: cassandra 0.6.0 beta 2 download contains beta 1?

2010-03-11 Thread Eric Evans
On Thu, 2010-03-11 at 13:21 -0500, Vick Khera wrote:
 As a newcomer, I started by reading the wiki and following examples.
 The quick-start guide failed, so I just backed out of the beta to the
 released version.  The wiki recommends using the beta release to
 protect against on-disk format changes that may happen.

Ok, that makes sense. http://wiki.apache.org/cassandra/GettingStarted
has generally targeted the current release, so a change like this
wouldn't be documented there until after making it into a stable.

 Is it really good to make ant necessary to use the binary
 distribution?  

If we're going to get into this in any depth, we should probably start
another thread, but as I indicated in the ticket[1], this change was
introduced to solve real problems we were having with dependency
management. Basically, we traded:

* manual, tedious, and error prone task(s)
* the legal requirement to document licensing and attribution

For:

* requiring network access (though I seem to be the only one that
considers this a major drawback).
* requiring ant to be installed
* one extra step prerequisite step (invoking `ant ivy-retrieve')

So what this really boils down to is a question of which is worse, the
disease or the cure.

Bare in mind though that despite the best of intentions, license and
attribution was not being kept up with properly which results in legal
risks that are unacceptable to the ASF. It's also worth pointing out
that the dependency tree has seen quite a bit of churn in addition to
more than doubling in size (and every indication is that this will
continue in the near-term).

 Might as well just stop distributing the binary if you need a
 developer environment to use it anyway.

Maybe we should. :)


[1]: https://issues.apache.org/jira/browse/CASSANDRA-850

-- 
Eric Evans
eev...@rackspace.com



Re: client.get_count query

2010-03-11 Thread Eric Evans
On Thu, 2010-03-11 at 11:29 -0800, Sonny Heer wrote:
 What does this query return?

It counts the number of columns in a row or super column.

Try: http://wiki.apache.org/cassandra/API#get_count

 Is there a way to do a range query and get the row count? (e.g. row
 start = TOW' row end = 'TOWZ')

No, there isn't.

-- 
Eric Evans
eev...@rackspace.com



Re: client.get_count query

2010-03-11 Thread Eric Evans
On Thu, 2010-03-11 at 11:44 -0800, Sonny Heer wrote:
 Thanks.  Are there plans to implement a row count feature?

Not that I'm aware of.

 I have a model which doesn't store any columns since I could
 potentially have a large # of columns.  So all the valuable
 information has been moved into the row key. 

This doesn't sound right; either there is a problem with your datamodel,
or your choice of datastore. How many columns are we talking about here?

-- 
Eric Evans
eev...@rackspace.com



Re: cassandra 0.6.0 beta 2 download contains beta 1?

2010-03-10 Thread Eric Evans
On Tue, 2010-03-09 at 12:38 -0800, Omer van der Horst Jansen wrote:
 The apache-cassandra-0.6.0-beta2-bin.tar.gz download contains both these files
 in the apache-cassandra-0.6.0-beta2/lib directory:
 
  apache-cassandra-0.6.0-beta1.jar
  apache-cassandra-0.6.0-beta2.jar

Ugh, my bad. I must have failed to `clean' in between the aborted beta1
and beta2.

 Given the way the classpath is constructed, it's possible that anyone using
 this download is actually running beta 1 rather than beta 2...

The only difference between beta1 and beta2 was a couple of bytes worth
of version metadata, so it really wouldn't matter in this context.

-- 
Eric Evans
eev...@rackspace.com



Re: finding Cassandra servers

2010-03-03 Thread Eric Evans
On Wed, 2010-03-03 at 10:05 -0600, Ted Zlatanov wrote:
 I can do a patch+ticket for this in the core, making it optional and
 off by default, or do the same for a contrib/ service as you
 suggested.  So I'd appreciate a +1/-1 quick vote on whether this can
 go in the core to save me from rewriting the patch later.

I don't think voting is going to help. Voting doesn't do anything to
develop consensus and it seems pretty clear that no consensus exists
here.

It's entirely possible that you've identified a problem that others
can't see, or haven't yet encountered. I don't see it, but then maybe
I'm just thick.

Either way, if you think this is important, the onus is on you to
demonstrate the merit of your idea and contrib/ or a github project is
one way to do that (the latter has the advantage of not needing to rely
on anyone else).


-- 
Eric Evans
eev...@rackspace.com



Re: finding Cassandra servers

2010-03-03 Thread Eric Evans
On Wed, 2010-03-03 at 16:49 +, Christopher Brind wrote:
 So is the current general practice to connect to a known node, e.g. by
 ip address?

There are so many ways you could tackle this but...

If you're talking about provisioning/startup of new nodes, just use the
IPs of 2-4 nodes in the seeds section of configs.

If you're talking about clients, then round-robin DNS is one option.
Load-balancers are another. Either could be used with a subset of
higher-capacity/higher-availability nodes, or for the entire cluster.

 If so, what happens if that node is down?  Is the entire cluster
 effectively broken at that point?

You don't use just one node, see above.

 Or do clients simply maintain a list of nodes a just connect to the
 first available in the list? 

It's possible to obtain a list of nodes over Thrift. So, yet another
option would be to use a short-list of well-known nodes (discovered via
round-robin DNS for example), to obtain a current node list and
distribute among them.

-- 
Eric Evans
eev...@rackspace.com



Re: import data into cassandra

2010-02-24 Thread Eric Evans
On Wed, 2010-02-24 at 18:43 +0100, Martin Probst wrote:
 host:/opt/cassandra# bin/json2sstable -K Keyspace1 -c
 col1 ../utf8_cassandra.json data/Keyspace1/col1-2-Data.db 
 Exception in thread main java.lang.NumberFormatException: For input
 string: PR
 at
 java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
 at java.lang.Integer.parseInt(Integer.java:447)
 at
 org.apache.cassandra.utils.FBUtilities.hexToBytes(FBUtilities.java:255)
 at
 org.apache.cassandra.tools.SSTableImport.addToStandardCF(SSTableImport.java:89)
 at
 org.apache.cassandra.tools.SSTableImport.importJson(SSTableImport.java:156)
 at
 org.apache.cassandra.tools.SSTableImport.main(SSTableImport.java:207) 
 
 The Keyspace is configured as follows:
Keyspace Name=Keyspace1
   ColumnFamily CompareWith=UTF8Type Name=col1 Comment=some
 data/
 /Keyspace

This is because hex strings are used to represent byte arrays in the
JSON format, (i.e. the string 'PR' would be turned into something like
'5052').

 Is there another way to import some data, maybe a tool or something?
 I've used the latest stable cassandra version (0.5.0).

As Jonathan stated, you're best bet is to tackle this using the Thrift
interface first.

-- 
Eric Evans
eev...@rackspace.com



Re: Performance with Multiple Node Vs Single Node

2010-02-18 Thread Eric Evans
On Thu, 2010-02-18 at 17:36 +0200, Richard Grossman wrote:
 What the impact on performance to have multiple node ??

When you have a cluster with only one node, you're guaranteed to perform
every read and write on the destination node (because there is literally
no other possible destination). When you have multiple nodes, you can
read/write to any node, but if it is not the destination, then it must
be forwarded on to the right host. So the expected impact on performance
is the extra latency incurred by these forwarded requests.

 The test we run here with multiple node seems a VERY bad performance
 comparing to the same amount of data located on 1 single node.
 Could you confirm or infirm such statement ?
 
 I mean if the same operation (write or read) take 5-10 times more time
 when multiple node than single node where is the problem
 (communication between computer) ??. 

5-10 times more is not normal, no. Perhaps there is a problem with one
or more of the new nodes you added.

 I've read a lot about tuning of memory, disk, io, top, htop but
 nothing about networking operation between node. Is there any way to
 check what going on regarding node intercommunication ??

I'd start with your basic, garden-variety troubleshooting, i.e. ping,
traceroute, transfer speed, etc.
 
-- 
Eric Evans
eev...@rackspace.com



RE: [VOTE] Graduation

2010-01-26 Thread Eric Evans
On Mon, 2010-01-25 at 20:18 -0800, Christopher McKenzie wrote:
 Although cassandra appears to be compliant to the guidelines on that
 page and the policy page, I've still found myself having to manually
 patch and tweak the code for my usage case, which I don't feel is very
 esoteric.
 
 Would you agree that the status of graduation would also encompass the
 idea of an end user just having to install a compiled form of the
 application, and then work of documentation?

No, I would not. This isn't what graduation is about.

 I understand that there are sometimes critical bugs in even the most
 mature software; but I'm still at a point where dealing with bugs is a
 modus operandi with cassandra.  Some other datastores that I use, such
 as postgres and memcache for instance, have never had issues that
 required me to read or patch the source.

Cassandra is significantly more complex than memcache, and far less
mature than both memcache and postgres. The code isn't perfect, but it
sounds like your expectations are a bit off as well.

 I guess my overall fear is that if implicit in graduating is making
 such a claim, and if this generates a large spike of usage, the core
 developers may end up spending more time responding to emails then
 developing. 

Again, it isn't implicit. Graduation is about the community's ability to
sustain itself, and to operate in accordance with the ASF's guiding
principles[1].

Unless you are arguing that the code is abnormally buggy, and that this
is the direct result of a dysfunctional and unhealthy community that
will both embarrass the ASF, and embroil it in costly legal disputes,
before disintegrating to leave Cassandra as an obscure historical
footnote? :)

[1] http://www.apache.org/foundation/how-it-works.html

-- 
Eric Evans
eev...@rackspace.com



[VOTE] Graduation

2010-01-25 Thread Eric Evans

There was some additional discussion[1] concerning Cassandra's
graduation on the incubator list, and as a result we've altered the
initial resolution to expand the size of the PMC by three to include our
active mentors (new draft attached).

I propose a vote for Cassandra's graduation to a top-level project.

We'll leave this open for 72 hours, and assuming it passes, we can then
take it to a vote with the Incubator PMC.

+1 from me!


[1] http://thread.gmane.org/gmane.comp.apache.incubator.general/24427

-- 
Eric Evans
eev...@rackspace.com
X. Establish the Apache Cassandra Project

   WHEREAS, the Board of Directors deems it to be in the best
   interests of the Foundation and consistent with the
   Foundation's purpose to establish a Project Management
   Committee charged with the creation and maintenance of
   open-source software related to fully distributed storage of
   structured data, for distribution at no charge to the public.

   NOW, THEREFORE, BE IT RESOLVED, that a Project Management
   Committee (PMC), to be known as the Apache Cassandra Project,
   be and hereby is established pursuant to Bylaws of the
   Foundation; and be it further

   RESOLVED, that the Apache Cassandra Project be and hereby is
   responsible for the creation and maintenance of software
   related to fully distributed storage of structured data; and be
   it further

   RESOLVED, that the office of Vice President, Apache Cassandra be
   and hereby is created, the person holding such office to
   serve at the direction of the Board of Directors as the chair
   of the Apache Cassandra Project, and to have primary responsibility
   for management of the projects within the scope of responsibility
   of the Apache Cassandra Project; and be it further

   RESOLVED, that the persons listed immediately below be and
   hereby are appointed to serve as the initial members of the
   Apache Cassandra Project:

 * Jonathan Ellisjbel...@apache.org
 * Eric Evanseev...@apache.org
 * Jun Rao   jun...@apache.org
 * Chris Goffinetgoffi...@apache.org
 * Ian Holsman   i...@apache.org
 * Ant Elder antel...@apache.org
 * Matthieu Riou mr...@apache.org

   NOW, THEREFORE, BE IT FURTHER RESOLVED, that Jonathan Ellis
   be appointed to the office of Vice President, Apache Cassandra, to
   serve in accordance with and subject to the direction of the
   Board of Directors and the Bylaws of the Foundation until
   death, resignation, retirement, removal or disqualification,
   or until a successor is appointed; and be it further

   RESOLVED, that the initial Apache Cassandra PMC be and hereby is
   tasked with the creation of a set of bylaws intended to
   encourage open development and increased participation in the
   Apache Cassandra Project; and be it further

   RESOLVED, that the Apache Cassandra Project be and hereby
   is tasked with the migration and rationalization of the Apache
   Incubator Cassandra podling; and be it further

   RESOLVED, that all responsibilities pertaining to the Apache
   Incubator Cassandra podling encumbered upon the Apache Incubator
   Project are hereafter discharged.


Re: Can't Run: Address already in use Error

2010-01-11 Thread Eric Evans
On Fri, 2010-01-08 at 19:13 -0600, Dusty Reagan wrote:
 I'm trying to get Casandra running on Ubuntu 8.04.2 LTS (hardy). I've
 got it
 installed but when I try and run it with casandra -f I get some
 lines of
 debug info then the following error twice in a row:
 
 ERROR - Exception encountered during startup.
 java.net.BindException: Address already in use
 at sun.nio.ch.Net.bind(Native Method)
  at 

This is because an instance of cassandra (bound to loopback), was
already started by the init script when you installed the package. So...
don't start another one. :)

Use the init script to start and stop cassandra,
(/etc/init.d/cassandra).

-- 
Eric Evans
eev...@rackspace.com



Re: Graduation

2010-01-11 Thread Eric Evans
On Thu, 2010-01-07 at 12:56 -0600, Eric Evans wrote:
 I think we demonstrably meet the requirements; I believe we are ready
 to graduate.
 
 What does everyone else thing? 

The response to this was quite favorable and consensus seems to be that
we are ready. How many people had a chance to review the draft board
resolution that was attached to the original mail (and is attached again
to this one)?

The next step will be to discuss this with the IPMC to get their
opinions before putting it to a vote on with them. If there are any
lingering concerns, or any feedback on the resolution, it would be good
to discuss them here first.

Let me know!

-- 
Eric Evans
eev...@rackspace.com
X. Establish the Apache Cassandra Project

   WHEREAS, the Board of Directors deems it to be in the best
   interests of the Foundation and consistent with the
   Foundation's purpose to establish a Project Management
   Committee charged with the creation and maintenance of
   open-source software related to fully distributed storage of
   structured data, for distribution at no charge to the public.

   NOW, THEREFORE, BE IT RESOLVED, that a Project Management
   Committee (PMC), to be known as the Apache Cassandra Project,
   be and hereby is established pursuant to Bylaws of the
   Foundation; and be it further

   RESOLVED, that the Apache Cassandra Project be and hereby is
   responsible for the creation and maintenance of software
   related to fully distributed storage of structured data; and be
   it further

   RESOLVED, that the office of Vice President, Apache Cassandra be
   and hereby is created, the person holding such office to
   serve at the direction of the Board of Directors as the chair
   of the Apache Cassandra Project, and to have primary responsibility
   for management of the projects within the scope of responsibility
   of the Apache Cassandra Project; and be it further

   RESOLVED, that the persons listed immediately below be and
   hereby are appointed to serve as the initial members of the
   Apache Cassandra Project:

 * Jonathan Ellisjbel...@apache.org
 * Eric Evanseev...@apache.org
 * Jun Rao   jun...@apache.org
 * Chris Goffinetgoffi...@apache.org

   NOW, THEREFORE, BE IT FURTHER RESOLVED, that Jonathan Ellis
   be appointed to the office of Vice President, Apache Cassandra, to
   serve in accordance with and subject to the direction of the
   Board of Directors and the Bylaws of the Foundation until
   death, resignation, retirement, removal or disqualification,
   or until a successor is appointed; and be it further

   RESOLVED, that the initial Apache Cassandra PMC be and hereby is
   tasked with the creation of a set of bylaws intended to
   encourage open development and increased participation in the
   Apache Cassandra Project; and be it further

   RESOLVED, that the Apache Cassandra Project be and hereby
   is tasked with the migration and rationalization of the Apache
   Incubator Cassandra podling; and be it further

   RESOLVED, that all responsibilities pertaining to the Apache
   Incubator Cassandra podling encumbered upon the Apache Incubator
   Project are hereafter discharged.


Graduation

2010-01-07 Thread Eric Evans

Greetings,

It seems hard to believe, but it's been a little over a year now since
Cassandra entered the Apache Incubator. The project has made an
impressive amount of progress in that time, from expanding its ranks of
users and developers, to advancing the code and releasing to get it in
front of users, and more.

http://wiki.apache.org/cassandra/ProjectHealth2009

Criteria for graduation includes:
* recruiting users, developers, committers, and PMC members
* taking responsible and collective action
* being able to disagree on matters in public, and continue to get along
* creating an open, positive, and inclusive atmosphere
* release software according to ASF guidelines

I think we demonstrably meet the requirements; I believe we are ready to
graduate.

What does everyone else thing?


http://incubator.apache.org/projects/cassandra.html

-- 
Eric Evans
eev...@rackspace.com
X. Establish the Apache Cassandra Project

   WHEREAS, the Board of Directors deems it to be in the best
   interests of the Foundation and consistent with the
   Foundation's purpose to establish a Project Management
   Committee charged with the creation and maintenance of
   open-source software related to fully distributed storage of
   structured data, for distribution at no charge to the public.

   NOW, THEREFORE, BE IT RESOLVED, that a Project Management
   Committee (PMC), to be known as the Apache Cassandra Project,
   be and hereby is established pursuant to Bylaws of the
   Foundation; and be it further

   RESOLVED, that the Apache Cassandra Project be and hereby is
   responsible for the creation and maintenance of software
   related to fully distributed storage of structured data; and be
   it further

   RESOLVED, that the office of Vice President, Apache Cassandra be
   and hereby is created, the person holding such office to
   serve at the direction of the Board of Directors as the chair
   of the Apache Cassandra Project, and to have primary responsibility
   for management of the projects within the scope of responsibility
   of the Apache Cassandra Project; and be it further

   RESOLVED, that the persons listed immediately below be and
   hereby are appointed to serve as the initial members of the
   Apache Cassandra Project:

 * Jonathan Ellisjbel...@apache.org
 * Eric Evanseev...@apache.org
 * Jun Rao   jun...@apache.org
 * Chris Goffinetgoffi...@apache.org

   NOW, THEREFORE, BE IT FURTHER RESOLVED, that Jonathan Ellis
   be appointed to the office of Vice President, Apache Cassandra, to
   serve in accordance with and subject to the direction of the
   Board of Directors and the Bylaws of the Foundation until
   death, resignation, retirement, removal or disqualification,
   or until a successor is appointed; and be it further

   RESOLVED, that the initial Apache Cassandra PMC be and hereby is
   tasked with the creation of a set of bylaws intended to
   encourage open development and increased participation in the
   Apache Cassandra Project; and be it further

   RESOLVED, that the Apache Cassandra Project be and hereby
   is tasked with the migration and rationalization of the Apache
   Incubator Cassandra podling; and be it further

   RESOLVED, that all responsibilities pertaining to the Apache
   Incubator Cassandra podling encumbered upon the Apache Incubator
   Project are hereafter discharged.


Re: BUILD FAILURE

2009-12-22 Thread Eric Evans
On Mon, 2009-12-21 at 17:50 -0800, Adam Fisk wrote:
 Any reason you guys do it this way? It's *much* easier to maintain a
 working ant build using maven as the base than the other way around
 (mvn ant:ant). 

I can't speak for anyone but myself ... but:

1. I don't care enough for the special features (the stuff above and
beyond what ant is providing), to the invest the effort in learning it.
2. Maven triggers my gag reflex.


-- 
Eric Evans
eev...@rackspace.com



Re: TimeUUID Partitioning

2009-12-22 Thread Eric Evans
On Tue, 2009-12-22 at 23:31 +0200, Richard Grossman wrote:
 So my question might be stupid but why the timeUUID will distribute
 better ?

It won't, it's the same problem either way.

-- 
Eric Evans
eev...@rackspace.com



RE: read latency creaping up

2009-12-14 Thread Eric Evans
On Sun, 2009-12-13 at 13:18 -0800, Brian Burruss wrote:
 if this isn't a known issue, lemme do some more investigating.  my
 test client becomes more random with reads as time progresses, so
 possibly this is what causes the latency issue.  however, all that
 being said, the performance really becomes bad after a while.

Have a look at the following thread:

http://thread.gmane.org/gmane.comp.db.cassandra.user/1402


-- 
Eric Evans
eev...@rackspace.com



Re: How to check if nodes are added in ring or not?

2009-12-14 Thread Eric Evans
On Mon, 2009-12-14 at 20:29 +0530, Sharief wrote:
 I am installing Cassandra on EC2 instances. My goal is to have nodes
 in different data-centers. I have setup the storage configuration with
 public IP addresses of instances. The problem is:
 
 1) I'm not able to use these public IP address of instances.
 2) Also nodeprobe cluster is removed in 0.5. Can you please suggest
 how to check if nodes are added in ring or not?

Have you checked out Circuit under contrib/? 

https://issues.apache.org/jira/secure/attachment/12421328/circuit.png

-- 
Eric Evans
eev...@rackspace.com



Re: Cassandra access control

2009-12-02 Thread Eric Evans
On Wed, 2009-12-02 at 14:27 -0600, Ted Zlatanov wrote:
 On Wed, 02 Dec 2009 14:14:53 -0600 Eric Evans eev...@rackspace.com wrote: 
 
 EE Did you maybe mean...?  AuthenticationRequest required for the
 EE method (has to be), but the map is optional?
 
 Either way will work.  With your suggestion and allowing for auth
 backends to modify the authentication request:

Let's not do that; as Robin pointed out...

...there's no way to ensure immediate consistency of tokens across all
nodes, it's probably not worth the effort of making Cassandra token
aware, since an application would have to provide fall-back logic to
authenticate with credentials, if the token fails.  So, tokens would
probably just add complexity without much benefit.



-- 
Eric Evans
eev...@rackspace.com



Re: Cassandra access control

2009-12-02 Thread Eric Evans
On Wed, 2009-12-02 at 15:27 -0600, Ted Zlatanov wrote:
 EE Let's not do that; as Robin pointed out...
 
 EE ...there's no way to ensure immediate consistency of tokens
 across all
 EE nodes, it's probably not worth the effort of making Cassandra
 token
 EE aware, since an application would have to provide fall-back logic
 to
 EE authenticate with credentials, if the token fails.  So, tokens
 would
 EE probably just add complexity without much benefit.
 
 I'd still rather pass something back.  As I said, it allows backends
 to
 maintain state when it makes sense to do so and can alleviate the
 problem of redundant auth queries in the future. 

If not for SSO via shared-state between nodes, then for what? Can you
give a tangible example of when it makes sense to do so? Are you sure
this isn't YAGNI? 


-- 
Eric Evans
eev...@rackspace.com



Re: Cassandra access control

2009-12-01 Thread Eric Evans

Sorry for chiming in so late, travel and the thanksgiving holiday got
the better of me.

On Mon, 2009-11-30 at 16:34 -0600, Ted Zlatanov wrote:
 I posted the first attempt (with a default AllowAll backend) as a
 patch:
 
 https://issues.apache.org/jira/browse/CASSANDRA-547
 
 Important changes in the Thrift interface:
 
 # invalid authentication request (user does not exist or credentials
 invalid)
 exception AuthenticationException {
 1: required string why
 }
 
 # invalid authorization request (user does not have access to
 keyspace)
 exception AuthorizationException {
 1: required string why
 }
 
 ...
 
 struct AuthenticationRequest {
 1: required mapstring, string credentials,
 }
 
 service Cassandra {
   # auth methods
   # authentication
   void login(1:required AuthenticationRequest auth_request) throws
 (1:AuthenticationException aux),
   
   # authorization
   void setKeyspace(1:required string keyspace) throws
 (1:AuthorizationException azx),
   string getKeyspace(), 

I'm personally not a big fan of the setKeyspace()/getKeyspace() idea.
Getting rid of the keyspace argument makes sense because the keyspace is
the highest (or lowest), level of the data-model so its implicit that an
application need only talk to one. If removing that argument makes sense
(and I think it does), then we should just do that. Accessing more than
one keyspace is a corner case IMO, but its one that can be accommodated
by opening another connection.

Also, I don't know how others feel, but I'm not comfortable committing
anything that would be a candidate for 0.5 that isn't more fully baked
at this point. So I'd rather see something that is at least minimally
useful targeted for 0.5+1 


-- 
Eric Evans
eev...@rackspace.com



Re: Cassandra access control

2009-12-01 Thread Eric Evans
On Tue, 2009-12-01 at 15:38 -0600, Ted Zlatanov wrote:
 On Tue, 01 Dec 2009 14:23:47 -0600 Eric Evans eev...@rackspace.com wrote: 
 
 EE I'm personally not a big fan of the setKeyspace()/getKeyspace() idea.
 EE Getting rid of the keyspace argument makes sense because the keyspace is
 EE the highest (or lowest), level of the data-model so its implicit that an
 EE application need only talk to one. If removing that argument makes sense
 EE (and I think it does), then we should just do that. Accessing more than
 EE one keyspace is a corner case IMO, but its one that can be accommodated
 EE by opening another connection.
 
 I disagree, why would you want to forbid switching the keyspace?  That's
 turning off a currently working feature.  Also, connections are not
 free, especially across WAN links.

Because it makes a mess out of an API that already confuses people. And
again, I posit that this is a corner case, something that very few
people will actually want to do. We should be optimizing for the common
case.


-- 
Eric Evans
eev...@rackspace.com



Re: Problem with cassdict import

2009-11-23 Thread Eric Evans
On Sat, 2009-11-21 at 12:20 -0600, Saran wrote:
 In [2]: from cassdict.cass import *
 ---
 ImportError   Traceback (most recent call
 last)
 
 /home/sridhar/Desktop/cassdict/ipython console in module()
 
 /home/sridhar/Desktop/cassdict/cassdict/cass.py in module()
  13 import pdb
  14
 --- 15 from cassandra.ttypes import Column, SuperColumn,
 ColumnOrSuperColumn, \
  16 SlicePredicate, SliceRange, ConsistencyLevel, ColumnPath,
 ColumnParent
  17
 
 ImportError: cannot import name ColumnOrSuperColum 

I've never used cassdict, but this looks to me like you either haven't
generated the thrift code for cassandra, or it is not in your
PYTHONPATH.

-- 
Eric Evans
eev...@rackspace.com



Re: Exception in Cassandra-cli tool

2009-11-23 Thread Eric Evans
On Mon, 2009-11-23 at 12:58 +0200, Richard Grossman wrote:
 Using the 0.4.2 last stable not from trunk. I get alway in
 cassandra-cli the
 following exception:
 cassandra show keyspaces
 Exception Cannot read. Remote side has closed. Tried to read 4 bytes,
 but
 only got 0 bytes.
 org.apache.thrift.transport.TTransportException: Cannot read. Remote
 side
 has closed. Tried to read 4 bytes, but only got 0 bytes.
 at
 org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
 at
 org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:314)
 at
 org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:262)
 at
 org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:192)
 at
 org.apache.cassandra.service.Cassandra
 $Client.recv_get_string_list_property(Cassandra.java:532)
 at
 org.apache.cassandra.service.Cassandra
 $Client.get_string_list_property(Cassandra.java:517)
 at
 org.apache.cassandra.cli.CliClient.executeShowTables(CliClient.java:238)
 at
 org.apache.cassandra.cli.CliClient.executeCLIStmt(CliClient.java:72)
 at
 org.apache.cassandra.cli.CliMain.processCLIStmt(CliMain.java:103)
 at org.apache.cassandra.cli.CliMain.main(CliMain.java:143)
 
 any idea what's going on ? 

Maybe you aren't connected?

You can launch the cli with -host and -port options, or you can
(re)connect once started with connect host/port.

-- 
Eric Evans
eev...@rackspace.com



Re: bandwidth limiting Cassandra's replication and access control

2009-11-12 Thread Eric Evans
On Thu, 2009-11-12 at 09:36 -0600, Ted Zlatanov wrote:
 EE Yes. Go to Project-Properties-Builders, click New, and add an
 Ant
 EE Builder (the defaults should be OK). You'll probably want to
 disable
 EE Java Builder while you're there.
 
 Thanks.  I actually like the Java builder too (I have automatic builds
 turned on) but the Ant builder was really simple to set up and use. 

Be careful. Overlapping builders could result in some very confusing
behavior.

-- 
Eric Evans
eev...@rackspace.com



Re: [VOTE] Website

2009-11-12 Thread Eric Evans
On Wed, 2009-11-11 at 16:10 -0600, Eric Evans wrote:
 The current website is quite ugly, and I don't know about you, but I'm
 itching to put the new project logo to use, so I'd like to propose
 publishing http://cassandra.deadcafe.org (to
 http://incubator.apache.org/cassandra). 

The new site is live. Let me know if you spot any problems (or better
yet, submit a ticket :)).

Thanks!

-- 
Eric Evans
eev...@rackspace.com



Re: bandwidth limiting Cassandra's replication and access control

2009-11-11 Thread Eric Evans
On Tue, 2009-11-10 at 16:25 -0600, Ted Zlatanov wrote:
 (BTW, I use Eclipse for Java development, is there a way to run the
 Ant tasks automatically to rebuild the generated source if necessary?
 It works fine otherwise.) 

Yes. Go to Project-Properties-Builders, click New, and add an Ant
Builder (the defaults should be OK). You'll probably want to disable
Java Builder while you're there.

-- 
Eric Evans
eev...@rackspace.com



[VOTE] Website

2009-11-11 Thread Eric Evans

The current website is quite ugly, and I don't know about you, but I'm
itching to put the new project logo to use, so I'd like to propose
publishing http://cassandra.deadcafe.org (to
http://incubator.apache.org/cassandra).

This is a slightly tweaked version of Daniel Lundin's work from
CASSANDRA-231[1] (thanks Daniel!), and the content is nearly identical
to what is on the current site.

I do not consider this to be the final word on the matter, I think there
is still much to be done. For example, the logo w/text is something I
cobbled together in Gimp and should be considered a placeholder. Still,
it's much better than what we currently have and we can incrementally
improve it as we go forward.


[1] https://issues.apache.org/jira/browse/CASSANDRA-231

-- 
Eric Evans
eev...@rackspace.com



Apt repository move

2009-10-23 Thread Eric Evans

Just a heads up:

The debian packaging repository has moved; if you install from package
you'll need to update sources.list to:

deb http://www.apache.org/dist/incubator/cassandra/debian unstable main
deb-src http://www.apache.org/dist/incubator/cassandra/debian unstable main

Sorry for the inconvenience.

-- 
Eric Evans
eev...@rackspace.com



Re: maven reository

2009-10-07 Thread Eric Evans
On Wed, 2009-10-07 at 14:57 -0700, Todd English wrote:
 We're looking at the website and can't find any definitive working
 example of where to get the Cassandra libraries for java from Maven.
 Is this available? 

No, it's not, sorry. I'm not sure this is even practical since we have
dependencies that can't be satisfied through maven repositories either
(thrift for example). 

-- 
Eric Evans
eev...@rackspace.com



Re: [VOTE] Project Logo

2009-10-05 Thread Eric Evans
On Mon, 2009-10-05 at 15:06 -0700, Vijay wrote:
 +1
 Regards,
 /VJ

What are you +1ing here? The entire set as ranked by Igor?

 On Mon, Oct 5, 2009 at 10:51 AM, Igor Katkov ikat...@gmail.com
 wrote:
 ~~{ Ballot }~~
  [ 11 ] 2http://99designs.com/contests/28940/entries/002
  [ 8 ] 30   http://99designs.com/contests/28940/entries/030
  [ 7 ] 32   http://99designs.com/contests/28940/entries/032
  [ 6 ] 33   http://99designs.com/contests/28940/entries/033
  [ 2 ] 90   http://99designs.com/contests/28940/entries/090
  [ 3 ] 173  http://99designs.com/contests/28940/entries/173
  [ 10 ] 175  http://99designs.com/contests/28940/entries/175
  [ 9 ] 291  http://99designs.com/contests/28940/entries/291
  [ 5 ] 369  http://99designs.com/contests/28940/entries/369
  [ 1 ] 478  http://99designs.com/contests/28940/entries/478
  [12 ] 576  http://99designs.com/contests/28940/entries/576
  [ 4 ] 598  http://99designs.com/contests/28940/entries/598
  [  ] NOTA
 ~~{ Ballot }~~


-- 
Eric Evans
eev...@rackspace.com



Re: [VOTE] Project Logo

2009-10-05 Thread Eric Evans
On Mon, 2009-10-05 at 21:49 -0300, Nico Steppat wrote:
 ~~{ Ballot }~~
 [6] 2 http://99designs.com/contests/28940/entries/002
 [4] 30 http://99designs.com/contests/28940/entries/030
 [5] 32 http://99designs.com/contests/28940/entries/032
 [1] 33 http://99designs.com/contests/28940/entries/033
 [2] 90 http://99designs.com/contests/28940/entries/090
 [3] 173 http://99designs.com/contests/28940/entries/173
 [4] 175 http://99designs.com/contests/28940/entries/175
 [9] 291 http://99designs.com/contests/28940/entries/291
 [7] 369 http://99designs.com/contests/28940/entries/369
 [4] 478 http://99designs.com/contests/28940/entries/478
 [8] 576 http://99designs.com/contests/28940/entries/576
 [10] 598 http://99designs.com/contests/28940/entries/598
 ~~{ Ballot }~~

You have three entries rated 4; can you please resubmit with unique
rankings?

-- 
Eric Evans
eev...@rackspace.com



Re: Logo Design Contest

2009-10-02 Thread Eric Evans
On Wed, 2009-09-30 at 16:13 -0500, Eric Evans wrote:
 On Wed, 2009-09-23 at 11:39 -0500, Eric Evans wrote:
  A logo design contest is now underway at 99designs.com.
  
  http://99designs.com/contests/28940
  
  The contest brief can be found here:
  http://99designs.com/contests/28940/brief. If you're worried that it's
  missing something critical (or includes something it shouldn't), leave a
  comment on the contest page and/or let me know right away.
 
 The submission part of the 99designs.com contest is now over; we ended
 up with a whopping 618 submissions (yikes). Now comes the hard part,
 picking a winner. :)
 
 Fortunately, a number of people have been following the contest and
 providing feedback in the comments area or in #cassandra, and as a
 result we've got the list weeded down to the best 48 designs[0].
 However, since it's probably not practical to run a vote with more than
 say 10 or 15 options, the final ballot will likely be limited to those
 entries rated 4 or 5 stars[1].
 
 I'll wait a few days before starting up a vote to give everyone a chance
 to weigh-in on what should make the final ballot. Your opinion matters,
 so take a look at the contest page and either send me your suggestions,
 or bring them up here on the list.

Does this mean that everyone is happy with the 11 candidate logos?
http://99designs.com/contests/28940?orderby=timesubmittedfilterby=highrating

We'll need to start a vote soon (there are time limits imposed by
99designs for awarding the payout).


-- 
Eric Evans
eev...@rackspace.com



Re: Logo Design Contest

2009-09-30 Thread Eric Evans
On Wed, 2009-09-23 at 11:39 -0500, Eric Evans wrote:
 A logo design contest is now underway at 99designs.com.
 
 http://99designs.com/contests/28940
 
 The contest brief can be found here:
 http://99designs.com/contests/28940/brief. If you're worried that it's
 missing something critical (or includes something it shouldn't), leave a
 comment on the contest page and/or let me know right away.

The submission part of the 99designs.com contest is now over; we ended
up with a whopping 618 submissions (yikes). Now comes the hard part,
picking a winner. :)

Fortunately, a number of people have been following the contest and
providing feedback in the comments area or in #cassandra, and as a
result we've got the list weeded down to the best 48 designs[0].
However, since it's probably not practical to run a vote with more than
say 10 or 15 options, the final ballot will likely be limited to those
entries rated 4 or 5 stars[1].

I'll wait a few days before starting up a vote to give everyone a chance
to weigh-in on what should make the final ballot. Your opinion matters,
so take a look at the contest page and either send me your suggestions,
or bring them up here on the list.

Thanks,

[0]
http://99designs.com/contests/28940?orderby=timesubmittedfilterby=noteliminated
[1]
http://99designs.com/contests/28940?orderby=timesubmittedfilterby=highrating

-- 
Eric Evans
eev...@rackspace.com



Re: triggers in cassandra

2009-09-25 Thread Eric Evans
On Fri, 2009-09-25 at 02:17 -0700, Hector Yuen wrote:
 I am just starting to use Cassandra, and I was wondering if it is
 possible
 to use triggers/ callbacks on columns so that they get notified when
 there
 is a change.
 
 Is there such functionality?

No, there isn't. Someone was working on this at some point, but it
wasn't going anywhere so it got removed
(http://svn.apache.org/viewvc?view=revrevision=806267).

-- 
Eric Evans
eev...@rackspace.com



Re: Got Logo?

2009-09-21 Thread Eric Evans

I've watched http://issues.apache.org/jira/browse/CASSANDRA-231 evolve
and can't see anything approaching consensus. I can think of two reasons
for this, 1) it is subjective and tastes vary, and 2) there aren't any
logos that strike a chord in the community. I'm betting that in fact
it's a bit of both, so...

I propose we widen the field a bit and run a contest on 99designs.com. I
am volunteering to setup and administer the contest, and Rackspace has
graciously offered to front the cost.

Once we've widened the field a bit, I propose we call a vote, but
instead of the typical show of +1s, we use the condorcet method
instead. 

The condorcet voting system is ideal for this sort of thing because it
takes all of your preferences into account, not just the choice you
prefer most. Condorcet is good at finding the best compromise; it's
possible to have a winner that is no ones first choice, but is the least
disagreeable to the majority. Wikipedia has a decent page on condorcet
voting (http://en.wikipedia.org/wiki/Condorcet_method), and there is at
least one online application that we could use
(http://www.cs.cornell.edu/andru/civs.html).

What does everyone think?

-- 
Eric Evans
eev...@rackspace.com



Debian apt repo

2009-09-21 Thread Eric Evans

The Debian package repo is moving. The new sources are:

deb http://www.apache.org/dist/incubator/cassandra/debian cassandra/
deb-src http://www.apache.org/dist/incubator/cassandra/debian cassandra/

The repo on people.apache.org/~eevans still works and will continue to
for a week or so to give everyone a little time.

Sorry for the inconvenience; let me know if you encounter any problems.

-- 
Eric Evans
eev...@rackspace.com



Re: Configuring multiple nodes

2009-09-20 Thread Eric Evans
On Sun, 2009-09-20 at 09:42 +0930, Chris Were wrote:

 *sigh* I should have tried turning iptables off -- I can now see both
 nodes. Thanks :)
 
 
 That being said, I'm no expert in iptables rules. This is what I added
 for cassandra, what rules do others use?
 
 
 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 9160
 -j ACCEPT
 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 7000
 -j ACCEPT
 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 7001
 -j ACCEPT
 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 
 -j ACCEPT

Assuming that you are using defaults, and you want to use nodeprobe (or
any other jmx client) remotely then you'll also need to open tcp/8080.

-- 
Eric Evans
eev...@rackspace.com



Re: Newbe´s question

2009-08-26 Thread Eric Evans
On Thu, 2009-08-27 at 09:57 +1000, Ian Holsman wrote:
 would it be worthwhile to start including these clients in the core  
 codebase? in some kind of 'client' or 'contrib' directory?

IMO, it would be better for the clients and those working on them to
continue managing them as separate projects outside of Cassandra's
code-base, (flexibility on choice of committers, vcs/tools, release
cycles, licensing, etc).

 maybe even mentioning the 'popular' clients that people use in the  
 readme (with links to them) would be good.

Yeah, this is probably a good idea. Either README.txt or a
(prominent )page on the wiki (which I guess would be easier to keep to
date).

-- 
Eric Evans
eev...@rackspace.com



Re: thrift+cassandra on RedHat 5...

2009-07-22 Thread Eric Evans
On Wed, 2009-07-22 at 06:57 -0700, John Doe wrote:
 I need help with installing thrift-796660 and cassandra-0.3.0 on RedHat 5.
 I don't have much experience with java installs...
 I install everything in $PREFIX.
 
 # Thrift #

[ ... ]

 Then make fails on the test directory...
 If I remove test from the subdirs in the makefile, I get no errors...

If you are having issues getting Thrift installed, your best bet would
be to post to one of their lists
(http://incubator.apache.org/thrift/mailing/). They're better equipped
to help you with this sort of problem.

That said, if you removed the tests and got a complete build, you
*might* be OK (depending on which tests were failing and why), and the
Cassandra start-up errors below are *not* related to Thrift.

[ ... ]

 [cassandra]$ ./bin/cassandra
 Listening for transport dt_socket at address: 
 ERROR - Fatal exception in thread Thread[main,5,main]
 java.lang.AssertionError: 0:0:0:0:0:0:0:1
 at org.apache.cassandra.net.EndPoint.init(EndPoint.java:66)
 at org.apache.cassandra.net.EndPoint.clinit(EndPoint.java:51)
 at 
 org.apache.cassandra.service.StorageService.start(StorageService.java:292)
 at 
 org.apache.cassandra.service.CassandraServer.start(CassandraServer.java:81)
 at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:66)
 at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:120)

The assertion that created this exception is taking what is assumed to
be the main address for your node (should be the one that maps to the
hostname), and asserting that it is in the form of an IPv4 address.

Does this machine use an IPv6 interface? If so, that is probably not
going to work. If you haven't set it up for IPv6, then we need to figure
out how an InetAddress.getLocalHost() returned 0:0:0:0:0:0:0:1.  

-- 
Eric Evans
eev...@rackspace.com



Re: A few issues with the latest code

2009-06-28 Thread Eric Evans
On Sun, 2009-06-28 at 15:58 -0400, Ivan Chang wrote:
 Jonathan,
 
 I have checked out the latest version of Cassandra and noticed a few
 things not working.

[ ... ]

 2. http://192.168.216.162:7002 NOT working, older versions of code is
 working

The web ui was recently removed. Use bin/nodeprobe instead (see
http://wiki.apache.org/cassandra/NodeProbe). There is a note to this
effect in the CHANGES.txt file.

 3. Smoke test through cassandra-cli is successful, but the syntax get
 Table1.Standard1['jsmith'] isn't working, the system.log indicated the
 error
 
 DEBUG [pool-1-thread-1] 2009-06-28 15:46:25,621 CqlDriver.java (line
 40) Compiling CQL query ...
 DEBUG [pool-1-thread-1] 2009-06-28 15:46:25,621 SemanticPhase.java
 (line 67) AST: (A_GET (A_COLUMN_ACCESS Table1 Standard1 'j
 smith'))
 DEBUG [pool-1-thread-1] 2009-06-28 15:46:25,621 CqlDriver.java (line
 44) Executing CQL query ...
 DEBUG [pool-1-thread-1] 2009-06-28 15:46:25,621 StorageProxy.java
 (line 593) weakreadlocal reading SliceFromReadCommand(table
 ='Table1', key='jsmith', columnFamily='Standard1', isAscending='true',
 count='2147483647')
 ERROR [pool-1-thread-1] 2009-06-28 15:46:25,621
 ColumnRangeQueryRSD.java (line 105) Exception was generated at :
 06/28/2009 1
 5:46:25 on thread pool-1-thread-1
 1
 java.lang.ArrayIndexOutOfBoundsException: 1
 at org.apache.cassandra.db.Table.getSliceFrom(Table.java:613)
 at
 org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:55)
 at
 org.apache.cassandra.service.StorageProxy.weakReadLocal(StorageProxy.java:600)
 at
 org.apache.cassandra.service.StorageProxy.readProtocol(StorageProxy.java:303)
 at
 org.apache.cassandra.cql.common.ColumnRangeQueryRSD.getRows(ColumnRangeQueryRSD.java:101)
 at
 org.apache.cassandra.cql.common.QueryPlan.execute(QueryPlan.java:41)
 at
 org.apache.cassandra.cql.driver.CqlDriver.executeQuery(CqlDriver.java:45)
 at
 org.apache.cassandra.service.CassandraServer.executeQuery(CassandraServer.java:513)
 at org.apache.cassandra.service.Cassandra$Processor
 $executeQuery.process(Cassandra.java:1321)
 at org.apache.cassandra.service.Cassandra
 $Processor.process(Cassandra.java:837)
 at org.apache.thrift.server.TThreadPoolServer
 $WorkerProcess.run(TThreadPoolServer.java:252)
 at java.util.concurrent.ThreadPoolExecutor
 $Worker.runTask(ThreadPoolExecutor.java:886)
 at java.util.concurrent.ThreadPoolExecutor
 $Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:619)

As Michael pointed out in another mail, this has been reported in
https://issues.apache.org/jira/browse/CASSANDRA-260. Expect to see this
fixed soon.

-- 
Eric Evans
eev...@rackspace.com