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 2016/07/11 20:45:28 UTC

[01/10] cassandra git commit: Make GCInspector min log duration configurable

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 9a8406f2f -> f0d1d75eb
  refs/heads/cassandra-3.0 5861cd8fe -> e99ee1995
  refs/heads/cassandra-3.9 56abaca04 -> 76188e952
  refs/heads/trunk 1f74142d7 -> 9fed08449


Make GCInspector min log duration configurable

Patch by jjirsa; reviewed by jmckenzie for CASSANDRA-11715


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

Branch: refs/heads/cassandra-2.2
Commit: f0d1d75ebf10beff6d24323c03c57e29dcd38c15
Parents: 9a8406f
Author: Jeff Jirsa <je...@jeffjirsa.net>
Authored: Mon Jul 11 16:27:04 2016 -0400
Committer: Josh McKenzie <jm...@apache.org>
Committed: Mon Jul 11 16:27:04 2016 -0400

----------------------------------------------------------------------
 conf/cassandra.yaml                                       |  7 ++++++-
 src/java/org/apache/cassandra/config/Config.java          |  1 +
 .../org/apache/cassandra/config/DatabaseDescriptor.java   | 10 ++++++++++
 src/java/org/apache/cassandra/service/GCInspector.java    |  2 +-
 4 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/conf/cassandra.yaml
----------------------------------------------------------------------
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 35e94d2..4ad798a 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -858,9 +858,14 @@ inter_dc_tcp_nodelay: false
 tracetype_query_ttl: 86400
 tracetype_repair_ttl: 604800
 
+# By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
+# This threshold can be adjusted to minimize logging if necessary
+# gc_log_threshold_in_ms: 200
+
 # GC Pauses greater than gc_warn_threshold_in_ms will be logged at WARN level
+# If unset, all GC Pauses greater than gc_log_threshold_in_ms will log at
+# INFO level
 # Adjust the threshold based on your application throughput requirement
-# By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
 # gc_warn_threshold_in_ms: 1000
 
 # UDFs (user defined functions) are disabled by default.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/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 9736a03..ede4560 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -254,6 +254,7 @@ public class Config
     public volatile Long index_summary_capacity_in_mb;
     public volatile int index_summary_resize_interval_in_minutes = 60;
 
+    public int gc_log_threshold_in_ms = 200;
     public int gc_warn_threshold_in_ms = 0;
 
     private static final CsvPreference STANDARD_SURROUNDING_SPACES_NEED_QUOTES = new CsvPreference.Builder(CsvPreference.STANDARD_PREFERENCE)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/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 d3a5028..f1acfc4 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -366,6 +366,11 @@ public class DatabaseDescriptor
         }
         paritionerName = partitioner.getClass().getCanonicalName();
 
+        if (config.gc_log_threshold_in_ms < 0)
+        {
+            throw new ConfigurationException("gc_log_threshold_in_ms must be a positive integer");
+        }
+
         if (conf.gc_warn_threshold_in_ms < 0)
         {
             throw new ConfigurationException("gc_warn_threshold_in_ms must be a positive integer");
@@ -1801,6 +1806,11 @@ public class DatabaseDescriptor
         return conf.windows_timer_interval;
     }
 
