[
https://issues.apache.org/jira/browse/CASSANDRA-5143?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
André Cruz updated CASSANDRA-5143:
----------------------------------
Summary: Safety valve on number of tombstones skipped on read path to
prevent a full heap (was: Safety valve on number of tombstones skipped on read
path too prevent a full heap)
> Safety valve on number of tombstones skipped on read path to prevent a full
> heap
> --------------------------------------------------------------------------------
>
> Key: CASSANDRA-5143
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5143
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Affects Versions: 1.1.5
> Environment: Debian Linux, 3 node cluster with RF 3, 8GB heap on 32GB
> machines
> Reporter: André Cruz
>
> When doing a range query on a row with a lot of tombstones, these can quickly
> add up and use too much heap, even if we specify a column count of 2 as the
> tombstones can be between those two live columns. From the client API side it
> can do nothing to prevent this from happening since there is no limit that
> can be specified for the number of tombstones being collected.
> I know that this looks like the "I'm using a row as a queue and building up a
> ton of tombstones" anti-pattern, but still Cassandra should be able to take
> better care of himself so as to prevent a DoS. I can imagine a lot of use
> cases that let users create and delete columns on a row.
> I propose a simple safety valve that can act like this: "The client has asked
> me for X nodes, I've already collected X^Y nodes and still have not found X
> live nodes, I should just give up and return an exception". The Y would be
> the configurable parameter. Time taken per query or memory used could also be
> factors to take into consideration.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira