Skip to content

Commit c8fd56a

Browse files
juliantaylorkenyon
authored andcommitted
allow overriding default jvm options
move the hardcoded defaults to a module argument to allow adapting them with changing the module. Uses defaults from current upstream branch (8.5)
1 parent 11c9b61 commit c8fd56a

File tree

3 files changed

+17
-28
lines changed

3 files changed

+17
-28
lines changed

manifests/init.pp

+15-1
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,11 @@
7474
#
7575
# See: https://www.elastic.co/guide/en/logstash/current/config-setting-files.html
7676
#
77+
# @param [Hash] jvm_options_defaults
78+
# Default set of optionname => option mappings from upstream 8.5 version
79+
#
7780
# @param [Array] jvm_options
78-
# A collection of settings to be defined in `jvm.options`.
81+
# A collection of settings to be defined in `jvm.options`. Override same settings in jvm_options_defaults
7982
#
8083
# @param [Array] pipelines
8184
# A collection of settings to be defined in `pipelines.yml`.
@@ -154,6 +157,17 @@
154157
$service_provider = undef,
155158
$settings = {},
156159
$startup_options = {},
160+
$jvm_options_defaults = {
161+
'-Xms' => '-Xms1g',
162+
'-Xmx' => '-Xmx1g',
163+
'UseConcMarkSweepGC' => '11-13:-XX:+UseConcMarkSweepGC',
164+
'CMSInitiatingOccupancyFraction=' => '11-13:-XX:CMSInitiatingOccupancyFraction=75',
165+
'UseCMSInitiatingOccupancyOnly' => '11-13:-XX:+UseCMSInitiatingOccupancyOnly',
166+
'-Djava.awt.headless=' => '-Djava.awt.headless=true',
167+
'-Dfile.encoding=' => '-Dfile.encoding=UTF-8',
168+
'HeapDumpOnOutOfMemoryError' => '-XX:+HeapDumpOnOutOfMemoryError',
169+
'-Djava.security.egd' => '-Djava.security.egd=file:/dev/urandom',
170+
},
157171
$jvm_options = [],
158172
Array $pipelines = [],
159173
Boolean $manage_repo = true,

manifests/service.pp

+1-13
Original file line numberDiff line numberDiff line change
@@ -31,22 +31,10 @@
3131
'SERVICE_DESCRIPTION' => '"logstash"',
3232
}
3333

34-
$default_jvm_options = [
35-
'-Dfile.encoding=UTF-8',
36-
'-Djava.awt.headless=true',
37-
'-Xms256m',
38-
'-Xmx1g',
39-
'-XX:CMSInitiatingOccupancyFraction=75',
40-
'-XX:+DisableExplicitGC',
41-
'-XX:+HeapDumpOnOutOfMemoryError',
42-
'-XX:+UseCMSInitiatingOccupancyOnly',
43-
'-XX:+UseConcMarkSweepGC',
44-
'-XX:+UseParNewGC',
45-
]
46-
4734
$settings = merge($default_settings, $logstash::settings)
4835
$startup_options = merge($default_startup_options, $logstash::startup_options)
4936
$jvm_options = $logstash::jvm_options
37+
$jvm_options_defaults = $logstash::jvm_options_defaults
5038
$pipelines = $logstash::pipelines
5139

5240
File {

templates/jvm.options.erb

+1-14
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,7 @@ def set_default(options, match_string, default)
66
options.detect {|o| o.include?(match_string)} || options.push(default)
77
end
88

9-
defaults = {
10-
'-Xms' => '-Xms256m',
11-
'-Xmx' => '-Xmx1g',
12-
'UseParNewGC' => '-XX:+UseParNewGC',
13-
'UseConcMarkSweepGC' => '-XX:+UseConcMarkSweepGC',
14-
'CMSInitiatingOccupancyFraction=' => '-XX:CMSInitiatingOccupancyFraction=75',
15-
'UseCMSInitiatingOccupancyOnly' => '-XX:+UseCMSInitiatingOccupancyOnly',
16-
'DisableExplicitGC' => '-XX:+DisableExplicitGC',
17-
'-Djava.awt.headless=' => '-Djava.awt.headless=true',
18-
'-Dfile.encoding=' => '-Dfile.encoding=UTF-8',
19-
'HeapDumpOnOutOfMemoryError' => '-XX:+HeapDumpOnOutOfMemoryError',
20-
}
21-
22-
defaults.each {|k,v| set_default(@jvm_options, k, v)}
9+
@jvm_options_defaults.each {|k,v| set_default(@jvm_options, k, v)}
2310
-%>
2411

2512
<% @jvm_options.sort.each do |line| -%>

0 commit comments

Comments
 (0)