cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcus Eriksson (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-9486) LazilyCompactedRow accumulates all expired RangeTombstones
Date Mon, 01 Jun 2015 05:53:17 GMT

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

Marcus Eriksson edited comment on CASSANDRA-9486 at 6/1/15 5:52 AM:
--------------------------------------------------------------------

patch updated to only clear expired rts: https://github.com/krummas/cassandra/commits/marcuse/9486

tests: http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-9486-dtest/ http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-9486-testall/

edit: nope, this is also broken, too early, stand by for new patch


was (Author: krummas):
patch updated to only clear expired rts: https://github.com/krummas/cassandra/commits/marcuse/9486

tests: http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-9486-dtest/ http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-9486-testall/

> LazilyCompactedRow accumulates all expired RangeTombstones
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-9486
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9486
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Benedict
>            Assignee: Marcus Eriksson
>            Priority: Critical
>             Fix For: 3.x, 2.1.x, 2.0.x, 2.2.x, 1.2.x
>
>         Attachments: 0001-9486.patch
>
>
> LazilyCompactedRow initializes a ColumnIndex.Builder to use its RangeTombstone.Tracker,
but it only calls update() with a RT argument, never an atom. The Tracker only ever _adds_
if it receives a RT, never removes. So all the RT ever seen for the partition (that have expired)
remain in memory until the compaction completes. To make matters worse, this then forces a
linear scan of all of these RT for each live cell we add, so this extra load hangs around
for a long time, and compactions stall.
> This issue is biting one of our users badly (at least, it seems likely to be this issue),
and there may be others. This user is not even making use of RT extensively themselves, only
collections (presumably with a complete overwrite of the contents of the collection, resulting
in a RT being generated).
> Probably the best solution is to make the RT addition itself remove any already present
that are no longer helpful.



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

Mime
View raw message