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
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 eev...@rackspace.com wrote: apache-cassandra-0.6.0-beta1.jar apache-cassandra-0.6.0-beta2.jar Ugh, my bad. I must have failed to `clean' in between the aborted beta1 and beta2. The beta2 also does not include the other support jar files like log4j. Not being a java person, I didn't know what to do so I just started my experimentation with the 0.5.1 release which has it all bundled. Yes, this is a new feature^H^H^H^H^Hcontroversy in that most of the third-party jars are no longer distributed by us, and must be fetched using `ant ivy-retrieve'. This is currently being disputed, see https://issues.apache.org/jira/browse/CASSANDRA-850 for more on that. For what it's worth, this was documented in both the changelog (CHANGES.txt) and the release notes (NEWS.txt), which you really should be reading. -- Eric Evans eev...@rackspace.com
Re: Effective allocation of multiple disks
On Wed, 2010-03-10 at 23:20 -0600, Jonathan Ellis wrote: On Wed, Mar 10, 2010 at 9:31 PM, Anthony Molinaro antho...@alumni.caltech.edu wrote: I would almost recommend just keeping things simple and removing multiple data directories from the config altogether and just documenting that you should plan on using OS level mechanisms for growing diskspace and io. I think that is a pretty sane suggestion actually. Or maybe leave the code as is and just document the situation more clearly? If you're adding more disks to increase storage capacity and you don't strictly need the extra IO, then multiple data directories might be preferable to other forms of aggregation (it's certainly simpler than say a volume manager). -- Eric Evans eev...@rackspace.com
Re: cassandra 0.6.0 beta 2 download contains beta 1?
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: 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: 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: 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: Keyspace Name=Keyspace1 ColumnFamily CompareWith=UTF8Type Name=col1 Comment=some data/ /Keyspace This is because hex strings are used to represent byte arrays in the JSON format, (i.e. the string 'PR' would be turned into something like '5052'). Is there another way to import some data, maybe a tool or something? I've used the latest stable cassandra version (0.5.0). As Jonathan stated, you're best bet is to tackle this using the Thrift interface first. -- Eric Evans eev...@rackspace.com
Re: Performance with Multiple Node Vs Single Node
On Thu, 2010-02-18 at 17:36 +0200, Richard Grossman wrote: What the impact on performance to have multiple node ?? When you have a cluster with only one node, you're guaranteed to perform every read and write on the destination node (because there is literally no other possible destination). When you have multiple nodes, you can read/write to any node, but if it is not the destination, then it must be forwarded on to the right host. So the expected impact on performance is the extra latency incurred by these forwarded requests. The test we run here with multiple node seems a VERY bad performance comparing to the same amount of data located on 1 single node. Could you confirm or infirm such statement ? I mean if the same operation (write or read) take 5-10 times more time when multiple node than single node where is the problem (communication between computer) ??. 5-10 times more is not normal, no. Perhaps there is a problem with one or more of the new nodes you added. I've read a lot about tuning of memory, disk, io, top, htop but nothing about networking operation between node. Is there any way to check what going on regarding node intercommunication ?? I'd start with your basic, garden-variety troubleshooting, i.e. ping, traceroute, transfer speed, etc. -- Eric Evans eev...@rackspace.com
RE: [VOTE] Graduation
On Mon, 2010-01-25 at 20:18 -0800, Christopher McKenzie wrote: Although cassandra appears to be compliant to the guidelines on that page and the policy page, I've still found myself having to manually patch and tweak the code for my usage case, which I don't feel is very esoteric. Would you agree that the status of graduation would also encompass the idea of an end user just having to install a compiled form of the application, and then work of documentation? No, I would not. This isn't what graduation is about. I understand that there are sometimes critical bugs in even the most mature software; but I'm still at a point where dealing with bugs is a modus operandi with cassandra. Some other datastores that I use, such as postgres and memcache for instance, have never had issues that required me to read or patch the source. Cassandra is significantly more complex than memcache, and far less mature than both memcache and postgres. The code isn't perfect, but it sounds like your expectations are a bit off as well. I guess my overall fear is that if implicit in graduating is making such a claim, and if this generates a large spike of usage, the core developers may end up spending more time responding to emails then developing. Again, it isn't implicit. Graduation is about the community's ability to sustain itself, and to operate in accordance with the ASF's guiding principles[1]. Unless you are arguing that the code is abnormally buggy, and that this is the direct result of a dysfunctional and unhealthy community that will both embarrass the ASF, and embroil it in costly legal disputes, before disintegrating to leave Cassandra as an obscure historical footnote? :) [1] http://www.apache.org/foundation/how-it-works.html -- Eric Evans eev...@rackspace.com
[VOTE] Graduation
There was some additional discussion[1] concerning Cassandra's graduation on the incubator list, and as a result we've altered the initial resolution to expand the size of the PMC by three to include our active mentors (new draft attached). I propose a vote for Cassandra's graduation to a top-level project. We'll leave this open for 72 hours, and assuming it passes, we can then take it to a vote with the Incubator PMC. +1 from me! [1] http://thread.gmane.org/gmane.comp.apache.incubator.general/24427 -- Eric Evans eev...@rackspace.com X. Establish the Apache Cassandra Project WHEREAS, the Board of Directors deems it to be in the best interests of the Foundation and consistent with the Foundation's purpose to establish a Project Management Committee charged with the creation and maintenance of open-source software related to fully distributed storage of structured data, for distribution at no charge to the public. NOW, THEREFORE, BE IT RESOLVED, that a Project Management Committee (PMC), to be known as the Apache Cassandra Project, be and hereby is established pursuant to Bylaws of the Foundation; and be it further RESOLVED, that the Apache Cassandra Project be and hereby is responsible for the creation and maintenance of software related to fully distributed storage of structured data; and be it further RESOLVED, that the office of Vice President, Apache Cassandra be and hereby is created, the person holding such office to serve at the direction of the Board of Directors as the chair of the Apache Cassandra Project, and to have primary responsibility for management of the projects within the scope of responsibility of the Apache Cassandra Project; and be it further RESOLVED, that the persons listed immediately below be and hereby are appointed to serve as the initial members of the Apache Cassandra Project: * Jonathan Ellisjbel...@apache.org * Eric Evanseev...@apache.org * Jun Rao jun...@apache.org * Chris Goffinetgoffi...@apache.org * Ian Holsman i...@apache.org * Ant Elder antel...@apache.org * Matthieu Riou mr...@apache.org NOW, THEREFORE, BE IT FURTHER RESOLVED, that Jonathan Ellis be appointed to the office of Vice President, Apache Cassandra, to serve in accordance with and subject to the direction of the Board of Directors and the Bylaws of the Foundation until death, resignation, retirement, removal or disqualification, or until a successor is appointed; and be it further RESOLVED, that the initial Apache Cassandra PMC be and hereby is tasked with the creation of a set of bylaws intended to encourage open development and increased participation in the Apache Cassandra Project; and be it further RESOLVED, that the Apache Cassandra Project be and hereby is tasked with the migration and rationalization of the Apache Incubator Cassandra podling; and be it further RESOLVED, that all responsibilities pertaining to the Apache Incubator Cassandra podling encumbered upon the Apache Incubator Project are hereafter discharged.
Re: Can't Run: Address already in use Error
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 Ellisjbel...@apache.org * Eric Evanseev...@apache.org * Jun Rao jun...@apache.org * Chris Goffinetgoffi...@apache.org NOW, THEREFORE, BE IT FURTHER RESOLVED, that Jonathan Ellis be appointed to the office of Vice President, Apache Cassandra, to serve in accordance with and subject to the direction of the Board of Directors and the Bylaws of the Foundation until death, resignation, retirement, removal or disqualification, or until a successor is appointed; and be it further RESOLVED, that the initial Apache Cassandra PMC be and hereby is tasked with the creation of a set of bylaws intended to encourage open development and increased participation in the Apache Cassandra Project; and be it further RESOLVED, that the Apache Cassandra Project be and hereby is tasked with the migration and rationalization of the Apache Incubator Cassandra podling; and be it further RESOLVED, that all responsibilities pertaining to the Apache Incubator Cassandra podling encumbered upon the Apache Incubator Project are hereafter discharged.
Graduation
Greetings, It seems hard to believe, but it's been a little over a year now since Cassandra entered the Apache Incubator. The project has made an impressive amount of progress in that time, from expanding its ranks of users and developers, to advancing the code and releasing to get it in front of users, and more. http://wiki.apache.org/cassandra/ProjectHealth2009 Criteria for graduation includes: * recruiting users, developers, committers, and PMC members * taking responsible and collective action * being able to disagree on matters in public, and continue to get along * creating an open, positive, and inclusive atmosphere * release software according to ASF guidelines I think we demonstrably meet the requirements; I believe we are ready to graduate. What does everyone else thing? http://incubator.apache.org/projects/cassandra.html -- Eric Evans eev...@rackspace.com X. Establish the Apache Cassandra Project WHEREAS, the Board of Directors deems it to be in the best interests of the Foundation and consistent with the Foundation's purpose to establish a Project Management Committee charged with the creation and maintenance of open-source software related to fully distributed storage of structured data, for distribution at no charge to the public. NOW, THEREFORE, BE IT RESOLVED, that a Project Management Committee (PMC), to be known as the Apache Cassandra Project, be and hereby is established pursuant to Bylaws of the Foundation; and be it further RESOLVED, that the Apache Cassandra Project be and hereby is responsible for the creation and maintenance of software related to fully distributed storage of structured data; and be it further RESOLVED, that the office of Vice President, Apache Cassandra be and hereby is created, the person holding such office to serve at the direction of the Board of Directors as the chair of the Apache Cassandra Project, and to have primary responsibility for management of the projects within the scope of responsibility of the Apache Cassandra Project; and be it further RESOLVED, that the persons listed immediately below be and hereby are appointed to serve as the initial members of the Apache Cassandra Project: * Jonathan Ellisjbel...@apache.org * Eric Evanseev...@apache.org * Jun Rao jun...@apache.org * Chris Goffinetgoffi...@apache.org NOW, THEREFORE, BE IT FURTHER RESOLVED, that Jonathan Ellis be appointed to the office of Vice President, Apache Cassandra, to serve in accordance with and subject to the direction of the Board of Directors and the Bylaws of the Foundation until death, resignation, retirement, removal or disqualification, or until a successor is appointed; and be it further RESOLVED, that the initial Apache Cassandra PMC be and hereby is tasked with the creation of a set of bylaws intended to encourage open development and increased participation in the Apache Cassandra Project; and be it further RESOLVED, that the Apache Cassandra Project be and hereby is tasked with the migration and rationalization of the Apache Incubator Cassandra podling; and be it further RESOLVED, that all responsibilities pertaining to the Apache Incubator Cassandra podling encumbered upon the Apache Incubator Project are hereafter discharged.
Re: BUILD FAILURE
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 23:31 +0200, Richard Grossman wrote: So my question might be stupid but why the timeUUID will distribute better ? It won't, it's the same problem either way. -- Eric Evans eev...@rackspace.com
RE: read latency creaping up
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: 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 eev...@rackspace.com wrote: EE Did you maybe mean...? AuthenticationRequest required for the EE method (has to be), but the map is optional? Either way will work. With your suggestion and allowing for auth backends to modify the authentication request: Let's not do that; as Robin pointed out... ...there's no way to ensure immediate consistency of tokens across all nodes, it's probably not worth the effort of making Cassandra token aware, since an application would have to provide fall-back logic to authenticate with credentials, if the token fails. So, tokens would probably just add complexity without much benefit. -- Eric Evans eev...@rackspace.com
Re: Cassandra access control
On Wed, 2009-12-02 at 15:27 -0600, Ted Zlatanov wrote: EE Let's not do that; as Robin pointed out... EE ...there's no way to ensure immediate consistency of tokens across all EE nodes, it's probably not worth the effort of making Cassandra token EE aware, since an application would have to provide fall-back logic to EE authenticate with credentials, if the token fails. So, tokens would EE probably just add complexity without much benefit. I'd still rather pass something back. As I said, it allows backends to maintain state when it makes sense to do so and can alleviate the problem of redundant auth queries in the future. If not for SSO via shared-state between nodes, then for what? Can you give a tangible example of when it makes sense to do so? Are you sure this isn't YAGNI? -- Eric Evans eev...@rackspace.com
Re: Cassandra access control
Sorry for chiming in so late, travel and the thanksgiving holiday got the better of me. On Mon, 2009-11-30 at 16:34 -0600, Ted Zlatanov wrote: I posted the first attempt (with a default AllowAll backend) as a patch: https://issues.apache.org/jira/browse/CASSANDRA-547 Important changes in the Thrift interface: # invalid authentication request (user does not exist or credentials invalid) exception AuthenticationException { 1: required string why } # invalid authorization request (user does not have access to keyspace) exception AuthorizationException { 1: required string why } ... struct AuthenticationRequest { 1: required mapstring, string credentials, } service Cassandra { # auth methods # authentication void login(1:required AuthenticationRequest auth_request) throws (1:AuthenticationException aux), # authorization void setKeyspace(1:required string keyspace) throws (1:AuthorizationException azx), string getKeyspace(), I'm personally not a big fan of the setKeyspace()/getKeyspace() idea. Getting rid of the keyspace argument makes sense because the keyspace is the highest (or lowest), level of the data-model so its implicit that an application need only talk to one. If removing that argument makes sense (and I think it does), then we should just do that. Accessing more than one keyspace is a corner case IMO, but its one that can be accommodated by opening another connection. Also, I don't know how others feel, but I'm not comfortable committing anything that would be a candidate for 0.5 that isn't more fully baked at this point. So I'd rather see something that is at least minimally useful targeted for 0.5+1 -- Eric Evans eev...@rackspace.com
Re: Cassandra access control
On Tue, 2009-12-01 at 15:38 -0600, Ted Zlatanov wrote: On Tue, 01 Dec 2009 14:23:47 -0600 Eric Evans eev...@rackspace.com wrote: EE I'm personally not a big fan of the setKeyspace()/getKeyspace() idea. EE Getting rid of the keyspace argument makes sense because the keyspace is EE the highest (or lowest), level of the data-model so its implicit that an EE application need only talk to one. If removing that argument makes sense EE (and I think it does), then we should just do that. Accessing more than EE one keyspace is a corner case IMO, but its one that can be accommodated EE by opening another connection. I disagree, why would you want to forbid switching the keyspace? That's turning off a currently working feature. Also, connections are not free, especially across WAN links. Because it makes a mess out of an API that already confuses people. And again, I posit that this is a corner case, something that very few people will actually want to do. We should be optimizing for the common case. -- Eric Evans eev...@rackspace.com
Re: Problem with cassdict import
On Sat, 2009-11-21 at 12:20 -0600, Saran wrote: In [2]: from cassdict.cass import * --- ImportError Traceback (most recent call last) /home/sridhar/Desktop/cassdict/ipython console in module() /home/sridhar/Desktop/cassdict/cassdict/cass.py in module() 13 import pdb 14 --- 15 from cassandra.ttypes import Column, SuperColumn, ColumnOrSuperColumn, \ 16 SlicePredicate, SliceRange, ConsistencyLevel, ColumnPath, ColumnParent 17 ImportError: cannot import name ColumnOrSuperColum I've never used cassdict, but this looks to me like you either haven't generated the thrift code for cassandra, or it is not in your PYTHONPATH. -- Eric Evans eev...@rackspace.com
Re: Exception in Cassandra-cli tool
On Mon, 2009-11-23 at 12:58 +0200, Richard Grossman wrote: Using the 0.4.2 last stable not from trunk. I get alway in cassandra-cli the following exception: cassandra show keyspaces Exception Cannot read. Remote side has closed. Tried to read 4 bytes, but only got 0 bytes. org.apache.thrift.transport.TTransportException: Cannot read. Remote side has closed. Tried to read 4 bytes, but only got 0 bytes. at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86) at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:314) at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:262) at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:192) at org.apache.cassandra.service.Cassandra $Client.recv_get_string_list_property(Cassandra.java:532) at org.apache.cassandra.service.Cassandra $Client.get_string_list_property(Cassandra.java:517) at org.apache.cassandra.cli.CliClient.executeShowTables(CliClient.java:238) at org.apache.cassandra.cli.CliClient.executeCLIStmt(CliClient.java:72) at org.apache.cassandra.cli.CliMain.processCLIStmt(CliMain.java:103) at org.apache.cassandra.cli.CliMain.main(CliMain.java:143) any idea what's going on ? Maybe you aren't connected? You can launch the cli with -host and -port options, or you can (re)connect once started with connect host/port. -- Eric Evans eev...@rackspace.com
Re: bandwidth limiting Cassandra's replication and access control
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: 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
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: 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
Re: [VOTE] Project Logo
On Mon, 2009-10-05 at 15:06 -0700, Vijay wrote: +1 Regards, /VJ What are you +1ing here? The entire set as ranked by Igor? On Mon, Oct 5, 2009 at 10:51 AM, Igor Katkov ikat...@gmail.com wrote: ~~{ Ballot }~~ [ 11 ] 2http://99designs.com/contests/28940/entries/002 [ 8 ] 30 http://99designs.com/contests/28940/entries/030 [ 7 ] 32 http://99designs.com/contests/28940/entries/032 [ 6 ] 33 http://99designs.com/contests/28940/entries/033 [ 2 ] 90 http://99designs.com/contests/28940/entries/090 [ 3 ] 173 http://99designs.com/contests/28940/entries/173 [ 10 ] 175 http://99designs.com/contests/28940/entries/175 [ 9 ] 291 http://99designs.com/contests/28940/entries/291 [ 5 ] 369 http://99designs.com/contests/28940/entries/369 [ 1 ] 478 http://99designs.com/contests/28940/entries/478 [12 ] 576 http://99designs.com/contests/28940/entries/576 [ 4 ] 598 http://99designs.com/contests/28940/entries/598 [ ] NOTA ~~{ Ballot }~~ -- Eric Evans eev...@rackspace.com
Re: [VOTE] Project Logo
On Mon, 2009-10-05 at 21:49 -0300, Nico Steppat wrote: ~~{ Ballot }~~ [6] 2 http://99designs.com/contests/28940/entries/002 [4] 30 http://99designs.com/contests/28940/entries/030 [5] 32 http://99designs.com/contests/28940/entries/032 [1] 33 http://99designs.com/contests/28940/entries/033 [2] 90 http://99designs.com/contests/28940/entries/090 [3] 173 http://99designs.com/contests/28940/entries/173 [4] 175 http://99designs.com/contests/28940/entries/175 [9] 291 http://99designs.com/contests/28940/entries/291 [7] 369 http://99designs.com/contests/28940/entries/369 [4] 478 http://99designs.com/contests/28940/entries/478 [8] 576 http://99designs.com/contests/28940/entries/576 [10] 598 http://99designs.com/contests/28940/entries/598 ~~{ Ballot }~~ You have three entries rated 4; can you please resubmit with unique rankings? -- Eric Evans eev...@rackspace.com
Re: Logo Design Contest
On Wed, 2009-09-30 at 16:13 -0500, Eric Evans wrote: On Wed, 2009-09-23 at 11:39 -0500, Eric Evans wrote: A logo design contest is now underway at 99designs.com. http://99designs.com/contests/28940 The contest brief can be found here: http://99designs.com/contests/28940/brief. If you're worried that it's missing something critical (or includes something it shouldn't), leave a comment on the contest page and/or let me know right away. The submission part of the 99designs.com contest is now over; we ended up with a whopping 618 submissions (yikes). Now comes the hard part, picking a winner. :) Fortunately, a number of people have been following the contest and providing feedback in the comments area or in #cassandra, and as a result we've got the list weeded down to the best 48 designs[0]. However, since it's probably not practical to run a vote with more than say 10 or 15 options, the final ballot will likely be limited to those entries rated 4 or 5 stars[1]. I'll wait a few days before starting up a vote to give everyone a chance to weigh-in on what should make the final ballot. Your opinion matters, so take a look at the contest page and either send me your suggestions, or bring them up here on the list. Does this mean that everyone is happy with the 11 candidate logos? http://99designs.com/contests/28940?orderby=timesubmittedfilterby=highrating We'll need to start a vote soon (there are time limits imposed by 99designs for awarding the payout). -- Eric Evans eev...@rackspace.com
Re: Logo Design Contest
On Wed, 2009-09-23 at 11:39 -0500, Eric Evans wrote: A logo design contest is now underway at 99designs.com. http://99designs.com/contests/28940 The contest brief can be found here: http://99designs.com/contests/28940/brief. If you're worried that it's missing something critical (or includes something it shouldn't), leave a comment on the contest page and/or let me know right away. The submission part of the 99designs.com contest is now over; we ended up with a whopping 618 submissions (yikes). Now comes the hard part, picking a winner. :) Fortunately, a number of people have been following the contest and providing feedback in the comments area or in #cassandra, and as a result we've got the list weeded down to the best 48 designs[0]. However, since it's probably not practical to run a vote with more than say 10 or 15 options, the final ballot will likely be limited to those entries rated 4 or 5 stars[1]. I'll wait a few days before starting up a vote to give everyone a chance to weigh-in on what should make the final ballot. Your opinion matters, so take a look at the contest page and either send me your suggestions, or bring them up here on the list. Thanks, [0] http://99designs.com/contests/28940?orderby=timesubmittedfilterby=noteliminated [1] http://99designs.com/contests/28940?orderby=timesubmittedfilterby=highrating -- Eric Evans eev...@rackspace.com
Re: triggers in cassandra
On Fri, 2009-09-25 at 02:17 -0700, Hector Yuen wrote: I am just starting to use Cassandra, and I was wondering if it is possible to use triggers/ callbacks on columns so that they get notified when there is a change. Is there such functionality? No, there isn't. Someone was working on this at some point, but it wasn't going anywhere so it got removed (http://svn.apache.org/viewvc?view=revrevision=806267). -- Eric Evans eev...@rackspace.com
Re: Got Logo?
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: 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: 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: 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.init(EndPoint.java:66) at org.apache.cassandra.net.EndPoint.clinit(EndPoint.java:51) at org.apache.cassandra.service.StorageService.start(StorageService.java:292) at org.apache.cassandra.service.CassandraServer.start(CassandraServer.java:81) at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:66) at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:120) The assertion that created this exception is taking what is assumed to be the main address for your node (should be the one that maps to the hostname), and asserting that it is in the form of an IPv4 address. Does this machine use an IPv6 interface? If so, that is probably not going to work. If you haven't set it up for IPv6, then we need to figure out how an InetAddress.getLocalHost() returned 0:0:0:0:0:0:0:1. -- Eric Evans eev...@rackspace.com
Re: A few issues with the latest code
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