moving to framed transport (client breakage inevitable)

2009-06-19 Thread Eric Evans

As explained in CASSANDRA-241[1], the daemon process, which is currently
using a non-framed thrift transport is incompatible with (some?)
non-blocking client implementations. The solution is to standardize on a
framed transport which is compatible with all client implementations.

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

Unfortunately this is going to break everyone's client apps. Fortunately
the fix is trivial.

For Java clients that look something like ...

socket = new TSocket(hostname, port);
TProtocol protocol = new TBinaryProtocol(socket);
client = new Cassandra.Client(protocol);

... changing them to look like ...


socket = new TSocket(hostname, port);
TTransport transport = new TFramedTransport(socket)
TProtocol protocol = new TBinaryProtocol(transport);
client = new Cassandra.Client(protocol);

... should do the trick.

For a Python client that looks something like ...

socket = TSocket.TSocket(host, port)
transport = TTransport.TBufferedTransport(socket)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = Cassandra.Client(protocol)

... change it to look like ...

socket = TSocket.TSocket(host, port)
transport = TTransport.TFramedTransport(socket)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = Cassandra.Client(protocol)


Unless confronted with compelling arguments, Jonathan has agreed to
commit this change on Monday, so speak soon or forever hold your
peace. :)

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



Re: one server or more servers?

2009-07-16 Thread Eric Evans
On Wed, 2009-07-15 at 20:51 -0700, mobiledream...@gmail.com wrote:
> 
> cassandra]$ bin/nodeprobe -host 127.0.0.1 ring
> DEBUG - Loading settings from bin/../conf/storage-conf.xml
> Token(14446472026035954629218078815970965332)   1 0.0.0.0|<--|
> 
> 
> none of the servers r picking up the ring -
> all 4 servers are on the seeds!
> 
> how do i make them pick the other 4 in the ring should listen be made
> blank
> right now listen addres is 0.0.0.0
> 0.0.0.0

You can't do this, it won't work. See
http://wiki.apache.org/cassandra/FAQ for the reason why.

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



Re: AttributeError: 'str' object has no attribute 'write'

2009-07-20 Thread Eric Evans
On Mon, 2009-07-20 at 09:46 +1000, Ian Holsman wrote:
> shouldn't regeneration of the interface be part of the build process?

As a convenience, there is an ant target called "gen-thrift-py", but
it's left to users to run since we are not checking generated python
into subversion.

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



Announcing 0.3.0

2009-07-20 Thread Eric Evans
It is with great pleasure that I announce the very first release of
Apache Cassandra, 0.3.0[1]

A projects first release is a significant milestone and one that our
burgeoning community should be proud of. Many thanks to everyone that
submitted patches and bug reports, helped with testing, documented,
organized, or just asked the important questions.

Without further ado:

The official download:
http://www.apache.org/dyn/closer.cgi/incubator/cassandra/0.3.0/apache-cassandra-incubating-0.3.0-bin.tar.gz
SVN Tag:
https://svn.apache.org/repos/asf/incubator/cassandra/tags/cassandra-0.3.0-final/


[1] DISCLAIMER: Apache Cassandra is an effort undergoing incubation at
The ASF, sponsored by the Apache Incubator Project Management Committee
(PMC).

Incubation is required of all newly accepted projects until a further
review indicates that the infrastructure, communications, and decision
making process have stabilized in a manner consistent with other
successful ASF projects.

While incubation status is not necessarily a reflection of the
completeness or stability of the code, it does indicate that the project
has yet to be fully endorsed by the ASF.

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



Re: keys and column names cannot be utf-8

2009-07-21 Thread Eric Evans
On Tue, 2009-07-21 at 09:18 -0700, mobiledream...@gmail.com wrote:
> Is there any timeline on when commit 185 will be done as the utf8
> error still exists

185 was committed yesterday.

https://issues.apache.org/jira/browse/CASSANDRA-185

