[
https://issues.apache.org/jira/browse/CASSANDRA-6077?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oleg Anastasyev updated CASSANDRA-6077:
---------------------------------------
Attachment: (was: 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