[ 
https://issues.apache.org/jira/browse/CASSANDRA-2301?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis updated CASSANDRA-2301:
--------------------------------------

    Attachment: 2301-v2.txt

I'm actually not sure how this could help -- dfile.close() already 
un-references the buffer, so there's no need to set dfile itself to be null.  
Also, the file pointer changes as we read through the file, so changing 
bytescomplete to init-once is broken. (This is what nodetool compactionstats 
uses.)

My guess is that the second time around you just got lucky and index build was 
able to keep up w/ streaming enough to avoid OOMing.

But there is a bug here with the file/buffer handling -- we should lazy-init 
this once we're ready to build the index, rather than when we enqueue the task. 
 Patch attached w/ this approach.

> OOM on repair with many inconsistent ranges
> -------------------------------------------
>
>                 Key: CASSANDRA-2301
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2301
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7.0
>            Reporter: Joaquin Casares
>            Assignee: Joaquin Casares
>             Fix For: 0.7.4
>
>         Attachments: 2301-v2.txt, 2301.diff
>
>
> Repair can OOM when lots of ranges are inconsistent, causing many sstables to 
> be streamed.
> I replicated the error by making 1264 3MB sstables on one node, added a 
> second node, changed the replication factor to 2, and ran a repair.
> Looking at the heap dump of the original failure, there were 2.4GB of 
> FutureTasks, each taking up 8MB of space. I tracked down the 
> BufferedRandomAccessFile and made sure that it was cleared every time it was 
> closed inside of src/java/org/apache/cassandra/io/sstable/SSTableWriter.java.
> Attached is the patch I used which stopped the error when I was trying to 
> replicate it.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to