-- 
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.(EndPoint.java:66)
> at org.apache.cassandra.net.EndPoint.(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



Cassandra package for Debian

2009-07-28 Thread Eric Evans

Debconf[1] seemed like an appropriate time and place for putting
together a package of the recent cassandra release, so I did. :)

You can install using the following sources lines:

deb http://people.apache.org/~eevans/debian cassandra/
deb-src http://people.apache.org/~eevans/debian cassandra/

This Works For Me and should install on unstable, testing, and stable
but it's preliminary and not well tested. If you encounter problems,
please let me know.


[1] http://debconf9.debconf.org

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



Re: Cassandra package for Debian

2009-07-28 Thread Eric Evans
On Tue, 2009-07-28 at 18:54 +0100, Johan Oskarsson wrote:
> It seems the initd script points JAVA_HOME to openjdk, should the
> package not depend on the openjdk package?

The actual dependency is openjdk-6-jre-headless (>= 6b11) |
java6-runtime, where java6-runtime is a virtual package provided by a
number of JVMs. It's listed that way because openjdk is the only option
which is included in main; it's the only dependency guaranteed to be
satisfiable.

Basically, if you want something else, you need to first install
something that Provides java6-runtime (sun-java6-jdk for example).

> I tried it out on Ubuntu with sun-java6-jdk installed which didn't
> work
> out of the box. Not a major problem though.

Right JAVA_HOME will have to be configured whenever you're using
anything other than the openjdk package. Configuring it is as easy as
defining JAVA_HOME in /etc/default/cassandra, but I should have at least
included a commented entry to make that more clear. I'll make sure to
get that fixed in the next upload. Thanks for bringing it to my
attention.

By the way, it's worth mentioning that I use openjdk for development and
testing of cassandra, and it works like a champ! :)

-- 
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: Newbe´s question

2009-08-26 Thread Eric Evans
On Wed, 2009-08-26 at 17:33 -0700, Chris Goffinet wrote:
> Don't know what you're talking about, I am still rolling with CVS.

Oh, what a twisted sense of humor you have Chris.

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



Re: Got Logo?

2009-09-17 Thread Eric Evans
On Wed, 2009-09-16 at 17:10 -0700, David Pollak wrote:
> For Lift, we ran a contest on 99designs.com  It worked out well for
> us.

Out of curiosity, how did you go about this? From a quick look at the
site it seems that you offer a bounty to the winning design. Is that
right, did you put up a bounty? If so, how much?

-- 
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: Configuring multiple nodes

2009-09-21 Thread Eric Evans
On Sun, 2009-09-20 at 20:46 -0700, Anthony Molinaro wrote:
> One other gotcha I've come across trying to use jmx was on machines
> with multiple interfaces.  The rmi server doesn't always bind to the
> one you want.  I add this to my JVM_OPTS in cassandra.in.sh

Interesting. It always binds to all interfaces for me. If that's not
what others see, than I wonder what determines that behavior.

-- 
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: Debian apt repo

2009-09-22 Thread Eric Evans
On Tue, 2009-09-22 at 09:48 +0200, Marcus Better wrote:
> Any plan for getting this into Debian proper?

Eventually, sure.

> Is it too early?

Yes, I think so.

> If some minor cleanup is needed, I might be able to help.

The first order of business will be to make sure that all of the
dependencies are packaged, and of those, thrift is the biggest
undertaking. I've filed an ITP[0] for that, and made some progress[1],
but there is still much to do.

Help is appreciated.

[0] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=524135
[1] http://git.debian.org/?p=users/eevans/thrift.git

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



Logo Design Contest

2009-09-23 Thread Eric Evans

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.

I encourage everyone to bookmark the page, to check it frequently, and
be sure to leave plenty of feedback as designs are submitted!

Thanks,

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



Your Feedback Needed (was: Logo Design Contest)

2009-09-24 Thread Eric Evans

We're one day into the 99designs.com logo contest and there are already
some interesting proposals (8 as of this moment). 

Feedback on the designs is an important part of this process though so
please don't wait until the last minute, head over to
http://99designs.com/contests/28940, have a look at the submissions, and
leave some comments.

