[ 
https://issues.apache.org/jira/browse/CASSANDRA-6047?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13771008#comment-13771008
 ] 

Jonathan Ellis commented on CASSANDRA-6047:
-------------------------------------------

+1
                
> Memory leak when using snapshot repairs
> ---------------------------------------
>
>                 Key: CASSANDRA-6047
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6047
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: J.B. Langston
>            Assignee: Yuki Morishita
>            Priority: Minor
>             Fix For: 1.2.10
>
>         Attachments: 6047-1.2.txt
>
>
> Running nodetool repair repeatedly with the -snapshot parameter results in a 
> native memory leak. The JVM process will take up more and more physical 
> memory until it is killed by the Linux OOM killer.
> The command used was as follows:
> nodetool repair keyspace -local -snapshot -pr -st start_token -et end_token
> Removing the -snapshot flag prevented the memory leak.  The subrange repair 
> necessitated multiple repairs, so it made the problem noticeable, but I 
> believe the problem would be reproducible even if you ran repair repeatedly 
> without specifying a start and end token.
> Notes from [~yukim]:
> Probably the cause is too many snapshots. Snapshot sstables are opened during 
> validation, but memories used are freed when releaseReferences called. But 
> since snapshots never get marked compacted, memories never freed.
> We only cleanup mmap'd memories when sstable is mark compacted. 
> https://github.com/apache/cassandra/blob/cassandra-1.2/src/java/org/apache/cassandra/io/sstable/SSTableReader.java#L974
> Validation compaction never marks snapshots compacted.

--
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

Reply via email to