Puppet Class: cassandra::java::gc

Defined in:
manifests/java/gc.pp

Summary

Setup the Java garbage collection for Cassandra

Overview

Deprication notice: this class is now deprecated. Consider using JVM option sets instead.

This class allows to set consistent JVM options at once, especially for the purpose of garbage collection settings. This is enabled by managing jvm.options file, available from Cassandra version 3.0 and later.

GC parameters could be: * common parameters * numberOfGCLogFiles (Integer, defaults to: 10) - -XX:NumberOfGCLogFiles * gCLogFileSize (String, defaults to: 10M) - -XX:GCLogFileSize * G1 specific parameters * maxGCPauseMillis (Integer, defaults to: 500) - -XX:MaxGCPauseMillis * g1RSetUpdatingPauseTimePercent (Integer, defaults to: 5) - -XX:G1RSetUpdatingPauseTimePercent * initiatingHeapOccupancyPercent (Integer, defaults to: 70) - -XX:InitiatingHeapOccupancyPercent * parallelGCThreads (Optional, defaults to: undef) - -XX:ParallelGCThreads automatically set to number or cores-2 if >10 cores present * concGCThreads (Optional, defaults to: undef) - -XX:ConcGCThreads automatically set to -XX:ParallelGCThreads if the above is set

The config class contains a factory for this class which will create an instance using the settings of cassandra::java_gc, if not undef.

Examples:

directly created

class { 'cassandra::java::gc':
  collector => 'g1',
}

factory generated

cassandra::java_gc:
  collector: g1
  params:
    maxGCPauseMillis: 300

Parameters:

  • collector (Enum['cms','g1'])

    select the garbage collector to use

  • params (Hash[String,Data]) (defaults to: {})

    parameter to set up the selected GC



40
41
42
43
44
45
46
47
48
49
50
51
# File 'manifests/java/gc.pp', line 40

class cassandra::java::gc (
  Enum['cms','g1']  $collector,
  Hash[String,Data] $params = {},
) {
  notify { 'The class cassandra::java::gc is deprecated now, consider using cassandra::jvm_option_sets instead!':
    loglevel => warning,
  }
  file{ "${cassandra::config_dir}/jvm.options":
    ensure  => file,
    content => epp("cassandra/jvm.${collector}.options.epp", $params),
  }
}