You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Rick Branson (JIRA)" <ji...@apache.org> on 2013/05/15 01:46:19 UTC

[jira] [Created] (CASSANDRA-5569) Every stream operation requires checking indexes in every SSTable

Rick Branson created CASSANDRA-5569:
---------------------------------------

             Summary: Every stream operation requires checking indexes in every SSTable
                 Key: CASSANDRA-5569
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5569
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 1.2.4
            Reporter: Rick Branson
            Assignee: Rick Branson
             Fix For: 1.2.4


It looks like there's a streaming performance issue when leveled compaction and vnodes get together. To get the candidate set of chunks to stream, the streaming system gets references to every SSTable for a CF. This is probably a perfectly reasonable assumption for non-vnode cases, because the data being streamed is likely distributed across the full SSTable set. This is also probably a perfectly reasonable assumption for size-tiered compaction, because the data is, again, likely distributed across the full SSTable set. However, for each vnode repair performed on LCS CF's, this scan across potentially tens of thousands of SSTables is wasteful considering that only a small percentage of them will actually have data for a given range.

This manifested itself as "hanging" repair operations with tasks backing up on the MiscStage thread pool.

The attached patch changes the streaming code so that for a given range, only SSTables for the requested range are checked to be included in streaming.

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