Thanks!

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



Re: Your Feedback Needed (was: Logo Design Contest)

2009-09-24 Thread Eric Evans
On Thu, 2009-09-24 at 15:29 -0700, Sal Fuentes wrote:
> Would it not be fair to somehow include the existing logo designs
> in http://issues.apache.org/jira/browse/CASSANDRA-231 ?

Yes, it would, and I left a comment to that effect[1] earlier today.

[1]
http://issues.apache.org/jira/browse/CASSANDRA-231?focusedCommentId=12759241&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_12759241

-- 
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=rev&revision=806267).

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



Announcement: 0.4.0

2009-09-26 Thread Eric Evans

Ladies and gentlemen, I give you Cassandra 0.4.0.

It's hard to imagine that it has only been 2 months since our very first
release[1]; an impressive amount of progress has been made. For example:

* Nodes can now scale to billions of keys instead of millions.
* There is support for multiple keyspaces (formerly known as tables).
* You can now create snapshots
* A new bootstrap feature for adding nodes to a running cluster
* A new multiget API
* Numerous improvements to the Thrift API

And many, many, more. In fact, don't take my word for it, check out the
changelog[2], or the 176 closed Jira issues (176!)[3].

Many thanks to all those that contributed patches, reviewed, tested,
documented, or counseled. 

[1]
http://www.mail-archive.com/cassandra-user@incubator.apache.org/msg00289.html
[2]
https://svn.apache.org/repos/asf/incubator/cassandra/tags/cassandra-0.4.0-final/CHANGES.txt
[3]
https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&&pid=12310865&fixfor=12313862&resolution=1&sorter/field=issuekey&sorter/order=DESC


-- 
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=timesubmitted&filterby=noteliminated
[1]
http://99designs.com/contests/28940?orderby=timesubmitted&filterby=highrating

-- 
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=timesubmitted&filterby=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



[VOTE] Project Logo

2009-10-05 Thread Eric Evans

Alrighty then. Time to vote on a project logo.

The ballot is made up of all the finalist logos with a rating of either
4 or 5 stars[0], and "None of the Above" (just in case you want to
express your disgust with one or more of the choices).

To vote, reply to the list and fill in the boxes of the ballot below.
Rank each choice with a number between 1 and 13 (where 1 is your most
favorite, and 13 is your least). It is not strictly necessary to rank
every choice (though it is recommended). Skipping numbers is also OK,
but it has no bearing on the weight of your rankings, (i.e. 2,5,10 is
the equivalent of 1,2,3).

~~{ Ballot }~~
 [  ] 2http://99designs.com/contests/28940/entries/002
 [  ] 30   http://99designs.com/contests/28940/entries/030
 [  ] 32   http://99designs.com/contests/28940/entries/032
 [  ] 33   http://99designs.com/contests/28940/entries/033
 [  ] 90   http://99designs.com/contests/28940/entries/090
 [  ] 173  http://99designs.com/contests/28940/entries/173
 [  ] 175  http://99designs.com/contests/28940/entries/175
 [  ] 291  http://99designs.com/contests/28940/entries/291
 [  ] 369  http://99designs.com/contests/28940/entries/369
 [  ] 478  http://99designs.com/contests/28940/entries/478
 [  ] 576  http://99designs.com/contests/28940/entries/576
 [  ] 598  http://99designs.com/contests/28940/entries/598
 [  ] NOTA
~~{ Ballot }~~

The vote will remain open until Thursday at 22:00 UTC. I will collect
the votes from the list and use OpenSTV's condorcet method to calculate
the pairwise rankings and announce a winner (no later than Friday
morning).

May the best logo win!

[0]
http://99designs.com/contests/28940?orderby=timesubmitted&filterby=highrating
[1] http://www.openstv.org


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



Re: [VOTE] Project Logo

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

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



Re: [VOTE] Project Logo

2009-10-05 Thread Eric Evans
On Mon, 2009-10-05 at 15:18 -0400, Tim Estes wrote:
> +1

