On Tue, 06 Apr 2010 11:07:03 -0700 Mike Gallamore <mike.e.gallam...@googlemail.com> wrote:
MG> Seems to be internal to java/cassandra itself. MG> I have some tests and I want to make sure that I have a "clean slate" MG> each time I run the test. Clean as far as my code cares is that MG> "value" is not defined. I'm running "bin/cassandra -f" with the MG> default install/options. So at the beginning of my test I run: Mike, you can submit bugs and questions directly to me, here, or through http://rt.cpan.org (the CPAN bug tracker). It's a good idea to test an operation from the CLI that comes with Cassandra to make sure the problem is not with the Net::Cassandra::Easy module. Also, if you set $Net::Cassandra::Easy::DEBUG to 1, you'll see the actual Thrift objects that get constructed. In this case (N::C::Easy 0.08) I was constructing a super_column parameter which was wrong. MG> $rc = $c->mutate([$key], family => 'Standard1', deletions => { byname => ['value']}); ... MG> Anyone have any ideas what I'm doing wrong? The value field is just a MG> json encoded digit so something like ("30") not a real supercolumn but MG> the Net::Cassandra::Easy docs didn't have any examples of removing a MG> non supercolumns data. Really what I'd like to do is delete the whole MG> row, but again I didn't find any examples of how to do this. It's a bug in N::C::Easy. I fixed it in 0.09 so it will work properly with: $rc = $c->mutate([$key], family => 'Standard1', deletions => { standard => 1, byname => ['column1', 'column2']}); AFAIK I can't specify "delete all columns in a non-super CF" using Deletions so "byname" is required (I end up filling the column_names field in the predicate). OTOH I can just delete a SuperColumn so the above is possible in a super CF. The docs and tests were updated as well. Let me know if you have problems; it worked for me. In the next release I'll update cassidy.pl to work with non-super CFs as well. Sorry for the inconvenience. Thanks Ted