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

Reply via email to