You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2013/12/28 07:17:46 UTC
[3/6] git commit: fsync compression metadata patch by jbellis;
reviewed by Pavel Yaskevich for CASSANDRA-6531
fsync compression metadata
patch by jbellis; reviewed by Pavel Yaskevich for CASSANDRA-6531
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ecbf0fd6
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ecbf0fd6
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ecbf0fd6
Branch: refs/heads/trunk
Commit: ecbf0fd6f9e2b0dd9c5f0c5439b677388d4caf9c
Parents: f219e83
Author: Jonathan Ellis <jb...@apache.org>
Authored: Sat Dec 28 00:16:02 2013 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Sat Dec 28 00:16:27 2013 -0600
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/io/compress/CompressionMetadata.java | 7 ++++++-
src/java/org/apache/cassandra/io/util/SequentialWriter.java | 4 ++++
3 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ecbf0fd6/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 4eee4ee..6c63f9d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -5,6 +5,7 @@
* Don't drop local mutations without a trace (CASSANDRA-6510)
* Don't allow null max_hint_window_in_ms (CASSANDRA-6419)
* Validate SliceRange start and finish lengths (CASSANDRA-6521)
+ * fsync compression metadata (CASSANDRA-6531)
1.2.13
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ecbf0fd6/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 93b0091..7a3f4e7 100644
--- a/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
+++ b/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
@@ -284,7 +284,6 @@ public class CompressionMetadata
try
{
-
// seek back to the data length position
seek(dataLengthOffset);
@@ -358,6 +357,12 @@ public class CompressionMetadata
throw new FSWriteError(e, filePath);
}
}
+
+ public void close() throws IOException
+ {
+ getFD().sync();
+ super.close();
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ecbf0fd6/src/java/org/apache/cassandra/io/util/SequentialWriter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/util/SequentialWriter.java b/src/java/org/apache/cassandra/io/util/SequentialWriter.java
index 77d4fcf..7508085 100644
--- a/src/java/org/apache/cassandra/io/util/SequentialWriter.java
+++ b/src/java/org/apache/cassandra/io/util/SequentialWriter.java
@@ -27,6 +27,10 @@ import org.apache.cassandra.io.FSReadError;
import org.apache.cassandra.io.FSWriteError;
import org.apache.cassandra.utils.CLibrary;
+/**
+ * Adds buffering, mark, and fsyncing to OutputStream. We always fsync on close; we may also
+ * fsync incrementally if Config.trickle_fsync is enabled.
+ */
public class SequentialWriter extends OutputStream
{
// isDirty - true if this.buffer contains any un-synced bytes