You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by db...@apache.org on 2014/04/26 04:56:55 UTC
git commit: buffer writing of compression meta data,
and make sure stream is closed
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.1 a6efffe58 -> fccc123af
buffer writing of compression meta data, and make sure stream is closed
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fccc123a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fccc123a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fccc123a
Branch: refs/heads/cassandra-2.1
Commit: fccc123af1a1f120fd86db65dfa09fe4c85a18d6
Parents: a6efffe
Author: Dave Brosius <db...@mebigfatguy.com>
Authored: Fri Apr 25 22:56:12 2014 -0400
Committer: Dave Brosius <db...@mebigfatguy.com>
Committed: Fri Apr 25 22:56:12 2014 -0400
----------------------------------------------------------------------
.../io/compress/CompressionMetadata.java | 23 ++++++++++++++------
1 file changed, 16 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/fccc123a/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java b/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
index 8cd8c9f..abb067f 100644
--- a/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
+++ b/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
@@ -17,6 +17,7 @@
*/
package org.apache.cassandra.io.compress;
+import java.io.BufferedOutputStream;
import java.io.DataInput;
import java.io.DataInputStream;
import java.io.DataOutput;
@@ -49,6 +50,7 @@ import org.apache.cassandra.io.sstable.Descriptor;
import org.apache.cassandra.io.util.DataOutputPlus;
import org.apache.cassandra.io.util.FileUtils;
import org.apache.cassandra.io.util.Memory;
+import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.Pair;
/**
@@ -329,7 +331,7 @@ public class CompressionMetadata
*/
public long chunkOffsetBy(int chunkIndex)
{
- return offsets.getLong(chunkIndex * 8);
+ return offsets.getLong(chunkIndex * 8L);
}
/**
@@ -343,12 +345,19 @@ public class CompressionMetadata
public void close(long dataLength, int chunks) throws IOException
{
- final DataOutputStream out = new DataOutputStream(new FileOutputStream(filePath));
- assert chunks == count;
- writeHeader(out, dataLength, chunks);
- for (int i = 0 ; i < count ; i++)
- out.writeLong(offsets.getLong(i * 8));
- out.close();
+ DataOutputStream out = null;
+ try
+ {
+ out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(filePath)));
+ assert chunks == count;
+ writeHeader(out, dataLength, chunks);
+ for (int i = 0 ; i < count ; i++)
+ out.writeLong(offsets.getLong(i * 8));
+ }
+ finally
+ {
+ FileUtils.closeQuietly(out);
+ }
}
}