You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by be...@apache.org on 2015/07/28 18:37:11 UTC

[1/6] cassandra git commit: Permit disabling commit log segment recycling, and disable by default

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 9dbf32cd8 -> 8f70bb2f5
  refs/heads/cassandra-2.2 ae179e453 -> 767cb9a66
  refs/heads/trunk fb10df212 -> 442a45a25


Permit disabling commit log segment recycling, and disable by default

patch by benedict; reviewed by driftx for CASSANDRA-9896


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

Branch: refs/heads/cassandra-2.1
Commit: 8f70bb2f5d820079134cdef570d3c16083bc8c91
Parents: 9dbf32c
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Sat Jul 25 17:32:47 2015 +0100
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Tue Jul 28 17:34:25 2015 +0100

----------------------------------------------------------------------
 conf/cassandra.yaml                                             | 4 ++++
 src/java/org/apache/cassandra/config/Config.java                | 1 +
 src/java/org/apache/cassandra/config/DatabaseDescriptor.java    | 5 +++++
 .../apache/cassandra/db/commitlog/CommitLogSegmentManager.java  | 2 +-
 4 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f70bb2f/conf/cassandra.yaml
----------------------------------------------------------------------
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 3047586..a3e54e5 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -255,6 +255,10 @@ commitlog_sync_period_in_ms: 10000
 # is reasonable.
 commitlog_segment_size_in_mb: 32
 
+# Reuse commit log files when possible. The default is false, and this
+# feature will be removed entirely in future versions of Cassandra.
+#commitlog_segment_recycling: false
+
 # any class that implements the SeedProvider interface and has a
 # constructor that takes a Map<String, String> of parameters will do.
 seed_provider:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f70bb2f/src/java/org/apache/cassandra/config/Config.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java
index 31e4cd5..fec6a70 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -164,6 +164,7 @@ public class Config
     public Double commitlog_sync_batch_window_in_ms;
     public Integer commitlog_sync_period_in_ms;
     public int commitlog_segment_size_in_mb = 32;
+    public boolean commitlog_segment_recycling = false;
 
     @Deprecated
     public int commitlog_periodic_queue_size = -1;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f70bb2f/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 68dcd5c..bbecc6b 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -1160,6 +1160,11 @@ public class DatabaseDescriptor
         conf.tombstone_failure_threshold = threshold;
     }
 
+    public static boolean getCommitLogSegmentRecyclingEnabled()
+    {
+        return conf.commitlog_segment_recycling;
+    }
+
     /**
      * size of commitlog segments to allocate
      */

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f70bb2f/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
index 3f7e793..ba37576 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
@@ -354,7 +354,7 @@ public class CommitLogSegmentManager
             discardSegment(segment, false);
             return;
         }
-        if (isCapExceeded())
+        if (isCapExceeded() || !DatabaseDescriptor.getCommitLogSegmentRecyclingEnabled())
         {
             discardSegment(segment, true);
             return;


[6/6] cassandra git commit: Merge branch 'cassandra-2.2' into trunk

Posted by be...@apache.org.
Merge branch 'cassandra-2.2' into trunk


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

Branch: refs/heads/trunk
Commit: 442a45a250b50b712125303b3366a550f86e3ae8
Parents: fb10df2 767cb9a
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Tue Jul 28 17:36:45 2015 +0100
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Tue Jul 28 17:36:45 2015 +0100

----------------------------------------------------------------------

----------------------------------------------------------------------



[2/6] cassandra git commit: Permit disabling commit log segment recycling, and disable by default

Posted by be...@apache.org.
Permit disabling commit log segment recycling, and disable by default

patch by benedict; reviewed by driftx for CASSANDRA-9896


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

Branch: refs/heads/cassandra-2.2
Commit: 8f70bb2f5d820079134cdef570d3c16083bc8c91
Parents: 9dbf32c
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Sat Jul 25 17:32:47 2015 +0100
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Tue Jul 28 17:34:25 2015 +0100

----------------------------------------------------------------------
 conf/cassandra.yaml                                             | 4 ++++
 src/java/org/apache/cassandra/config/Config.java                | 1 +
 src/java/org/apache/cassandra/config/DatabaseDescriptor.java    | 5 +++++
 .../apache/cassandra/db/commitlog/CommitLogSegmentManager.java  | 2 +-
 4 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f70bb2f/conf/cassandra.yaml
----------------------------------------------------------------------
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 3047586..a3e54e5 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -255,6 +255,10 @@ commitlog_sync_period_in_ms: 10000
 # is reasonable.
 commitlog_segment_size_in_mb: 32
 
+# Reuse commit log files when possible. The default is false, and this
+# feature will be removed entirely in future versions of Cassandra.
+#commitlog_segment_recycling: false
+
 # any class that implements the SeedProvider interface and has a
 # constructor that takes a Map<String, String> of parameters will do.
 seed_provider:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f70bb2f/src/java/org/apache/cassandra/config/Config.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java
index 31e4cd5..fec6a70 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -164,6 +164,7 @@ public class Config
     public Double commitlog_sync_batch_window_in_ms;
     public Integer commitlog_sync_period_in_ms;
     public int commitlog_segment_size_in_mb = 32;
+    public boolean commitlog_segment_recycling = false;
 
     @Deprecated
     public int commitlog_periodic_queue_size = -1;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f70bb2f/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 68dcd5c..bbecc6b 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -1160,6 +1160,11 @@ public class DatabaseDescriptor
         conf.tombstone_failure_threshold = threshold;
     }
 
