moving to framed transport (client breakage inevitable)
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
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?
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'
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
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
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...
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
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
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
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
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?
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
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
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?
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
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
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
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)
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
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
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
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
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
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
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
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
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
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?
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?
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
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
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
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
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
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
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
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
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
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?
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?
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
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
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?
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
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
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
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
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