You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2011/04/07 22:12:22 UTC
svn commit: r1089976 - in /cassandra/branches/cassandra-0.7: CHANGES.txt
src/java/org/apache/cassandra/io/CompactionIterator.java
src/java/org/apache/cassandra/io/util/FileUtils.java
Author: slebresne
Date: Thu Apr 7 20:12:22 2011
New Revision: 1089976
URL: http://svn.apache.org/viewvc?rev=1089976&view=rev
Log:
Try harder to close files after compaction
patch by stuhood; reviewed by slebresne for CASSANDRA-2431
Modified:
cassandra/branches/cassandra-0.7/CHANGES.txt
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/CompactionIterator.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/util/FileUtils.java
Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1089976&r1=1089975&r2=1089976&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Thu Apr 7 20:12:22 2011
@@ -24,6 +24,7 @@
* fix race condition that could leave orphaned data files when
dropping CF or KS (CASSANDRA-2381)
* halve default memtable thresholds (CASSANDRA-2413)
+ * Try harder to close files after compaction (CASSANDRA-2431)
0.7.4
Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/CompactionIterator.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/CompactionIterator.java?rev=1089976&r1=1089975&r2=1089976&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/CompactionIterator.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/CompactionIterator.java Thu Apr 7 20:12:22 2011
@@ -36,6 +36,7 @@ import org.apache.cassandra.db.ColumnFam
import org.apache.cassandra.io.sstable.SSTableIdentityIterator;
import org.apache.cassandra.io.sstable.SSTableReader;
import org.apache.cassandra.io.sstable.SSTableScanner;
+import org.apache.cassandra.io.util.FileUtils;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.ReducingIterator;
@@ -149,10 +150,7 @@ implements Closeable, ICompactionInfo
public void close() throws IOException
{
- for (SSTableScanner scanner : getScanners())
- {
- scanner.close();
- }
+ FileUtils.close(getScanners());
}
protected Iterable<SSTableScanner> getScanners()
Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/util/FileUtils.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/util/FileUtils.java?rev=1089976&r1=1089975&r2=1089976&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/util/FileUtils.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/util/FileUtils.java Thu Apr 7 20:12:22 2011
@@ -20,6 +20,7 @@ package org.apache.cassandra.io.util;
import java.io.*;
import java.text.DecimalFormat;
+import java.util.Collection;
import java.util.Comparator;
import java.util.List;
@@ -95,6 +96,26 @@ public class FileUtils
}
}
+ public static void close(Iterable<? extends Closeable> cs) throws IOException
+ {
+ IOException e = null;
+ for (Closeable c : cs)
+ {
+ try
+ {
+ if (c != null)
+ c.close();
+ }
+ catch (IOException ex)
+ {
+ e = ex;
+ logger_.warn("Failed closing stream " + c, ex);
+ }
+ }
+ if (e != null)
+ throw e;
+ }
+
public static class FileComparator implements Comparator<File>
{
public int compare(File f, File f2)