Are you indicating that you want to vote with rankings identical to
Jonathan, or that you agree that his vote should count 2 or more times,
or...?

> On Oct 5, 2009, at 3:11 PM, Jonathan Mischo wrote:
> 
> > Here's my ballot...since I'm in Chicago, you should know that it
> > counts twice, three times if my neighbor has died (I'll check on
> > that and get back to you...)
> > 
> > > 
> > > ~~{ Ballot }~~
> > > [ 12 ] 2http://99designs.com/contests/28940/entries/002
> > > [ 9 ] 30   http://99designs.com/contests/28940/entries/030
> > > [ 11 ] 32   http://99designs.com/contests/28940/entries/032
> > > [ 3 ] 33   http://99designs.com/contests/28940/entries/033
> > > [ 2 ] 90   http://99designs.com/contests/28940/entries/090
> > > [ 1 ] 173  http://99designs.com/contests/28940/entries/173
> > > [ 4 ] 175  http://99designs.com/contests/28940/entries/175
> > > [ 5 ] 291  http://99designs.com/contests/28940/entries/291
> > > [ 6 ] 369  http://99designs.com/contests/28940/entries/369
> > > [ 8 ] 478  http://99designs.com/contests/28940/entries/478
> > > [ 10 ] 576  http://99designs.com/contests/28940/entries/576
> > > [ 7 ] 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 15:06 -0700, Vijay wrote:
> +1
> Regards,
> 

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

> On Mon, Oct 5, 2009 at 10:51 AM, Igor Katkov 
> 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: 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



[CLOSED][VOTE] Project Logo

2009-10-08 Thread Eric Evans

The voting period is now up and the detailed results can be found below,
but for those that would rather cut to the chase, the winning logo is:

http://99designs.com/contests/28940/entries/598



OpenSTV version 1.5 (http://www.OpenSTV.org/)

Loading ballots from file ballots.txt.
Ballot file contains 13 candidates and 32 ballots.
No candidates have withdrawn.
Ballot file contains 32 non-empty ballots.

Counting votes for Ballot data from file ballots.txt using Condorcet
Voting.
13 candidates running for 1 seat.
Using Schwartz Sequential Dropping for the completion method.

Pairwise Comparison Matrix:

|  30|  33| 598| 369| 576|   2|NOTA|  32|  90| 175| 173| 478| 291
+++++++++++++
  30|   0|  12|   8|  11|  17|  16|  23|  13|  11|  12|  11|  13|  12
  33|  19|   0|  15|  17|  21|  18|  29|  18|  13|  18|  18|  22|  19
 598|  16|  15|   0|  11|  18|  16|  21|  15|  14|  15|  14|  17|  13
 369|  14|  14|  13|   0|  21|  14|  23|  15|  14|  16|  14|  16|  14
 576|   8|   9|   5|   4|   0|   9|  22|   6|   7|   8|   8|   6|   7
   2|   7|  13|   7|  10|  15|   0|  22|  11|  11|  11|  10|  13|  12
NOTA|   1|   1|   1|   1|   1|   1|   0|   1|   1|   1|   1|   1|   1
  32|  13|  13|  11|  13|  20|  15|  25|   0|  11|  15|  15|  17|  16
  90|  17|  17|  13|  15|  20|  17|  26|  17|   0|  20|  18|  19|  15
 175|  14|  12|   9|  10|  16|  14|  23|  11|   7|   0|  11|  15|  11
 173|  14|  12|  10|  12|  16|  15|  23|  11|   9|  14|   0|  12|  13
 478|  11|   8|   6|   8|  18|  10|  22|  10|   8|  10|  13|   0|   8
 291|  13|  11|  10|  10|  17|  12|  22|  11|  13|  14|  12|  16|   0

Smith Set: 33, 598, 369, and 90

Using Schwartz sequential dropping to choose the winner.
Matrix of beatpath magnitudes:

|  30|  33| 598| 369| 576|   2|NOTA|  32|  90| 175| 173| 478| 291
+++++++++++++
  30|  13|   0|   0|   0|  17|  16|  23|   0|   0|  13|  13|  13|  13
  33|  19|  13|  13|  17|  21|  18|  29|  18|  13|  18|  18|  22|  19
 598|  16|  14|  13|  14|  18|  16|  21|  15|  14|  15|  15|  17|  15
 369|  14|  13|  13|  13|  21|  15|  23|  15|  13|  16|  15|  16|  15
 576|   0|   0|   0|   0|   0|   0|  22|   0|   0|   0|   0|   0|   0
   2|  13|   0|   0|   0|  15|  13|  22|   0|   0|  13|  13|  13|  13
NOTA|   0|   0|   0|   0|   0|   0|   0|   0|   0|   0|   0|   0|   0
  32|  14|   0|   0|   0|  20|  15|  25|   0|   0|  15|  15|  17|  16
  90|  17|  17|  13|  17|  20|  17|  26|  17|  13|  20|  18|  19|  17
 175|  14|   0|   0|   0|  16|  14|  23|   0|   0|  13|  13|  15|  13
 173|  14|   0|   0|   0|  16|  15|  23|   0|   0|  14|  13|  14|  13
 478|  13|   0|   0|   0|  18|  13|  22|   0|   0|  13|  13|  13|  13
 291|  14|   0|   0|   0|  17|  14|  22|   0|   0|  14|  13|  16|  13


Winner is 598.

-- 
Eric Evans
eev...@rackspace.com
<>
OPENSTV_DIR = OpenSTV-1.5

all:

ballots.txt:
	sed -s "s/ # .\+//g" ballots.raw > ballots.txt

calculate: ballots.txt
	cd $(OPENSTV_DIR) && ./runElection.py Condorcet ../ballots.txt

clean:
	rm -f ballots.txt


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: 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



Re: [VOTE] Website

2009-11-11 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). 

