You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jm...@apache.org on 2014/12/12 18:50:01 UTC

cassandra git commit: Release references to sstables on failed SSTableWriter.openEarly

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 24e895c4c -> c3ac6baac


Release references to sstables on failed SSTableWriter.openEarly

Patch by jmckenzie; reviewed by benedict for CASSANDRA-8248


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c3ac6baa
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c3ac6baa
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c3ac6baa

Branch: refs/heads/cassandra-2.1
Commit: c3ac6baac7bfea790a74fe7bc0a62a65202cb67e
Parents: 24e895c
Author: Joshua McKenzie <jm...@apache.org>
Authored: Fri Dec 12 11:48:37 2014 -0600
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Dec 12 11:48:37 2014 -0600

----------------------------------------------------------------------
 src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 7 +++++++
 1 file changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3ac6baa/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
index 53176e3..ec64561 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
@@ -413,7 +413,11 @@ public class SSTableWriter extends SSTable
         sstable.last = getMinimalKey(exclusiveUpperBoundOfReadableIndex);
         DecoratedKey inclusiveUpperBoundOfReadableData = iwriter.getMaxReadableKey(1);
         if (inclusiveUpperBoundOfReadableData == null)
+        {
+            // Prevent leaving tmplink files on disk
+            sstable.releaseReference();
             return null;
+        }
         int offset = 2;
         while (true)
         {
@@ -422,7 +426,10 @@ public class SSTableWriter extends SSTable
                 break;
             inclusiveUpperBoundOfReadableData = iwriter.getMaxReadableKey(offset++);
             if (inclusiveUpperBoundOfReadableData == null)
+            {
+                sstable.releaseReference();
                 return null;
+            }
         }
         sstable.last = getMinimalKey(inclusiveUpperBoundOfReadableData);
         return sstable;