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:44 UTC

[1/6] git commit: fsync compression metadata patch by jbellis; reviewed by Pavel Yaskevich for CASSANDRA-6531

Updated Branches:
  refs/heads/cassandra-1.2 f219e83b6 -> ecbf0fd6f
  refs/heads/cassandra-2.0 dc2412243 -> 6a211f485
  refs/heads/trunk e9a678319 -> 70f7574a4


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/cassandra-1.2
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


[4/6] git commit: merge from 1.2

Posted by jb...@apache.org.
merge from 1.2


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

Branch: refs/heads/trunk
Commit: 6a211f485f121c3e2cb2e547911cce86584a24b2
Parents: dc24122 ecbf0fd
Author: Jonathan Ellis <jb...@apache.org>
Authored: Sat Dec 28 00:17:16 2013 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Sat Dec 28 00:17:16 2013 -0600

----------------------------------------------------------------------
 CHANGES.txt                                                   | 5 +++++
 .../org/apache/cassandra/io/compress/CompressionMetadata.java | 7 ++++++-
 src/java/org/apache/cassandra/io/util/SequentialWriter.java   | 4 ++++
 3 files changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6a211f48/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 93cdd81,6c63f9d..0396006
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,24 -1,14 +1,29 @@@
 -1.2.14
 - * Allow executing CREATE statements multiple times (CASSANDRA-6471)
 - * Don't send confusing info with timeouts (CASSANDRA-6491)
 - * Don't resubmit counter mutation runnables internally (CASSANDRA-6427)
 - * 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)
++2.0.5
++Merged from 1.2:
+  * fsync compression metadata (CASSANDRA-6531)
+ 
+ 
 -1.2.13
 +2.0.4
 + * Allow removing snapshots of no-longer-existing CFs (CASSANDRA-6418)
 + * add StorageService.stopDaemon() (CASSANDRA-4268)
 + * add IRE for invalid CF supplied to get_count (CASSANDRA-5701)
 + * add client encryption support to sstableloader (CASSANDRA-6378)
 + * Fix accept() loop for SSL sockets post-shutdown (CASSANDRA-6468)
 + * Fix size-tiered compaction in LCS L0 (CASSANDRA-6496)
 + * Fix assertion failure in filterColdSSTables (CASSANDRA-6483)
 + * Fix row tombstones in larger-than-memory compactions (CASSANDRA-6008)
 + * Fix cleanup ClassCastException (CASSANDRA-6462)
 + * Reduce gossip memory use by interning VersionedValue strings (CASSANDRA-6410)
 + * Allow specifying datacenters to participate in a repair (CASSANDRA-6218)
 + * Fix divide-by-zero in PCI (CASSANDRA-6403)
 + * Fix setting last compacted key in the wrong level for LCS (CASSANDRA-6284)
 + * Add millisecond precision formats to the timestamp parser (CASSANDRA-6395)
 + * Expose a total memtable size metric for a CF (CASSANDRA-6391)
 + * cqlsh: handle symlinks properly (CASSANDRA-6425)
 + * Fix potential infinite loop when paging query with IN (CASSANDRA-6464)
 + * Fix assertion error in AbstractQueryPager.discardFirst (CASSANDRA-6447)
 + * Fix streaming older SSTable yields unnecessary tombstones (CASSANDRA-6527)
 +Merged from 1.2:
   * Improved error message on bad properties in DDL queries (CASSANDRA-6453)
   * Randomize batchlog candidates selection (CASSANDRA-6481)
   * Fix thundering herd on endpoint cache invalidation (CASSANDRA-6345, 6485)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6a211f48/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6a211f48/src/java/org/apache/cassandra/io/util/SequentialWriter.java
----------------------------------------------------------------------


[2/6] git commit: fsync compression metadata patch by jbellis; reviewed by Pavel Yaskevich for CASSANDRA-6531

Posted by jb...@apache.org.
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/cassandra-2.0
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


[3/6] git commit: fsync compression metadata patch by jbellis; reviewed by Pavel Yaskevich for CASSANDRA-6531

Posted by jb...@apache.org.
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


[5/6] git commit: merge from 1.2

Posted by jb...@apache.org.
merge from 1.2


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

Branch: refs/heads/cassandra-2.0
Commit: 6a211f485f121c3e2cb2e547911cce86584a24b2
Parents: dc24122 ecbf0fd
Author: Jonathan Ellis <jb...@apache.org>
Authored: Sat Dec 28 00:17:16 2013 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Sat Dec 28 00:17:16 2013 -0600

----------------------------------------------------------------------
 CHANGES.txt                                                   | 5 +++++
 .../org/apache/cassandra/io/compress/CompressionMetadata.java | 7 ++++++-
 src/java/org/apache/cassandra/io/util/SequentialWriter.java   | 4 ++++
 3 files changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6a211f48/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 93cdd81,6c63f9d..0396006
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,24 -1,14 +1,29 @@@
 -1.2.14
 - * Allow executing CREATE statements multiple times (CASSANDRA-6471)
 - * Don't send confusing info with timeouts (CASSANDRA-6491)
 - * Don't resubmit counter mutation runnables internally (CASSANDRA-6427)
 - * 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)
