You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Oleg Anastasyev (JIRA)" <ji...@apache.org> on 2013/09/23 12:01:02 UTC
[jira] [Updated] (CASSANDRA-6077)
SSTableMetadata.min(max)ColumnNames keep whole SlabAllocatior region
referenced; wasting memory
[ https://issues.apache.org/jira/browse/CASSANDRA-6077?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Oleg Anastasyev updated CASSANDRA-6077:
---------------------------------------
Attachment: ColumnNameHelper.diff
> SSTableMetadata.min(max)ColumnNames keep whole SlabAllocatior region referenced; wasting memory
> -----------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-6077
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6077
> Project: Cassandra
> Issue Type: Bug
> Reporter: Oleg Anastasyev
> Attachments: ColumnNameHelper.diff
>
>
> .. which could be a problem when there is a lot of sstables, when using LCS for example.
> SSTableWriter calls SSTableMetadata.Collector.updateMin(Max)ColumnNames passing List of ByteByffers which reference a small byte array in slab region.
> ColumnNameHelper.mergeMin(Max) just returns a reference of column name back to SSTableMetadata. So the latter keeps whole slab region referenced, preventing it from being GCed.
> Fixed it by making copies of column name bytebuffer, if its size more than column name itself.
--
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