+1

-- 
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: configuration file comments on wiki

2009-11-13 Thread Eric Evans
Dropping -dev (and hoping it sticks)...

On Fri, 2009-11-13 at 10:12 -0800, kevin wrote:
> it will be great to have it in just one place. if it is in two places it is
> going to be hard to figure out which is latest and correct.

Actually, I think it would be great to have it in both places, the
problem stems from each being updated independently (and yes, one of
them will almost certainly suffer from lack of updates). 

I don't suppose something like Doxygen could be made to work with xml?

> On Fri, Nov 13, 2009 at 8:30 AM, TuxRacer69  wrote:
> 
> > Hi Jonathan,
> >
> > That's me. I understand that it can be painful to update.
> >
> > However I would say that a project of the size and popularity of Cassandra
> > deserves a dedicated configuration documentation. Also the Wiki format
> > allows you to make links to other pages which obviously becomes
> > non-clickable when translated to XML. It allows you to add pictures too
> > which I plan to do to link the config parameters to an architecture
> > documentation (wiki).
> >
> > As per porting the wiki to 0.5, I volunteer to update the page (or create a
> > 0.5 version of that page);
> >
> > what do you think?
> >
> > Alex
> >
> >
> >
> > Jonathan Ellis wrote:
> >
> >> Hi,
> >>
> >> Someone has been industriously improving the documentation of the
> >> config file settings on the wiki.  I'd rather move that into the
> >> config file itself though rather than have it get out of date when we
> >> update things.  (E.g. moving from 0.4 to 0.5 RSN.)
> >>
> >> I'd appreciate it if you could submit a patch for the xml instead.

-- 
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/ in ()
> 
> /home/sridhar/Desktop/cassdict/cassdict/cass.py in ()
>  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: cassandra over hbase

