[ 
https://issues.apache.org/jira/browse/CASSANDRA-7817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14106815#comment-14106815
 ] 

Digant Modha commented on CASSANDRA-7817:
-----------------------------------------

Even if it's row level deletion, the code still has to read all the 
cells/columns?  Does that mean that the row level deletion optimization 
should/does not play a role in this case?  Thanks.

> when entire row is deleted, the records in the row seem to counted toward 
> TombstoneOverwhelmingException
> --------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-7817
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7817
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Cassandra version 2.0.9
>            Reporter: Digant Modha
>            Priority: Minor
>
> I saw this behavior in development cluster, but was able to reproduce it in a 
> single node setup.  In development cluster I had more than 52,000 records and 
> used default values for tombstone threshold.
> For testing purpose, I used lower numbers for thresholds:
> tombstone_warn_threshold: 100
> tombstone_failure_threshold: 1000
> Here are the steps:
> table:
> CREATE TABLE cstestcf_conflate_data (
>   key ascii,
>   datehr int,
>   validfrom timestamp,
>   asof timestamp,
>   copied boolean,
>   datacenter ascii,
>   storename ascii,
>   value blob,
>   version ascii,
>   PRIMARY KEY ((key, datehr), validfrom, asof)
> ) WITH CLUSTERING ORDER BY (validfrom DESC, asof DESC) ;
> cqlsh:cstestks> select count(*) from cstestcf_conflate_data WHERE KEY='BK_2' 
> and datehr = 2014082119;
>  count
> -------
>    470
> (1 rows)
> cqlsh:cstestks> delete from cstestcf_conflate_data WHERE KEY='BK_2' and 
> datehr = 2014082119;
> cqlsh:cstestks> select count(*) from cstestcf_conflate_data WHERE KEY='BK_2' 
> and datehr = 2014082119;
> Request did not complete within rpc_timeout.
> Exception in system.log:
> java.lang.RuntimeException: 
> org.apache.cassandra.db.filter.TombstoneOverwhelmingException
>         at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1931)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.cassandra.db.filter.TombstoneOverwhelmingException
>         at 
> org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:202)
>         at 
> org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122)
>         at 
> org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80)
>         at 
> org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:72)
>         at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:297)
>         at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:53)
>         at 
> org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1547)
>         at 
> org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1376)
>         at org.apache.cassandra.db.Keyspace.getRow(Keyspace.java:333)
>         at 
> org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:65)
>         at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1363)
>         at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1927)



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to