Repository: cassandra
Updated Branches:
  refs/heads/trunk 44f8254df -> 966ff2159


Fix SSTableReader.runOnClose running after dependent resources closed;
bug introduced by CASSANDRA-8746

patch by benedict; reviewed by josh for CASSANDRA-9021


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

Branch: refs/heads/trunk
Commit: c397165dcf17111c0dc54af5b4f671983590263d
Parents: 5639eac
Author: Benedict Elliott Smith <bened...@apache.org>
Authored: Tue Mar 24 23:46:29 2015 +0000
Committer: Benedict Elliott Smith <bened...@apache.org>
Committed: Tue Mar 24 23:46:29 2015 +0000

----------------------------------------------------------------------
 src/java/org/apache/cassandra/io/sstable/SSTableReader.java | 4 ++--
 src/java/org/apache/cassandra/io/util/SafeMemory.java       | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c397165d/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
index 2bc32d3..f5eef09 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
@@ -2029,12 +2029,12 @@ public class SSTableReader extends SSTable implements 
SelfRefCounted<SSTableRead
                     if (barrier != null)
                         barrier.await();
                     bf.close();
-                    dfile.close();
-                    ifile.close();
                     if (summary != null)
                         summary.close();
                     if (runOnClose != null)
                         runOnClose.run();
+                    dfile.close();
+                    ifile.close();
                     typeRef.release();
                 }
             });

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c397165d/src/java/org/apache/cassandra/io/util/SafeMemory.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/util/SafeMemory.java 
b/src/java/org/apache/cassandra/io/util/SafeMemory.java
index 74a1f1e..45419a6 100644
--- a/src/java/org/apache/cassandra/io/util/SafeMemory.java
+++ b/src/java/org/apache/cassandra/io/util/SafeMemory.java
@@ -52,11 +52,13 @@ public class SafeMemory extends Memory implements 
SharedCloseable
     public void free()
     {
         ref.release();
+        peer = 0;
     }
 
     public void close()
     {
         ref.ensureReleased();
+        peer = 0;
     }
 
     public SafeMemory copy(long newSize)

Reply via email to