+    public static long getGCLogThreshold()
+    {
+        return conf.gc_log_threshold_in_ms;
+    }
+
     public static long getGCWarnThreshold()
     {
         return conf.gc_warn_threshold_in_ms;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/src/java/org/apache/cassandra/service/GCInspector.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/GCInspector.java b/src/java/org/apache/cassandra/service/GCInspector.java
index de5acc0..31de151 100644
--- a/src/java/org/apache/cassandra/service/GCInspector.java
+++ b/src/java/org/apache/cassandra/service/GCInspector.java
@@ -48,7 +48,7 @@ public class GCInspector implements NotificationListener, GCInspectorMXBean
 {
     public static final String MBEAN_NAME = "org.apache.cassandra.service:type=GCInspector";
     private static final Logger logger = LoggerFactory.getLogger(GCInspector.class);
-    final static long MIN_LOG_DURATION = 200;
+    final static long MIN_LOG_DURATION = DatabaseDescriptor.getGCLogThreshold();
     final static long GC_WARN_THRESHOLD_IN_MS = DatabaseDescriptor.getGCWarnThreshold();
     final static long STAT_THRESHOLD = GC_WARN_THRESHOLD_IN_MS != 0 ? GC_WARN_THRESHOLD_IN_MS : MIN_LOG_DURATION;
 


[05/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by jm...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.9
Commit: e99ee19950e764ca55331d7c814e965bef359a4f
Parents: 5861cd8 f0d1d75
Author: Josh McKenzie <jm...@apache.org>
Authored: Mon Jul 11 16:28:13 2016 -0400
Committer: Josh McKenzie <jm...@apache.org>
Committed: Mon Jul 11 16:28:22 2016 -0400

----------------------------------------------------------------------
 conf/cassandra.yaml                                       |  7 ++++++-
 src/java/org/apache/cassandra/config/Config.java          |  1 +
 .../org/apache/cassandra/config/DatabaseDescriptor.java   | 10 ++++++++++
 src/java/org/apache/cassandra/service/GCInspector.java    |  2 +-
 4 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e99ee199/conf/cassandra.yaml
----------------------------------------------------------------------
diff --cc conf/cassandra.yaml
index 4b92f64,4ad798a..09d2094
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@@ -924,21 -858,23 +924,26 @@@ inter_dc_tcp_nodelay: fals
  tracetype_query_ttl: 86400
  tracetype_repair_ttl: 604800
  
+ # By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
+ # This threshold can be adjusted to minimize logging if necessary
+ # gc_log_threshold_in_ms: 200
+ 
  # GC Pauses greater than gc_warn_threshold_in_ms will be logged at WARN level
+ # If unset, all GC Pauses greater than gc_log_threshold_in_ms will log at
+ # INFO level
  # Adjust the threshold based on your application throughput requirement
- # By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
 -# gc_warn_threshold_in_ms: 1000
 +gc_warn_threshold_in_ms: 1000
  
  # UDFs (user defined functions) are disabled by default.
 -# As of Cassandra 2.2, there is no security manager or anything else in place that
 -# prevents execution of evil code. CASSANDRA-9402 will fix this issue for Cassandra 3.0.
 -# This will inherently be backwards-incompatible with any 2.2 UDF that perform insecure
 -# operations such as opening a socket or writing to the filesystem.
 +# As of Cassandra 3.0 there is a sandbox in place that should prevent execution of evil code.
  enable_user_defined_functions: false
  
 +# Enables scripted UDFs (JavaScript UDFs).
 +# Java UDFs are always enabled, if enable_user_defined_functions is true.
 +# Enable this option to be able to use UDFs with "language javascript" or any custom JSR-223 provider.
 +# This option has no effect, if enable_user_defined_functions is false.
 +enable_scripted_user_defined_functions: false
 +
  # The default Windows kernel timer and scheduling resolution is 15.6ms for power conservation.
  # Lowering this value on Windows can provide much tighter latency and better throughput, however
  # some virtualized environments may see a negative performance impact from changing this setting

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e99ee199/src/java/org/apache/cassandra/config/Config.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/config/Config.java
index b49e14c,ede4560..2bd23b5
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@@ -265,8 -254,12 +265,9 @@@ public class Confi
      public volatile Long index_summary_capacity_in_mb;
      public volatile int index_summary_resize_interval_in_minutes = 60;
  
+     public int gc_log_threshold_in_ms = 200;
      public int gc_warn_threshold_in_ms = 0;
  
 -    private static final CsvPreference STANDARD_SURROUNDING_SPACES_NEED_QUOTES = new CsvPreference.Builder(CsvPreference.STANDARD_PREFERENCE)
 -                                                                                                  .surroundingSpacesNeedQuotes(true).build();
 -
      // TTL for different types of trace events.
      public int tracetype_query_ttl = (int) TimeUnit.DAYS.toSeconds(1);
      public int tracetype_repair_ttl = (int) TimeUnit.DAYS.toSeconds(7);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e99ee199/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 2083e42f,f1acfc4..100bcf4
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@@ -1934,51 -1801,16 +1939,56 @@@ public class DatabaseDescripto
          return conf.enable_user_defined_functions;
      }
  
 -    public static int getWindowsTimerInterval()
 +    public static boolean enableScriptedUserDefinedFunctions()
      {
 -        return conf.windows_timer_interval;
 +        return conf.enable_scripted_user_defined_functions;
 +    }
 +
 +    public static void enableScriptedUserDefinedFunctions(boolean enableScriptedUserDefinedFunctions)
 +    {
 +        conf.enable_scripted_user_defined_functions = enableScriptedUserDefinedFunctions;
 +    }
 +
 +    public static boolean enableUserDefinedFunctionsThreads()
 +    {
 +        return conf.enable_user_defined_functions_threads;
 +    }
 +
 +    public static long getUserDefinedFunctionWarnTimeout()
 +    {
 +        return conf.user_defined_function_warn_timeout;
 +    }
 +
 +    public static void setUserDefinedFunctionWarnTimeout(long userDefinedFunctionWarnTimeout)
 +    {
 +        conf.user_defined_function_warn_timeout = userDefinedFunctionWarnTimeout;
 +    }
 +
 +    public static long getUserDefinedFunctionFailTimeout()
 +    {
 +        return conf.user_defined_function_fail_timeout;
 +    }
 +
 +    public static void setUserDefinedFunctionFailTimeout(long userDefinedFunctionFailTimeout)
 +    {
 +        conf.user_defined_function_fail_timeout = userDefinedFunctionFailTimeout;
 +    }
 +
 +    public static Config.UserFunctionTimeoutPolicy getUserFunctionTimeoutPolicy()
 +    {
 +        return conf.user_function_timeout_policy;
 +    }
 +
 +    public static void setUserFunctionTimeoutPolicy(Config.UserFunctionTimeoutPolicy userFunctionTimeoutPolicy)
 +    {
 +        conf.user_function_timeout_policy = userFunctionTimeoutPolicy;
      }
  
+     public static long getGCLogThreshold()
+     {
+         return conf.gc_log_threshold_in_ms;
+     }
+ 
      public static long getGCWarnThreshold()
      {
          return conf.gc_warn_threshold_in_ms;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e99ee199/src/java/org/apache/cassandra/service/GCInspector.java
----------------------------------------------------------------------


[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.9

Posted by jm...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.9


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

Branch: refs/heads/cassandra-3.9
Commit: 76188e9520d0aed8da287cffd80122e1069ddcae
Parents: 56abaca e99ee19
Author: Josh McKenzie <jm...@apache.org>
Authored: Mon Jul 11 16:29:58 2016 -0400
Committer: Josh McKenzie <jm...@apache.org>
Committed: Mon Jul 11 16:29:58 2016 -0400

----------------------------------------------------------------------
 conf/cassandra.yaml                                       |  6 ++++++
 src/java/org/apache/cassandra/config/Config.java          |  1 +
 .../org/apache/cassandra/config/DatabaseDescriptor.java   | 10 ++++++++++
 src/java/org/apache/cassandra/service/GCInspector.java    |  2 +-
 4 files changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/76188e95/conf/cassandra.yaml
----------------------------------------------------------------------
diff --cc conf/cassandra.yaml
index 076a729,09d2094..d79423e
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@@ -1051,6 -924,16 +1051,12 @@@ inter_dc_tcp_nodelay: fals
  tracetype_query_ttl: 86400
  tracetype_repair_ttl: 604800
  
+ # By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
+ # This threshold can be adjusted to minimize logging if necessary
+ # gc_log_threshold_in_ms: 200
+ 
 -# GC Pauses greater than gc_warn_threshold_in_ms will be logged at WARN level
+ # If unset, all GC Pauses greater than gc_log_threshold_in_ms will log at
+ # INFO level
 -# Adjust the threshold based on your application throughput requirement
 -gc_warn_threshold_in_ms: 1000
 -
  # UDFs (user defined functions) are disabled by default.
  # As of Cassandra 3.0 there is a sandbox in place that should prevent execution of evil code.
  enable_user_defined_functions: false

http://git-wip-us.apache.org/repos/asf/cassandra/blob/76188e95/src/java/org/apache/cassandra/config/Config.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/76188e95/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 1375a39,100bcf4..38dce11
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@@ -2169,11 -1984,11 +2174,16 @@@ public class DatabaseDescripto
          conf.user_function_timeout_policy = userFunctionTimeoutPolicy;
      }
  
+     public static long getGCLogThreshold()
+     {
+         return conf.gc_log_threshold_in_ms;
+     }
+ 
 +    public static EncryptionContext getEncryptionContext()
 +    {
 +        return encryptionContext;
 +    }
 +    
      public static long getGCWarnThreshold()
      {
          return conf.gc_warn_threshold_in_ms;


[03/10] cassandra git commit: Make GCInspector min log duration configurable

Posted by jm...@apache.org.
Make GCInspector min log duration configurable

Patch by jjirsa; reviewed by jmckenzie for CASSANDRA-11715


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

Branch: refs/heads/cassandra-3.9
Commit: f0d1d75ebf10beff6d24323c03c57e29dcd38c15
Parents: 9a8406f
Author: Jeff Jirsa <je...@jeffjirsa.net>
Authored: Mon Jul 11 16:27:04 2016 -0400
Committer: Josh McKenzie <jm...@apache.org>
Committed: Mon Jul 11 16:27:04 2016 -0400

----------------------------------------------------------------------
 conf/cassandra.yaml                                       |  7 ++++++-
 src/java/org/apache/cassandra/config/Config.java          |  1 +
 .../org/apache/cassandra/config/DatabaseDescriptor.java   | 10 ++++++++++
 src/java/org/apache/cassandra/service/GCInspector.java    |  2 +-
 4 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/conf/cassandra.yaml
----------------------------------------------------------------------
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 35e94d2..4ad798a 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -858,9 +858,14 @@ inter_dc_tcp_nodelay: false
 tracetype_query_ttl: 86400
 tracetype_repair_ttl: 604800
 
+# By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
+# This threshold can be adjusted to minimize logging if necessary
+# gc_log_threshold_in_ms: 200
+
 # GC Pauses greater than gc_warn_threshold_in_ms will be logged at WARN level
+# If unset, all GC Pauses greater than gc_log_threshold_in_ms will log at
+# INFO level
 # Adjust the threshold based on your application throughput requirement
-# By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
 # gc_warn_threshold_in_ms: 1000
 
 # UDFs (user defined functions) are disabled by default.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/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 9736a03..ede4560 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -254,6 +254,7 @@ public class Config
     public volatile Long index_summary_capacity_in_mb;
     public volatile int index_summary_resize_interval_in_minutes = 60;
 
+    public int gc_log_threshold_in_ms = 200;
     public int gc_warn_threshold_in_ms = 0;
 
     private static final CsvPreference STANDARD_SURROUNDING_SPACES_NEED_QUOTES = new CsvPreference.Builder(CsvPreference.STANDARD_PREFERENCE)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/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 d3a5028..f1acfc4 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -366,6 +366,11 @@ public class DatabaseDescriptor
         }
         paritionerName = partitioner.getClass().getCanonicalName();
 
+        if (config.gc_log_threshold_in_ms < 0)
+        {
+            throw new ConfigurationException("gc_log_threshold_in_ms must be a positive integer");
+        }
+
         if (conf.gc_warn_threshold_in_ms < 0)
         {
             throw new ConfigurationException("gc_warn_threshold_in_ms must be a positive integer");
@@ -1801,6 +1806,11 @@ public class DatabaseDescriptor
         return conf.windows_timer_interval;
     }
 
+    public static long getGCLogThreshold()
+    {
+        return conf.gc_log_threshold_in_ms;
+    }
+
     public static long getGCWarnThreshold()
     {
         return conf.gc_warn_threshold_in_ms;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/src/java/org/apache/cassandra/service/GCInspector.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/GCInspector.java b/src/java/org/apache/cassandra/service/GCInspector.java
index de5acc0..31de151 100644
--- a/src/java/org/apache/cassandra/service/GCInspector.java
+++ b/src/java/org/apache/cassandra/service/GCInspector.java
@@ -48,7 +48,7 @@ public class GCInspector implements NotificationListener, GCInspectorMXBean
 {
     public static final String MBEAN_NAME = "org.apache.cassandra.service:type=GCInspector";
     private static final Logger logger = LoggerFactory.getLogger(GCInspector.class);
-    final static long MIN_LOG_DURATION = 200;
+    final static long MIN_LOG_DURATION = DatabaseDescriptor.getGCLogThreshold();
     final static long GC_WARN_THRESHOLD_IN_MS = DatabaseDescriptor.getGCWarnThreshold();
     final static long STAT_THRESHOLD = GC_WARN_THRESHOLD_IN_MS != 0 ? GC_WARN_THRESHOLD_IN_MS : MIN_LOG_DURATION;
 


[07/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by jm...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: e99ee19950e764ca55331d7c814e965bef359a4f
Parents: 5861cd8 f0d1d75
Author: Josh McKenzie <jm...@apache.org>
Authored: Mon Jul 11 16:28:13 2016 -0400
Committer: Josh McKenzie <jm...@apache.org>
Committed: Mon Jul 11 16:28:22 2016 -0400

----------------------------------------------------------------------
 conf/cassandra.yaml                                       |  7 ++++++-
 src/java/org/apache/cassandra/config/Config.java          |  1 +
 .../org/apache/cassandra/config/DatabaseDescriptor.java   | 10 ++++++++++
 src/java/org/apache/cassandra/service/GCInspector.java    |  2 +-
 4 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e99ee199/conf/cassandra.yaml
----------------------------------------------------------------------
diff --cc conf/cassandra.yaml
index 4b92f64,4ad798a..09d2094
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@@ -924,21 -858,23 +924,26 @@@ inter_dc_tcp_nodelay: fals
  tracetype_query_ttl: 86400
  tracetype_repair_ttl: 604800
  
+ # By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
+ # This threshold can be adjusted to minimize logging if necessary
+ # gc_log_threshold_in_ms: 200
+ 
  # GC Pauses greater than gc_warn_threshold_in_ms will be logged at WARN level
+ # If unset, all GC Pauses greater than gc_log_threshold_in_ms will log at
+ # INFO level
  # Adjust the threshold based on your application throughput requirement
- # By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
 -# gc_warn_threshold_in_ms: 1000
 +gc_warn_threshold_in_ms: 1000
  
  # UDFs (user defined functions) are disabled by default.
 -# As of Cassandra 2.2, there is no security manager or anything else in place that
 -# prevents execution of evil code. CASSANDRA-9402 will fix this issue for Cassandra 3.0.
 -# This will inherently be backwards-incompatible with any 2.2 UDF that perform insecure
 -# operations such as opening a socket or writing to the filesystem.
 +# As of Cassandra 3.0 there is a sandbox in place that should prevent execution of evil code.
  enable_user_defined_functions: false
  
 +# Enables scripted UDFs (JavaScript UDFs).
 +# Java UDFs are always enabled, if enable_user_defined_functions is true.
 +# Enable this option to be able to use UDFs with "language javascript" or any custom JSR-223 provider.
 +# This option has no effect, if enable_user_defined_functions is false.
 +enable_scripted_user_defined_functions: false
 +
  # The default Windows kernel timer and scheduling resolution is 15.6ms for power conservation.
  # Lowering this value on Windows can provide much tighter latency and better throughput, however
  # some virtualized environments may see a negative performance impact from changing this setting

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e99ee199/src/java/org/apache/cassandra/config/Config.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/config/Config.java
index b49e14c,ede4560..2bd23b5
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@@ -265,8 -254,12 +265,9 @@@ public class Confi
      public volatile Long index_summary_capacity_in_mb;
      public volatile int index_summary_resize_interval_in_minutes = 60;
  
+     public int gc_log_threshold_in_ms = 200;
      public int gc_warn_threshold_in_ms = 0;
  
 -    private static final CsvPreference STANDARD_SURROUNDING_SPACES_NEED_QUOTES = new CsvPreference.Builder(CsvPreference.STANDARD_PREFERENCE)
 -                                                                                                  .surroundingSpacesNeedQuotes(true).build();
 -
      // TTL for different types of trace events.
      public int tracetype_query_ttl = (int) TimeUnit.DAYS.toSeconds(1);
      public int tracetype_repair_ttl = (int) TimeUnit.DAYS.toSeconds(7);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e99ee199/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 2083e42f,f1acfc4..100bcf4
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@@ -1934,51 -1801,16 +1939,56 @@@ public class DatabaseDescripto
          return conf.enable_user_defined_functions;
      }
  
 -    public static int getWindowsTimerInterval()
 +    public static boolean enableScriptedUserDefinedFunctions()
      {
 -        return conf.windows_timer_interval;
 +        return conf.enable_scripted_user_defined_functions;
 +    }
 +
 +    public static void enableScriptedUserDefinedFunctions(boolean enableScriptedUserDefinedFunctions)
 +    {
 +        conf.enable_scripted_user_defined_functions = enableScriptedUserDefinedFunctions;
 +    }
 +
 +    public static boolean enableUserDefinedFunctionsThreads()
 +    {
 +        return conf.enable_user_defined_functions_threads;
 +    }
 +
 +    public static long getUserDefinedFunctionWarnTimeout()
 +    {
 +        return conf.user_defined_function_warn_timeout;
 +    }
 +
 +    public static void setUserDefinedFunctionWarnTimeout(long userDefinedFunctionWarnTimeout)
 +    {
 +        conf.user_defined_function_warn_timeout = userDefinedFunctionWarnTimeout;
 +    }
 +
 +    public static long getUserDefinedFunctionFailTimeout()
 +    {
 +        return conf.user_defined_function_fail_timeout;
 +    }
 +
 +    public static void setUserDefinedFunctionFailTimeout(long userDefinedFunctionFailTimeout)
 +    {
 +        conf.user_defined_function_fail_timeout = userDefinedFunctionFailTimeout;
 +    }
 +
 +    public static Config.UserFunctionTimeoutPolicy getUserFunctionTimeoutPolicy()
 +    {
 +        return conf.user_function_timeout_policy;
 +    }
 +
 +    public static void setUserFunctionTimeoutPolicy(Config.UserFunctionTimeoutPolicy userFunctionTimeoutPolicy)
 +    {
 +        conf.user_function_timeout_policy = userFunctionTimeoutPolicy;
      }
  
+     public static long getGCLogThreshold()
+     {
+         return conf.gc_log_threshold_in_ms;
+     }
+ 
      public static long getGCWarnThreshold()
      {
          return conf.gc_warn_threshold_in_ms;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e99ee199/src/java/org/apache/cassandra/service/GCInspector.java
----------------------------------------------------------------------


[04/10] cassandra git commit: Make GCInspector min log duration configurable

Posted by jm...@apache.org.
Make GCInspector min log duration configurable

Patch by jjirsa; reviewed by jmckenzie for CASSANDRA-11715


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

Branch: refs/heads/trunk
Commit: f0d1d75ebf10beff6d24323c03c57e29dcd38c15
Parents: 9a8406f
Author: Jeff Jirsa <je...@jeffjirsa.net>
Authored: Mon Jul 11 16:27:04 2016 -0400
Committer: Josh McKenzie <jm...@apache.org>
Committed: Mon Jul 11 16:27:04 2016 -0400

----------------------------------------------------------------------
 conf/cassandra.yaml                                       |  7 ++++++-
 src/java/org/apache/cassandra/config/Config.java          |  1 +
 .../org/apache/cassandra/config/DatabaseDescriptor.java   | 10 ++++++++++
 src/java/org/apache/cassandra/service/GCInspector.java    |  2 +-
 4 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/conf/cassandra.yaml
----------------------------------------------------------------------
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 35e94d2..4ad798a 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -858,9 +858,14 @@ inter_dc_tcp_nodelay: false
 tracetype_query_ttl: 86400
 tracetype_repair_ttl: 604800
 
+# By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
+# This threshold can be adjusted to minimize logging if necessary
+# gc_log_threshold_in_ms: 200
+
 # GC Pauses greater than gc_warn_threshold_in_ms will be logged at WARN level
+# If unset, all GC Pauses greater than gc_log_threshold_in_ms will log at
+# INFO level
 # Adjust the threshold based on your application throughput requirement
-# By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
 # gc_warn_threshold_in_ms: 1000
 
 # UDFs (user defined functions) are disabled by default.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/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 9736a03..ede4560 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -254,6 +254,7 @@ public class Config
     public volatile Long index_summary_capacity_in_mb;
     public volatile int index_summary_resize_interval_in_minutes = 60;
 
+    public int gc_log_threshold_in_ms = 200;
     public int gc_warn_threshold_in_ms = 0;
 
     private static final CsvPreference STANDARD_SURROUNDING_SPACES_NEED_QUOTES = new CsvPreference.Builder(CsvPreference.STANDARD_PREFERENCE)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/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 d3a5028..f1acfc4 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -366,6 +366,11 @@ public class DatabaseDescriptor
         }
         paritionerName = partitioner.getClass().getCanonicalName();
 
+        if (config.gc_log_threshold_in_ms < 0)
+        {
+            throw new ConfigurationException("gc_log_threshold_in_ms must be a positive integer");
+        }
+
         if (conf.gc_warn_threshold_in_ms < 0)
         {
             throw new ConfigurationException("gc_warn_threshold_in_ms must be a positive integer");
@@ -1801,6 +1806,11 @@ public class DatabaseDescriptor
         return conf.windows_timer_interval;
     }
 
+    public static long getGCLogThreshold()
+    {
+        return conf.gc_log_threshold_in_ms;
+    }
+
     public static long getGCWarnThreshold()
     {
         return conf.gc_warn_threshold_in_ms;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/src/java/org/apache/cassandra/service/GCInspector.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/GCInspector.java b/src/java/org/apache/cassandra/service/GCInspector.java
index de5acc0..31de151 100644
--- a/src/java/org/apache/cassandra/service/GCInspector.java
+++ b/src/java/org/apache/cassandra/service/GCInspector.java
@@ -48,7 +48,7 @@ public class GCInspector implements NotificationListener, GCInspectorMXBean
 {
     public static final String MBEAN_NAME = "org.apache.cassandra.service:type=GCInspector";
     private static final Logger logger = LoggerFactory.getLogger(GCInspector.class);
-    final static long MIN_LOG_DURATION = 200;
+    final static long MIN_LOG_DURATION = DatabaseDescriptor.getGCLogThreshold();
     final static long GC_WARN_THRESHOLD_IN_MS = DatabaseDescriptor.getGCWarnThreshold();
     final static long STAT_THRESHOLD = GC_WARN_THRESHOLD_IN_MS != 0 ? GC_WARN_THRESHOLD_IN_MS : MIN_LOG_DURATION;
 


[02/10] cassandra git commit: Make GCInspector min log duration configurable

Posted by jm...@apache.org.
Make GCInspector min log duration configurable

Patch by jjirsa; reviewed by jmckenzie for CASSANDRA-11715


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

Branch: refs/heads/cassandra-3.0
Commit: f0d1d75ebf10beff6d24323c03c57e29dcd38c15
Parents: 9a8406f
Author: Jeff Jirsa <je...@jeffjirsa.net>
Authored: Mon Jul 11 16:27:04 2016 -0400
Committer: Josh McKenzie <jm...@apache.org>
Committed: Mon Jul 11 16:27:04 2016 -0400

----------------------------------------------------------------------
 conf/cassandra.yaml                                       |  7 ++++++-
 src/java/org/apache/cassandra/config/Config.java          |  1 +
 .../org/apache/cassandra/config/DatabaseDescriptor.java   | 10 ++++++++++
 src/java/org/apache/cassandra/service/GCInspector.java    |  2 +-
 4 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/conf/cassandra.yaml
----------------------------------------------------------------------
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 35e94d2..4ad798a 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -858,9 +858,14 @@ inter_dc_tcp_nodelay: false
 tracetype_query_ttl: 86400
 tracetype_repair_ttl: 604800
 
+# By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
+# This threshold can be adjusted to minimize logging if necessary
+# gc_log_threshold_in_ms: 200
+
 # GC Pauses greater than gc_warn_threshold_in_ms will be logged at WARN level
+# If unset, all GC Pauses greater than gc_log_threshold_in_ms will log at
+# INFO level
 # Adjust the threshold based on your application throughput requirement
-# By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
 # gc_warn_threshold_in_ms: 1000
 
 # UDFs (user defined functions) are disabled by default.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/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 9736a03..ede4560 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -254,6 +254,7 @@ public class Config
     public volatile Long index_summary_capacity_in_mb;
     public volatile int index_summary_resize_interval_in_minutes = 60;
 
+    public int gc_log_threshold_in_ms = 200;
     public int gc_warn_threshold_in_ms = 0;
 
     private static final CsvPreference STANDARD_SURROUNDING_SPACES_NEED_QUOTES = new CsvPreference.Builder(CsvPreference.STANDARD_PREFERENCE)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/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 d3a5028..f1acfc4 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -366,6 +366,11 @@ public class DatabaseDescriptor
         }
         paritionerName = partitioner.getClass().getCanonicalName();
 
+        if (config.gc_log_threshold_in_ms < 0)
+        {
+            throw new ConfigurationException("gc_log_threshold_in_ms must be a positive integer");
+        }
+
         if (conf.gc_warn_threshold_in_ms < 0)
         {
             throw new ConfigurationException("gc_warn_threshold_in_ms must be a positive integer");
@@ -1801,6 +1806,11 @@ public class DatabaseDescriptor
         return conf.windows_timer_interval;
     }
 
+    public static long getGCLogThreshold()
+    {
+        return conf.gc_log_threshold_in_ms;
+    }
+
     public static long getGCWarnThreshold()
     {
         return conf.gc_warn_threshold_in_ms;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f0d1d75e/src/java/org/apache/cassandra/service/GCInspector.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/GCInspector.java b/src/java/org/apache/cassandra/service/GCInspector.java
index de5acc0..31de151 100644
--- a/src/java/org/apache/cassandra/service/GCInspector.java
+++ b/src/java/org/apache/cassandra/service/GCInspector.java
@@ -48,7 +48,7 @@ public class GCInspector implements NotificationListener, GCInspectorMXBean
 {
     public static final String MBEAN_NAME = "org.apache.cassandra.service:type=GCInspector";
     private static final Logger logger = LoggerFactory.getLogger(GCInspector.class);
-    final static long MIN_LOG_DURATION = 200;
+    final static long MIN_LOG_DURATION = DatabaseDescriptor.getGCLogThreshold();
     final static long GC_WARN_THRESHOLD_IN_MS = DatabaseDescriptor.getGCWarnThreshold();
     final static long STAT_THRESHOLD = GC_WARN_THRESHOLD_IN_MS != 0 ? GC_WARN_THRESHOLD_IN_MS : MIN_LOG_DURATION;
 


[09/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.9

Posted by jm...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.9


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

Branch: refs/heads/trunk
Commit: 76188e9520d0aed8da287cffd80122e1069ddcae
Parents: 56abaca e99ee19
Author: Josh McKenzie <jm...@apache.org>
Authored: Mon Jul 11 16:29:58 2016 -0400
Committer: Josh McKenzie <jm...@apache.org>
Committed: Mon Jul 11 16:29:58 2016 -0400

----------------------------------------------------------------------
 conf/cassandra.yaml                                       |  6 ++++++
 src/java/org/apache/cassandra/config/Config.java          |  1 +
 .../org/apache/cassandra/config/DatabaseDescriptor.java   | 10 ++++++++++
 src/java/org/apache/cassandra/service/GCInspector.java    |  2 +-
 4 files changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/76188e95/conf/cassandra.yaml
----------------------------------------------------------------------
diff --cc conf/cassandra.yaml
index 076a729,09d2094..d79423e
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@@ -1051,6 -924,16 +1051,12 @@@ inter_dc_tcp_nodelay: fals
  tracetype_query_ttl: 86400
  tracetype_repair_ttl: 604800
  
+ # By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
+ # This threshold can be adjusted to minimize logging if necessary
+ # gc_log_threshold_in_ms: 200
+ 
 -# GC Pauses greater than gc_warn_threshold_in_ms will be logged at WARN level
+ # If unset, all GC Pauses greater than gc_log_threshold_in_ms will log at
+ # INFO level
 -# Adjust the threshold based on your application throughput requirement
 -gc_warn_threshold_in_ms: 1000
 -
  # UDFs (user defined functions) are disabled by default.
  # As of Cassandra 3.0 there is a sandbox in place that should prevent execution of evil code.
  enable_user_defined_functions: false

http://git-wip-us.apache.org/repos/asf/cassandra/blob/76188e95/src/java/org/apache/cassandra/config/Config.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/76188e95/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 1375a39,100bcf4..38dce11
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@@ -2169,11 -1984,11 +2174,16 @@@ public class DatabaseDescripto
          conf.user_function_timeout_policy = userFunctionTimeoutPolicy;
      }
  
+     public static long getGCLogThreshold()
+     {
+         return conf.gc_log_threshold_in_ms;
+     }
+ 
 +    public static EncryptionContext getEncryptionContext()
 +    {
 +        return encryptionContext;
 +    }
 +    
      public static long getGCWarnThreshold()
      {
          return conf.gc_warn_threshold_in_ms;


[10/10] cassandra git commit: Merge branch 'cassandra-3.9' into trunk

Posted by jm...@apache.org.
Merge branch 'cassandra-3.9' into trunk


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

Branch: refs/heads/trunk
Commit: 9fed08449db4a446ac874d14178f86d20de97b18
Parents: 1f74142 76188e9
Author: Josh McKenzie <jm...@apache.org>
Authored: Mon Jul 11 16:30:25 2016 -0400
Committer: Josh McKenzie <jm...@apache.org>
Committed: Mon Jul 11 16:30:25 2016 -0400

----------------------------------------------------------------------
 conf/cassandra.yaml                                       |  6 ++++++
 src/java/org/apache/cassandra/config/Config.java          |  1 +
 .../org/apache/cassandra/config/DatabaseDescriptor.java   | 10 ++++++++++
 src/java/org/apache/cassandra/service/GCInspector.java    |  2 +-
 4 files changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fed0844/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------


[06/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by jm...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.0
Commit: e99ee19950e764ca55331d7c814e965bef359a4f
Parents: 5861cd8 f0d1d75
Author: Josh McKenzie <jm...@apache.org>
Authored: Mon Jul 11 16:28:13 2016 -0400
Committer: Josh McKenzie <jm...@apache.org>
Committed: Mon Jul 11 16:28:22 2016 -0400

----------------------------------------------------------------------
 conf/cassandra.yaml                                       |  7 ++++++-
 src/java/org/apache/cassandra/config/Config.java          |  1 +
 .../org/apache/cassandra/config/DatabaseDescriptor.java   | 10 ++++++++++
 src/java/org/apache/cassandra/service/GCInspector.java    |  2 +-
 4 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e99ee199/conf/cassandra.yaml
----------------------------------------------------------------------
diff --cc conf/cassandra.yaml
index 4b92f64,4ad798a..09d2094
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@@ -924,21 -858,23 +924,26 @@@ inter_dc_tcp_nodelay: fals
  tracetype_query_ttl: 86400
  tracetype_repair_ttl: 604800
  
+ # By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
+ # This threshold can be adjusted to minimize logging if necessary
+ # gc_log_threshold_in_ms: 200
+ 
  # GC Pauses greater than gc_warn_threshold_in_ms will be logged at WARN level
+ # If unset, all GC Pauses greater than gc_log_threshold_in_ms will log at
+ # INFO level
  # Adjust the threshold based on your application throughput requirement
- # By default, Cassandra logs GC Pauses greater than 200 ms at INFO level
 -# gc_warn_threshold_in_ms: 1000
 +gc_warn_threshold_in_ms: 1000
  
  # UDFs (user defined functions) are disabled by default.
 -# As of Cassandra 2.2, there is no security manager or anything else in place that
 -# prevents execution of evil code. CASSANDRA-9402 will fix this issue for Cassandra 3.0.
 -# This will inherently be backwards-incompatible with any 2.2 UDF that perform insecure
 -# operations such as opening a socket or writing to the filesystem.
 +# As of Cassandra 3.0 there is a sandbox in place that should prevent execution of evil code.
  enable_user_defined_functions: false
  
 +# Enables scripted UDFs (JavaScript UDFs).
 +# Java UDFs are always enabled, if enable_user_defined_functions is true.
 +# Enable this option to be able to use UDFs with "language javascript" or any custom JSR-223 provider.
 +# This option has no effect, if enable_user_defined_functions is false.
 +enable_scripted_user_defined_functions: false
 +
  # The default Windows kernel timer and scheduling resolution is 15.6ms for power conservation.
  # Lowering this value on Windows can provide much tighter latency and better throughput, however
  # some virtualized environments may see a negative performance impact from changing this setting

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e99ee199/src/java/org/apache/cassandra/config/Config.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/config/Config.java
index b49e14c,ede4560..2bd23b5
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@@ -265,8 -254,12 +265,9 @@@ public class Confi
      public volatile Long index_summary_capacity_in_mb;
      public volatile int index_summary_resize_interval_in_minutes = 60;
  
+     public int gc_log_threshold_in_ms = 200;
      public int gc_warn_threshold_in_ms = 0;
  
 -    private static final CsvPreference STANDARD_SURROUNDING_SPACES_NEED_QUOTES = new CsvPreference.Builder(CsvPreference.STANDARD_PREFERENCE)
 -                                                                                                  .surroundingSpacesNeedQuotes(true).build();
 -
      // TTL for different types of trace events.
      public int tracetype_query_ttl = (int) TimeUnit.DAYS.toSeconds(1);
      public int tracetype_repair_ttl = (int) TimeUnit.DAYS.toSeconds(7);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e99ee199/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 2083e42f,f1acfc4..100bcf4
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@@ -1934,51 -1801,16 +1939,56 @@@ public class DatabaseDescripto
          return conf.enable_user_defined_functions;
      }
  
 -    public static int getWindowsTimerInterval()
 +    public static boolean enableScriptedUserDefinedFunctions()
      {
 -        return conf.windows_timer_interval;
 +        return conf.enable_scripted_user_defined_functions;
 +    }
 +
 +    public static void enableScriptedUserDefinedFunctions(boolean enableScriptedUserDefinedFunctions)
 +    {
 +        conf.enable_scripted_user_defined_functions = enableScriptedUserDefinedFunctions;
 +    }
 +
 +    public static boolean enableUserDefinedFunctionsThreads()
 +    {
 +        return conf.enable_user_defined_functions_threads;
 +    }
 +
 +    public static long getUserDefinedFunctionWarnTimeout()
 +    {
 +        return conf.user_defined_function_warn_timeout;
 +    }
 +
 +    public static void setUserDefinedFunctionWarnTimeout(long userDefinedFunctionWarnTimeout)
 +    {
 +        conf.user_defined_function_warn_timeout = userDefinedFunctionWarnTimeout;
 +    }
 +
 +    public static long getUserDefinedFunctionFailTimeout()
 +    {
 +        return conf.user_defined_function_fail_timeout;
 +    }
 +
 +    public static void setUserDefinedFunctionFailTimeout(long userDefinedFunctionFailTimeout)
 +    {
 +        conf.user_defined_function_fail_timeout = userDefinedFunctionFailTimeout;
 +    }
 +
 +    public static Config.UserFunctionTimeoutPolicy getUserFunctionTimeoutPolicy()
 +    {
 +        return conf.user_function_timeout_policy;
 +    }
 +
 +    public static void setUserFunctionTimeoutPolicy(Config.UserFunctionTimeoutPolicy userFunctionTimeoutPolicy)
 +    {
 +        conf.user_function_timeout_policy = userFunctionTimeoutPolicy;
      }
  
+     public static long getGCLogThreshold()
+     {
+         return conf.gc_log_threshold_in_ms;
+     }
+ 
      public static long getGCWarnThreshold()
      {
          return conf.gc_warn_threshold_in_ms;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e99ee199/src/java/org/apache/cassandra/service/GCInspector.java
----------------------------------------------------------------------