2009-11-23 Thread Eric Evans
On Sat, 2009-11-21 at 15:50 -0800, Adam Fisk wrote:
> I'm trying to navigate the rapidly shifting tides in NoSQL land, and
> I'm particularly struggling with using Cassandra versus HBase. They
> functionally seem quite similar to me even if the implementations are
> quite different.
> 
> What would people on the list say are the primary reasons to use
> Cassandra over HBase? HA and speed are very important for my
> application. HBase's tighter integration with Hadoop and therefore
> easier reporting and analytics using M/R appeals to me, but I
> intuitively prefer the Cassandra community and generally like the
> architectural approach. HBase's Hadoop foundations also strike me as
> both an advantage and a disadvantage, as it seems to tie their hands a
> bit.

For myself it would be:

* The flexibility to choose between consistency and availability.
* No single points of failure, (every node is identical).
* Linear scalability (i.e 20 nodes gives you 2x what 10 does, etc).

There are some comparisons out there, some more reasonable than others,
I recommend this one:

http://www.rackspacecloud.com/blog/2009/11/09/nosql-ecosystem/

-- 
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 /".

-- 
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 map 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  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: Cassandra access control

2009-12-02 Thread Eric Evans
On Wed, 2009-12-02 at 08:52 -0600, Ted Zlatanov wrote:
> On Tue, 01 Dec 2009 16:58:50 -0600 Eric Evans 
> wrote: 
> 
> EE> On Tue, 2009-12-01 at 15:38 -0600, Ted Zlatanov wrote:
> >> 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.
> 
> EE> Because it makes a mess out of an API that already confuses
> people. And
> EE> again, I posit that this is a corner case, something that very few
> EE> people will actually want to do. We should be optimizing for the
> common
> EE> case.
> 
> On Tue, 1 Dec 2009 17:13:24 -0600 Jonathan Ellis 
> wrote: 
> 
> JE> It's a currently working feature that (a) only exists in the first
> JE> place because it was less bad than postponing 0.4 until we could
> add
> JE> something like this auth feature, and (b) is of entirely
> theoretical
> JE> benefit in the sense that nobody who wants to keep it actually has
> an
> JE> app using it, to the best of my knowledge.
> 
> JE> Let's correct our error, and only add functionality that we know
> is
> JE> really needed -- and even then, only if the benefit outweighs the
> JE> complexity price -- rather than waving our hands and saying "maybe
> JE> someone will need it, someday."  That way leads to clutter and
> bloat.
> 
> OK.  So what should the API be?  Just one method, as Robin suggested?
> 
> void login( Map credentials, String keyspace ) 
>  throws AuthenticationException, AuthorizationException

I'm thinking...

void login(1:required string keyspace, 2:optional map
authentication) throws AuthenticationException, AuthorizationException

You're always going to want the keyspace supplied, but depending on how
the cluster is configured, you may not need anything else (so make the
map the second argument, and make it optional).

> This means the keyspace parameter will be removed from all the current
> Thrift API calls and application will need to remember what keyspace
> they requested.  It will definitely not make 0.5.

Right, but I think that's for the best anyway though.

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



Re: Cassandra access control

2009-12-02 Thread Eric Evans
On Wed, 2009-12-02 at 13:28 -0600, Ted Zlatanov wrote:
> 
> struct AuthenticationRequest {
> 1: required map credentials,
> }
> 
> service Cassandra {
> ...
>   void login(1: required string keyspace, 
>  2: optional AuthenticationRequest auth_request) 
>throws (1:AuthenticationException aux, 2:
> AuthorizationException azx),
> ...
> } 

Did you maybe mean...?

struct AuthenticationRequest {
1: optional map credentials,
}

service Cassandra {
...
  void login(1:required string keyspace,
 2:required AuthenticationRequest auth_request)
  throws (1:AuthenticationException aux, 2:AuthorizationException azx),
...
}

i.e. AuthenticationRequest required for the method (has to be), but the
map is optional?

-- 
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  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: 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: BUILD FAILURE

2009-12-21 Thread Eric Evans
On Sun, 2009-12-20 at 22:47 +0530, Thilanga Pitigala wrote:
> 
> [ERROR] BUILD FAILURE
> [INFO] 
> 
> [INFO] Compilation failure
> error: error reading 
> /home/thilanga/.m2/repository/javax/mail/mail/1.4/mail-1.4.jar; error
> in 
> opening zip file 

