On 05/11/2010 10:45 AM, Ted Zlatanov wrote: > SD> My prototype app can be seen here: > > SD> http://bito.ponzo.net/Hatchet/ > > > The latest N::C::Easy will not work with Cassandra 0.6.x, the only > target is SVN trunk. I can't discover the API version on the server so > there's no way to anticipate such breakage as you see (I suspect it's > due to API mismatch). The Cassandra developers haven't addressed > https://issues.apache.org/jira/browse/CASSANDRA-972 which can be used to > provide all that information over Thrift as well as in the log files. > > Can you give an example of a failing script, with any details on the > server version and keyspace/CF setup? Without source code I'm only guessing. > >
The prototype is in the tgz file, in the http directory listed above. http://bito.ponzo.net/Hatchet/ A kind person on Freenode pointed me to this ticket: https://issues.apache.org/jira/browse/THRIFT-758 I followed it & hand-applied the suggested patch, so the application gets as far as: $VAR1 = bless( { 'code' => 1, 'message' => 'Invalid method name: \'set_keyspace\'' }, 'TApplicationException' ); This is using Net-Cassandra-Easy-0.14-7Jcufu and Cassandra 0.6.1. Maybe I can use an earlier Cassandra & make this work? :) > Finally, if you're looking for speed, N::C::Easy is not a good fit. The > Perl implementation of Thrift is significantly slower (5-20x in my > benchmarks) than the equivalent code in Java. This is outside of > N::C::Easy so there's not much I can do about it (see > https://issues.apache.org/jira/browse/THRIFT-775 which I opened > recently, and which can perhaps help the performance). > The perl prototype was just to get a general feel for the API & implement something q&d that might actually work for the time being. ( Or so I like to tell myself. :P ) -Scott