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
{