[
https://issues.apache.org/jira/browse/CASSANDRA-3855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13418759#comment-13418759
]
Yuki Morishita commented on CASSANDRA-3855:
-------------------------------------------
I ran cpu profile on trunk and 1.1 with LCS and about 1000 sstables. On 1.1
branch, there is no indication of dominating removeDeletedAndOldShards. But for
trunk, I noticed that it seemed unnecessary CompactionController#shouldPurge is
called inside removeDeletedAndOldShards, where shouldPurge is supposed to be
called only when CF has tombstones. So I looked up the code and I'm not sure if
this
line(https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/AbstractColumnContainer.java#L201)
is correct. If CF is live, returning false for hasIrrelevantData seems right.
Sylvain, what do you think?
> RemoveDeleted dominates compaction time for large sstable counts
> ----------------------------------------------------------------
>
> Key: CASSANDRA-3855
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3855
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 1.1.0
> Reporter: Stu Hood
> Assignee: Yuki Morishita
> Labels: compaction, deletes, leveled
> Attachments: with-cleaning-java.hprof.txt
>
>
> With very large numbers of sstables (2000+ generated by a `bin/stress -n
> 100,000,000` run with LeveledCompactionStrategy),
> PrecompactedRow.removeDeletedAndOldShards dominates compaction runtime, such
> that commenting it out takes compaction throughput from 200KB/s to 12MB/s.
> Stack attached.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira