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 11:59:05 UTC
[jira] [Created] (CASSANDRA-6077)
SSTableMetadata.min(max)ColumnNames keep whole SlabAllocatior region
referenced; wasting memory
Oleg Anastasyev created CASSANDRA-6077:
------------------------------------------
Summary: 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
.. 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