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