Hello, I'm seeing Cassandra behavior that I can't explain, on v1.0.12. I'm
trying to test removing rows after all columns have expired. I've read the
following:
http://wiki.apache.org/cassandra/DistributedDeletes
http://wiki.apache.org/cassandra/MemtableSSTable
https://issues.apache.org/jira/browse/CASSANDRA-2795

And came up with a test to demonstrate the empty row removal that does the
following:

   1. create a keyspace
   2. create a column family with gc_seconds=10 (arbitrary small number)
   3. insert a couple rows with ttl=5 (again, just a small number)
   4. use nodetool to flush the column family
   5. sleep >10 seconds
   6. ensure the columns are removed with *cassandra-cli list *
   7. use nodetool to compact the keyspace

Performing these steps results in the rows still being present using
*cassandra-cli
list*. What gets really odd is if I add these steps it works:

   1. sleep 5 seconds
   2. use cassandra-cli to *del mycf[arow]*
   3. use nodetool to flush the column family
   4. use nodetool to compact the keyspace

I don't understand why the first set of steps (1-7) don't work to remove
the empty row, nor do I understand why the explicit row delete somehow
makes this work. I have all this in a script that I could attach if that's
appropriate. Is there something wrong with the steps that I have?

Thanks,
Stephen

Reply via email to