For what it's worth, I'm seeing the same.  Stick with ant for now and
hopefully someone will figure it out and submit a patch.

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



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 13:48 +0100, Daniel Lundin wrote:
> Has anybody already spent energy + time thinking about generic
> TimeUUID partitioning? Seems like it could be a useful thing, since
> time series data is quite common. 

I think it's possible, but it's going to provide very poor distribution
properties, (though so does date-based strings and
OrderPreservingPartioner).

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



Re: TimeUUID Partitioning

2009-12-22 Thread Eric Evans
On Tue, 2009-12-22 at 21:32 +0200, Richard Grossman wrote:
> Don't understand your last statement "(though so does date-based
> strings and OrderPreservingPartioner)."
> What do you mean that using TimeUUID provide a better distribution
> when using OrderPreservingPartioner. Or there is no effect if using
> OrderPreservingPartioner 

I mean that if you are using a namespace that is based on some date/time
range, and you partition that up into smaller date/time ranges, and then
store time series data, your data will be written to the node that
corresponds to the date/time, and not to any of the others.

Imagine that you have 5 nodes and they are partitioned:

A -> 2009
B -> 2010
C -> 2011
D -> 2012
E -> 2013

Any writes occurring between now and Jan 1, 2010 will go to node A, at
which point all writes will go to node B for the 365 days that follow,
and so on.

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



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 Ellis
 * Eric Evans
 * Jun Rao   
 * Chris Goffinet

   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 Ellis
 * Eric Evans
 * Jun Rao   
 * Chris Goffinet

   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: insert and batch_insert should update?

2010-01-21 Thread Eric Evans
On Thu, 2010-01-21 at 17:56 -0800, Adam Fisk wrote:
> I just wanted to make sure that a second insert of the same key and
> the same Column/SuperColumn name should completely overwrite any
> existing data there, correct? I'm seeing odd behavior there and just
> wanted to verify what's expected.

Provided that the second write uses a higher timestamp, yes.

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



Re: insert and batch_insert should update?

2010-01-21 Thread Eric Evans
On Thu, 2010-01-21 at 18:07 -0800, Adam Fisk wrote:
> Great - thanks. And if I don't specify any timestamp, for example with
> batch_insert, it'll always use the current timestamp, which should
> always be newer, correct?

Timestamps aren't optional. The columns you pass to batch_insert() all
have a required timestamp member (which people generally set to the
current time).

-- 
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 Ellis
 * Eric Evans
 * Jun Rao   
 * Chris Goffinet
 * Ian Holsman   
 * Ant Elder 
 * Matthieu Riou 

   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: [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 RESULTS] was: [VOTE] Graduation

2010-01-28 Thread Eric Evans
On Mon, 2010-01-25 at 15:11 -0600, Eric Evans wrote:
> 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.

The vote is now closed with the following tally:

* +1 votes: 17
*  0 votes: 0
* -1 votes: 0

The vote passes. :)

-- 
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: 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:
>
>   
> 

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: Cassandra and Spring & Terracotta

2010-02-26 Thread Eric Evans
On Fri, 2010-02-26 at 09:16 +0100, Charles Moulliard wrote:
> Is there some utilities classes that we can use to store or retreive
> data from Cassandra (like we have with spring-jdbc, spring-orm,
> spring-jpa, ...)
> ?