++2.0.5
++Merged from 1.2:
+  * fsync compression metadata (CASSANDRA-6531)
+ 
+ 
 -1.2.13
 +2.0.4
 + * Allow removing snapshots of no-longer-existing CFs (CASSANDRA-6418)
 + * add StorageService.stopDaemon() (CASSANDRA-4268)
 + * add IRE for invalid CF supplied to get_count (CASSANDRA-5701)
 + * add client encryption support to sstableloader (CASSANDRA-6378)
 + * Fix accept() loop for SSL sockets post-shutdown (CASSANDRA-6468)
 + * Fix size-tiered compaction in LCS L0 (CASSANDRA-6496)
 + * Fix assertion failure in filterColdSSTables (CASSANDRA-6483)
 + * Fix row tombstones in larger-than-memory compactions (CASSANDRA-6008)
 + * Fix cleanup ClassCastException (CASSANDRA-6462)
 + * Reduce gossip memory use by interning VersionedValue strings (CASSANDRA-6410)
 + * Allow specifying datacenters to participate in a repair (CASSANDRA-6218)
 + * Fix divide-by-zero in PCI (CASSANDRA-6403)
 + * Fix setting last compacted key in the wrong level for LCS (CASSANDRA-6284)
 + * Add millisecond precision formats to the timestamp parser (CASSANDRA-6395)
 + * Expose a total memtable size metric for a CF (CASSANDRA-6391)
 + * cqlsh: handle symlinks properly (CASSANDRA-6425)
 + * Fix potential infinite loop when paging query with IN (CASSANDRA-6464)
 + * Fix assertion error in AbstractQueryPager.discardFirst (CASSANDRA-6447)
 + * Fix streaming older SSTable yields unnecessary tombstones (CASSANDRA-6527)
 +Merged from 1.2:
   * Improved error message on bad properties in DDL queries (CASSANDRA-6453)
   * Randomize batchlog candidates selection (CASSANDRA-6481)
   * Fix thundering herd on endpoint cache invalidation (CASSANDRA-6345, 6485)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6a211f48/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6a211f48/src/java/org/apache/cassandra/io/util/SequentialWriter.java
----------------------------------------------------------------------


[6/6] git commit: merge from 2.0

Posted by jb...@apache.org.
merge from 2.0


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

Branch: refs/heads/trunk
Commit: 70f7574a43c364f5658adb15d5649bc18b9da0cc
Parents: e9a6783 6a211f4
Author: Jonathan Ellis <jb...@apache.org>
Authored: Sat Dec 28 00:17:38 2013 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Sat Dec 28 00:17:38 2013 -0600

----------------------------------------------------------------------
 CHANGES.txt                                                   | 5 +++++
 .../org/apache/cassandra/io/compress/CompressionMetadata.java | 7 ++++++-
 src/java/org/apache/cassandra/io/util/SequentialWriter.java   | 4 ++++
 3 files changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/70f7574a/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 8716150,0396006..0974925
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,26 -1,8 +1,31 @@@
 +2.1
 + * Multithreaded commitlog (CASSANDRA-3578)
 + * allocate fixed index summary memory pool and resample cold index summaries 
 +   to use less memory (CASSANDRA-5519)
 + * Removed multithreaded compaction (CASSANDRA-6142)
 + * Parallelize fetching rows for low-cardinality indexes (CASSANDRA-1337)
 + * change logging from log4j to logback (CASSANDRA-5883)
 + * switch to LZ4 compression for internode communication (CASSANDRA-5887)
 + * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971)
 + * Remove 1.2 network compatibility code (CASSANDRA-5960)
 + * Remove leveled json manifest migration code (CASSANDRA-5996)
 + * Remove CFDefinition (CASSANDRA-6253)
 + * Use AtomicIntegerFieldUpdater in RefCountedMemory (CASSANDRA-6278)
 + * User-defined types for CQL3 (CASSANDRA-5590)
 + * Use of o.a.c.metrics in nodetool (CASSANDRA-5871, 6406)
 + * Batch read from OTC's queue and cleanup (CASSANDRA-1632)
 + * Secondary index support for collections (CASSANDRA-4511)
 + * SSTable metadata(Stats.db) format change (CASSANDRA-6356)
 + * Push composites support in the storage engine (CASSANDRA-5417)
 + * Add snapshot space used to cfstats (CASSANDRA-6231)
 + * Add cardinality estimator for key count estimation (CASSANDRA-5906)
 +
 +
+ 2.0.5
+ Merged from 1.2:
+  * fsync compression metadata (CASSANDRA-6531)
+ 
+ 
  2.0.4
   * Allow removing snapshots of no-longer-existing CFs (CASSANDRA-6418)
   * add StorageService.stopDaemon() (CASSANDRA-4268)