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