You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2009/10/21 22:02:59 UTC

[jira] Updated: (CASSANDRA-507) Tombstone records in Cassandra are not being deleted

     [ https://issues.apache.org/jira/browse/CASSANDRA-507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-507:
-------------------------------------

    Attachment: 507.patch

this patch fixes the bug in trunk.

unfortunately the risk/benefit of backporting this to the 0.4 branch is past my threshold of comfort.

> Tombstone records in Cassandra are not being deleted
> ----------------------------------------------------
>
>                 Key: CASSANDRA-507
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-507
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Ramzi Rabah
>         Attachments: 507.patch
>
>
> I am running into problems with get_key_range.
> My command is client.get_key_range("Keyspace1", "DatastoreDeletionSchedule",
>                    "", "", 25, ConsistencyLevel.ONE);
> After a lot of deletes on the datastore, I am getting 
> ERROR [pool-1-thread-36] 2009-10-19 17:24:28,223 Cassandra.java (line
> 770) Internal error processing get_key_range
> java.lang.RuntimeException: java.util.concurrent.TimeoutException:
> Operation timed out.
>        at org.apache.cassandra.service.StorageProxy.getKeyRange(StorageProxy.java:560)
>        at org.apache.cassandra.service.CassandraServer.get_key_range(CassandraServer.java:595)
>        at org.apache.cassandra.service.Cassandra$Processor$get_key_range.process(Cassandra.java:766)
>        at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:609)
>        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:253)
>        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>        at java.lang.Thread.run(Thread.java:619)
> Caused by: java.util.concurrent.TimeoutException: Operation timed out.
>        at org.apache.cassandra.net.AsyncResult.get(AsyncResult.java:97)
>        at org.apache.cassandra.service.StorageProxy.getKeyRange(StorageProxy.java:556)
>        ... 7 more
> Turns out that the compaction code removes tombstones, and it runs whenever you have
> enough sstable fragments. As an optimization, if there is
> only one version of a row it will just copy it to the new sstable.
> This means it won't clean out tombstones, which is causing this problem.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.