+    public static boolean getCommitLogSegmentRecyclingEnabled()
+    {
+        return conf.commitlog_segment_recycling;
+    }
+
     /**
      * size of commitlog segments to allocate
      */

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f70bb2f/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
index 3f7e793..ba37576 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
@@ -354,7 +354,7 @@ public class CommitLogSegmentManager
             discardSegment(segment, false);
             return;
         }
-        if (isCapExceeded())
+        if (isCapExceeded() || !DatabaseDescriptor.getCommitLogSegmentRecyclingEnabled())
         {
             discardSegment(segment, true);
             return;


[4/6] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by be...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2

Conflicts:
	conf/cassandra.yaml
	src/java/org/apache/cassandra/config/Config.java
	src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java


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

Branch: refs/heads/trunk
Commit: 767cb9a66be2ec8c55ff880890f49c3dbf69dbfa
Parents: ae179e4 8f70bb2
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Tue Jul 28 17:36:25 2015 +0100
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Tue Jul 28 17:36:25 2015 +0100

----------------------------------------------------------------------

----------------------------------------------------------------------



[5/6] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by be...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2

Conflicts:
	conf/cassandra.yaml
	src/java/org/apache/cassandra/config/Config.java
	src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java


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

Branch: refs/heads/cassandra-2.2
Commit: 767cb9a66be2ec8c55ff880890f49c3dbf69dbfa
Parents: ae179e4 8f70bb2
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Tue Jul 28 17:36:25 2015 +0100
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Tue Jul 28 17:36:25 2015 +0100

----------------------------------------------------------------------

----------------------------------------------------------------------



[3/6] cassandra git commit: Permit disabling commit log segment recycling, and disable by default

Posted by be...@apache.org.
Permit disabling commit log segment recycling, and disable by default

patch by benedict; reviewed by driftx for CASSANDRA-9896


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

Branch: refs/heads/trunk
Commit: 8f70bb2f5d820079134cdef570d3c16083bc8c91
Parents: 9dbf32c
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Sat Jul 25 17:32:47 2015 +0100
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Tue Jul 28 17:34:25 2015 +0100

----------------------------------------------------------------------
 conf/cassandra.yaml                                             | 4 ++++
 src/java/org/apache/cassandra/config/Config.java                | 1 +
 src/java/org/apache/cassandra/config/DatabaseDescriptor.java    | 5 +++++
 .../apache/cassandra/db/commitlog/CommitLogSegmentManager.java  | 2 +-
 4 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f70bb2f/conf/cassandra.yaml
----------------------------------------------------------------------
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 3047586..a3e54e5 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -255,6 +255,10 @@ commitlog_sync_period_in_ms: 10000
 # is reasonable.
 commitlog_segment_size_in_mb: 32
 
+# Reuse commit log files when possible. The default is false, and this
+# feature will be removed entirely in future versions of Cassandra.
+#commitlog_segment_recycling: false
+
 # any class that implements the SeedProvider interface and has a
 # constructor that takes a Map<String, String> of parameters will do.
 seed_provider:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f70bb2f/src/java/org/apache/cassandra/config/Config.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java
index 31e4cd5..fec6a70 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -164,6 +164,7 @@ public class Config
     public Double commitlog_sync_batch_window_in_ms;
     public Integer commitlog_sync_period_in_ms;
     public int commitlog_segment_size_in_mb = 32;
+    public boolean commitlog_segment_recycling = false;
 
     @Deprecated
     public int commitlog_periodic_queue_size = -1;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f70bb2f/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 68dcd5c..bbecc6b 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -1160,6 +1160,11 @@ public class DatabaseDescriptor
         conf.tombstone_failure_threshold = threshold;
     }
 
+    public static boolean getCommitLogSegmentRecyclingEnabled()
+    {
+        return conf.commitlog_segment_recycling;
+    }
+
     /**
      * size of commitlog segments to allocate
      */

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f70bb2f/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
index 3f7e793..ba37576 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
@@ -354,7 +354,7 @@ public class CommitLogSegmentManager
             discardSegment(segment, false);
             return;
         }
-        if (isCapExceeded())
+        if (isCapExceeded() || !DatabaseDescriptor.getCommitLogSegmentRecyclingEnabled())
         {
             discardSegment(segment, true);
             return;