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 2015/11/13 15:58:57 UTC

[02/19] cassandra git commit: Fix CompressionInfo not being synced on close

Fix CompressionInfo not being synced on close

Patch by stefania; reviewed by aweisberg for CASSANDRA-10534


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

Branch: refs/heads/cassandra-3.1
Commit: 7e056fa27047a868660ff796734dcbd485e1b29a
Parents: e291382
Author: Stefania Alborghetti <st...@datastax.com>
Authored: Fri Nov 13 09:56:08 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Fri Nov 13 09:56:08 2015 -0500

----------------------------------------------------------------------
 .../cassandra/io/compress/CompressionMetadata.java       | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7e056fa2/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 9ac2f89..1dc2df3 100644
--- a/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
+++ b/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
@@ -401,14 +401,19 @@ public class CompressionMetadata
 
         public void close(long dataLength, int chunks) throws IOException
         {
+            FileOutputStream fos = null;
             DataOutputStream out = null;
             try
             {
-            	out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(filePath)));
-	            assert chunks == count;
-	            writeHeader(out, dataLength, chunks);
+                fos = new FileOutputStream(filePath);
+                out = new DataOutputStream(new BufferedOutputStream(fos));
+                assert chunks == count;
+                writeHeader(out, dataLength, chunks);
                 for (int i = 0 ; i < count ; i++)
                     out.writeLong(offsets.getLong(i * 8L));
+
+                out.flush();
+                fos.getFD().sync();
             }
             finally
             {