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

Sylvain Lebresne commented on CASSANDRA-8574:
---------------------------------------------

Which is turns means exposing tombstones (and implementation detail at the end 
of the day) in the user API. Which I'm really not a fan of.

If the goal is to avoid having pages fail due to tombstones, then I think the 
proper way to handle it would be to limit _internal_ pages based on tombstones, 
but doing so transparently for the user (in other words, we could potentially 
end up doing multiple internal query for a single page returned to the user). 
Doing so is, however, easier said than done.

> Gracefully degrade SELECT when there are lots of tombstones
> -----------------------------------------------------------
>
>                 Key: CASSANDRA-8574
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8574
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jens Rantil
>             Fix For: 3.0
>
>
> *Background:* There's lots of tooling out there to do BigData analysis on 
> Cassandra clusters. Examples are Spark and Hadoop, which is offered by DSE. 
> The problem with both of these so far, is that a single partition key with 
> too many tombstones can make the query job fail hard.
> The described scenario happens despite the user setting a rather small 
> FetchSize. I assume this is a common scenario if you have larger rows.
> *Proposal:* To allow a CQL SELECT to gracefully degrade to only return a 
> smaller batch of results if there are too many tombstones. The tombstones are 
> ordered according to clustering key and one should be able to page through 
> them. Potentially:
>     SELECT * FROM mytable LIMIT 1000 TOMBSTONES;
> would page through maximum 1000 tombstones, _or_ 1000 (CQL) rows.
> I understand that this obviously would degrade performance, but it would at 
> least yield a result.
> *Additional comment:* I haven't dug into Cassandra code, but conceptually I 
> guess this would be doable. Let me know what you think.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to