From ef36df6b817ff510c46a7515b754d80b29fdd2c1 Mon Sep 17 00:00:00 2001 From: kaisecheng <69120390+kaisecheng@users.noreply.github.com> Date: Fri, 3 Jan 2025 23:04:28 +0000 Subject: [PATCH] Respect environment variables in jvm.options (#16834) JvmOptionsParser adds support for ${VAR:default} syntax when parsing jvm.options - allow dynamic resolution of environment variables in the jvm.options file - enables fallback to default value when the environment variable is not set --- config/jvm.options | 2 +- .../logstash/launchers/JvmOptionsParser.java | 26 ++++++- .../launchers/JvmOptionsParserTest.java | 74 +++++++++++++++++++ 3 files changed, 97 insertions(+), 5 deletions(-) diff --git a/config/jvm.options b/config/jvm.options index f84e904ce..18ccd2f83 100644 --- a/config/jvm.options +++ b/config/jvm.options @@ -30,7 +30,7 @@ ## basic # set the I/O temp directory -#-Djava.io.tmpdir=$HOME +#-Djava.io.tmpdir=${HOME} # set to headless, just in case -Djava.awt.headless=true diff --git a/tools/jvm-options-parser/src/main/java/org/logstash/launchers/JvmOptionsParser.java b/tools/jvm-options-parser/src/main/java/org/logstash/launchers/JvmOptionsParser.java index d19b5f547..24edfec73 100644 --- a/tools/jvm-options-parser/src/main/java/org/logstash/launchers/JvmOptionsParser.java +++ b/tools/jvm-options-parser/src/main/java/org/logstash/launchers/JvmOptionsParser.java @@ -32,7 +32,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; -import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; import java.util.Locale; @@ -283,7 +282,6 @@ public class JvmOptionsParser { } private static final Pattern OPTION_DEFINITION = Pattern.compile("((?\\d+)(?-)?(?\\d+)?:)?(?