On Tue, 11 May 2010 09:40:02 -0700 Scott Doty <[email protected]> wrote:
SD> I'm trying to wrap my head around Net::Cassandra::Easy, and it's making SD> me cross-eyed. SD> My prototype app can be seen here: SD> http://bito.ponzo.net/Hatchet/ SD> The idea is to index logfiles by various keys, using Cassandra's extreme SD> write speed to keep up with the millions of lines of logfile we deal SD> with every day. Pretty standard stuff, but I seem to be having trouble SD> getting the software to do its thing. SD> It says: SD> _[/home/cass/Hatchet.development/Speed_trial]_(c...@bito)_ SD> $ ./2hk_idx_parser_speed_trial.pl SD> $VAR1 = 'Can\'t use string ("0") as a SCALAR ref while "strict refs" in SD> use at SD> /usr/local/lib/perl5/site_perl/5.10.0/Net/GenThrift/Thrift/BinaryProtocol.pm SD> line 376. SD> '; 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. 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). Ted
