cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CASSANDRA-2313) CommutativeRowIndexer always read full row in memory
Date Wed, 16 Mar 2011 10:49:30 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-2313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Sylvain Lebresne updated CASSANDRA-2313:
----------------------------------------

    Attachment: 0002-Make-CommutativeRowIndexer-uses-AbstractCompactionRo.patch
                0001-Introduce-CompactionController-to-handler-compaction.patch

Attaching patch against trunk.

This turns out to be slightly harder than expected because (PreCompacted|LazilyCompacted)Row
and SSTableIdentityIterator were relying on a SSTableReader, but while rebuilding the index,
we don't have one yet (and faking one would probably be fragile).

Instead, a first patch introduces CompactionController, that is used to manage the compaction
options. This remove parts of the dependency mentioned above.  I also think that it cleans
code and slightly optimize it in that it avoid recreating a HashSet of the sstables for each
given row.

The second patch modify CommutativeRowIndexer to use (PreCompacted|LazilyCompacted)Row, which
actually greatly simply the code there.


> CommutativeRowIndexer always read full row in memory
> ----------------------------------------------------
>
>                 Key: CASSANDRA-2313
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2313
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.8
>            Reporter: Sylvain Lebresne
>            Assignee: Sylvain Lebresne
>             Fix For: 0.8
>
>         Attachments: 0001-Introduce-CompactionController-to-handler-compaction.patch,
0002-Make-CommutativeRowIndexer-uses-AbstractCompactionRo.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> CommutativeRowIndexer use CFSerializer.deserializeColumns() that read the full row in
memory. We should use PreCompactedRow/LazilyCompactedRow instead to avoid this on huge row.
> As an added benefit, using PreCompactedRow will avoid a current seek back to write the
row size.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message