cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-8574) Gracefully degrade SELECT when there are lots of tombstones
Date Mon, 26 Jan 2015 16:52:34 GMT

    [ 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)

Mime
View raw message