Read/write operations are performed using Thrift RPC
(http://incubator.apache.org/thrift), but there are some higher-level
APIs that wrap Cassandra's Thrift interface. The list found at
http://wiki.apache.org/cassandra/ClientExamples should be pretty
comprehensive.

> Can we compare Cassandra to Terracotta ? 

I'm no expert on Terracotta, but I don't see how a useful comparison
could be made.

-- 
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: exception with python client

2010-03-10 Thread Eric Evans
On Wed, 2010-03-10 at 14:33 +, Matteo Caprari wrote:
> I get an exception, but it's a shy one and can't figure out what is
> that I'm doing wrong.
> 
> Thanks.
> 
> Traceback (most recent call last):
>   File "test-migrate.py", line 23, in 
> client.batch_mutate('KS', m, ConsistencyLevel.ONE)
>   File
> "/Users/dikappa/Documents/workspace/likelike/python/cassandra/Cassandra.py",
> line 771, in batch_mutate
> self.recv_batch_mutate()
>   File
> "/Users/dikappa/Documents/workspace/likelike/python/cassandra/Cassandra.py",
> line 784, in recv_batch_mutate
> (fname, mtype, rseqid) = self._iprot.readMessageBegin()
>   File
> "build/bdist.macosx-10.6-i386/egg/thrift/protocol/TBinaryProtocol.py",
> line 126, in readMessageBegin
>   File
> "build/bdist.macosx-10.6-i386/egg/thrift/protocol/TBinaryProtocol.py",
> line 203, in readI32
>   File
> "build/bdist.macosx-10.6-i386/egg/thrift/transport/TTransport.py",
> line 58, in readAll
>   File
> "build/bdist.macosx-10.6-i386/egg/thrift/transport/TTransport.py",
> line 155, in read
>   File "build/bdist.macosx-10.6-i386/egg/thrift/transport/TSocket.py",
> line 94, in read
> thrift.transport.TTransport.TTransportException: None 

I believe this simply means that the read didn't return a response.
Start by checking the cassandra logs to see if there are any exceptions,
and double check your connection parameters, network setup, etc.

-- 
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: 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  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
>  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: problem with running simple example using cassandra-cli with 0.6.0-beta2

2010-03-11 Thread Eric Evans
On Wed, 2010-03-10 at 18:09 -0500, Bill Au wrote:
> I am checking out 0.6.0-beta2 since I need the batch-mutate function.
> I am just trying to run the example is the cassandra-cli Wiki:
> 
> http://wiki.apache.org/cassandra/CassandraCli
> 
> Here is what I am getting:
> 
> cassandra> set Keyspace1.Standard1['jsmith']['first'] = 'John'
> Value inserted.
> cassandra> get Keyspace1.Standard1['jsmith']
> => (column=6669727374, value=John, timestamp=1268261785077)
> Returned 1 results.
> 
> The column name being returned by get (6669727374) does not match what
> is set (first).  This is true for all column names.
> 
> cassandra> set Keyspace1.Standard1['jsmith']['last'] = 'Smith'
> Value inserted.
> cassandra> set Keyspace1.Standard1['jsmith']['age'] = '42'
> Value inserted.
> cassandra> get Keyspace1.Standard1['jsmith']
> => (column=6c617374, value=Smith, timestamp=1268262480130)
> => (column=6669727374, value=John, timestamp=1268261785077)
> => (column=616765, value=42, timestamp=1268262484133)
> Returned 3 results.
> 
> Is this a problem in 0.6.0-beta2 or am I doing anything wrong?

No, you're not doing anything wrong. What you're seeing is the hex
representation of a BytesType, which is the comparator that Standard1 in
the example config uses. This is the same for 0.5.1 too.

If you haven't made any changes to the default config, try using
Standard2 as the column family and you'll see a human-readable column
name as expected (Standard2 uses a UTF8Type comparator).

The wiki page has sample output that is confusing, (it's probably
cut-and-paste from a time when Standard1 used an ASCII or UTF8
comparator), we should probably fix that.

-- 
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: client.get_count query

2010-03-11 Thread Eric Evans
On Thu, 2010-03-11 at 12:58 -0800, Sonny Heer wrote:
> a lot.  In the trillions (where each column name stores the valuable
> information and column values are empty).  I read somewhere that
> column size should be in the single MB digits.  Storing it in the key
> allows true horizontal scalability.  Is this true? 

Are you able to discuss the specifics? What you're storing, how much of
it you're storing, and maybe most importantly, what you need to query?

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



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