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

Pierre N. commented on CASSANDRA-9285:
--------------------------------------

Didn't installed 2.1.5 as a server yet.

Following may fix the issue

{code:none}
diff --git a/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java 
b/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
index 9ac2f89..1cd7956 100644
--- a/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
+++ b/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
@@ -409,6 +409,7 @@ public class CompressionMetadata
                    writeHeader(out, dataLength, chunks);
                 for (int i = 0 ; i < count ; i++)
                     out.writeLong(offsets.getLong(i * 8L));
+                offsets.close();
             }
             finally
             {
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
index a39c134..9648636 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
@@ -486,6 +486,7 @@ public class SSTableWriter extends SSTable
             case EARLY: case CLOSE: case NORMAL:
             iwriter.close();
             dataFile.close();
+            iwriter.summary.close();
             if (type == FinishType.CLOSE)
                 iwriter.bf.close();
         }
{code}

> LEAK DETECTED in sstwriter
> --------------------------
>
>                 Key: CASSANDRA-9285
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9285
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Pierre N.
>             Fix For: 2.1.x
>
>
> reproduce bug : 
> {code}
>     public static void main(String[] args) throws Exception {
>         System.setProperty("cassandra.debugrefcount","true");
>         
>         String ks = "ks1";
>         String table = "t1";
>         
>         String schema = "CREATE TABLE " + ks + "." + table + "(a1 INT, 
> PRIMARY KEY (a1));";
>         String insert = "INSERT INTO "+ ks + "." + table + "(a1) VALUES(?);";
>         
>         File dir = new File("/var/tmp/" + ks + "/" + table);
>         dir.mkdirs();
>         
>         CQLSSTableWriter writer = 
> CQLSSTableWriter.builder().forTable(schema).using(insert).inDirectory(dir).build();
>         
>         writer.addRow(1);
>         writer.close();
>         writer = null;
>         
>         Thread.sleep(1000);System.gc();
>         Thread.sleep(1000);System.gc();
>     }
> {code}
> {quote}
> [2015-05-01 16:09:59,139] [Reference-Reaper:1] ERROR 
> org.apache.cassandra.utils.concurrent.Ref - LEAK DETECTED: a reference 
> (org.apache.cassandra.utils.concurrent.Ref$State@79fa9da9) to class 
> org.apache.cassandra.io.util.SafeMemory$MemoryTidy@2053866990:Memory@[7f87f8043b20..7f87f8043b48)
>  was not released before the reference was garbage collected
> [2015-05-01 16:09:59,143] [Reference-Reaper:1] ERROR 
> org.apache.cassandra.utils.concurrent.Ref - Allocate trace 
> org.apache.cassandra.utils.concurrent.Ref$State@79fa9da9:
> Thread[Thread-2,5,main]
>       at java.lang.Thread.getStackTrace(Thread.java:1552)
>       at org.apache.cassandra.utils.concurrent.Ref$Debug.<init>(Ref.java:200)
>       at org.apache.cassandra.utils.concurrent.Ref$State.<init>(Ref.java:133)
>       at org.apache.cassandra.utils.concurrent.Ref.<init>(Ref.java:60)
>       at org.apache.cassandra.io.util.SafeMemory.<init>(SafeMemory.java:32)
>       at 
> org.apache.cassandra.io.util.SafeMemoryWriter.<init>(SafeMemoryWriter.java:33)
>       at 
> org.apache.cassandra.io.sstable.IndexSummaryBuilder.<init>(IndexSummaryBuilder.java:111)
>       at 
> org.apache.cassandra.io.sstable.SSTableWriter$IndexWriter.<init>(SSTableWriter.java:576)
>       at 
> org.apache.cassandra.io.sstable.SSTableWriter.<init>(SSTableWriter.java:140)
>       at 
> org.apache.cassandra.io.sstable.AbstractSSTableSimpleWriter.getWriter(AbstractSSTableSimpleWriter.java:58)
>       at 
> org.apache.cassandra.io.sstable.SSTableSimpleUnsortedWriter$DiskWriter.run(SSTableSimpleUnsortedWriter.java:227)
> [2015-05-01 16:09:59,144] [Reference-Reaper:1] ERROR 
> org.apache.cassandra.utils.concurrent.Ref - LEAK DETECTED: a reference 
> (org.apache.cassandra.utils.concurrent.Ref$State@664382e3) to class 
> org.apache.cassandra.io.util.SafeMemory$MemoryTidy@899100784:Memory@[7f87f8043990..7f87f8043994)
>  was not released before the reference was garbage collected
> [2015-05-01 16:09:59,144] [Reference-Reaper:1] ERROR 
> org.apache.cassandra.utils.concurrent.Ref - Allocate trace 
> org.apache.cassandra.utils.concurrent.Ref$State@664382e3:
> Thread[Thread-2,5,main]
>       at java.lang.Thread.getStackTrace(Thread.java:1552)
>       at org.apache.cassandra.utils.concurrent.Ref$Debug.<init>(Ref.java:200)
>       at org.apache.cassandra.utils.concurrent.Ref$State.<init>(Ref.java:133)
>       at org.apache.cassandra.utils.concurrent.Ref.<init>(Ref.java:60)
>       at org.apache.cassandra.io.util.SafeMemory.<init>(SafeMemory.java:32)
>       at 
> org.apache.cassandra.io.util.SafeMemoryWriter.<init>(SafeMemoryWriter.java:33)
>       at 
> org.apache.cassandra.io.sstable.IndexSummaryBuilder.<init>(IndexSummaryBuilder.java:110)
>       at 
> org.apache.cassandra.io.sstable.SSTableWriter$IndexWriter.<init>(SSTableWriter.java:576)
>       at 
> org.apache.cassandra.io.sstable.SSTableWriter.<init>(SSTableWriter.java:140)
>       at 
> org.apache.cassandra.io.sstable.AbstractSSTableSimpleWriter.getWriter(AbstractSSTableSimpleWriter.java:58)
>       at 
> org.apache.cassandra.io.sstable.SSTableSimpleUnsortedWriter$DiskWriter.run(SSTableSimpleUnsortedWriter.java:227)
> [2015-05-01 16:09:59,144] [Reference-Reaper:1] ERROR 
> org.apache.cassandra.utils.concurrent.Ref - LEAK DETECTED: a reference 
> (org.apache.cassandra.utils.concurrent.Ref$State@3cca0ac2) to class 
> org.apache.cassandra.io.util.SafeMemory$MemoryTidy@499043670:Memory@[7f87f8039940..7f87f8039c60)
>  was not released before the reference was garbage collected
> [2015-05-01 16:09:59,144] [Reference-Reaper:1] ERROR 
> org.apache.cassandra.utils.concurrent.Ref - Allocate trace 
> org.apache.cassandra.utils.concurrent.Ref$State@3cca0ac2:
> Thread[Thread-2,5,main]
>       at java.lang.Thread.getStackTrace(Thread.java:1552)
>       at org.apache.cassandra.utils.concurrent.Ref$Debug.<init>(Ref.java:200)
>       at org.apache.cassandra.utils.concurrent.Ref$State.<init>(Ref.java:133)
>       at org.apache.cassandra.utils.concurrent.Ref.<init>(Ref.java:60)
>       at org.apache.cassandra.io.util.SafeMemory.<init>(SafeMemory.java:32)
>       at 
> org.apache.cassandra.io.compress.CompressionMetadata$Writer.<init>(CompressionMetadata.java:274)
>       at 
> org.apache.cassandra.io.compress.CompressionMetadata$Writer.open(CompressionMetadata.java:285)
>       at 
> org.apache.cassandra.io.compress.CompressedSequentialWriter.<init>(CompressedSequentialWriter.java:74)
>       at 
> org.apache.cassandra.io.util.SequentialWriter.open(SequentialWriter.java:124)
>       at 
> org.apache.cassandra.io.sstable.SSTableWriter.<init>(SSTableWriter.java:129)
>       at 
> org.apache.cassandra.io.sstable.AbstractSSTableSimpleWriter.getWriter(AbstractSSTableSimpleWriter.java:58)
>       at 
> org.apache.cassandra.io.sstable.SSTableSimpleUnsortedWriter$DiskWriter.run(SSTableSimpleUnsortedWriter.java:227)
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to