Skip to content

Commit 75cb18b

Browse files
committed
Add fix for earlier jdks which used InitialHeap instead of MinHeap
1 parent ec827f0 commit 75cb18b

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/JvmOption.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,11 @@ public static boolean isMinHeapSpecified(final Map<String, JvmOption> finalJvmOp
7373
return minHeapSize != null && minHeapSize.isCommandLineOrigin();
7474
}
7575

76+
public static boolean isInitialHeapSpecified(final Map<String, JvmOption> finalJvmOptions) {
77+
JvmOption initialHeapSize = finalJvmOptions.get("InitialHeapSize");
78+
return initialHeapSize != null && initialHeapSize.isCommandLineOrigin();
79+
}
80+
7681
public static long extractMaxDirectMemorySize(final Map<String, JvmOption> finalJvmOptions) {
7782
return Long.parseLong(finalJvmOptions.get("MaxDirectMemorySize").getMandatoryValue());
7883
}

distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/MachineDependentHeap.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@
3737

3838
import static java.lang.Math.max;
3939
import static java.lang.Math.min;
40+
import static org.elasticsearch.tools.launchers.JvmOption.isInitialHeapSpecified;
41+
import static org.elasticsearch.tools.launchers.JvmOption.isMaxHeapSpecified;
42+
import static org.elasticsearch.tools.launchers.JvmOption.isMinHeapSpecified;
4043

4144
/**
4245
* Determines optimal default heap settings based on available system memory and assigned node roles.
@@ -66,7 +69,7 @@ public MachineDependentHeap(SystemMemoryInfo systemMemoryInfo) {
6669
public List<String> determineHeapSettings(Path configDir, List<String> userDefinedJvmOptions) throws IOException, InterruptedException {
6770
// TODO: this could be more efficient, to only parse final options once
6871
final Map<String, JvmOption> finalJvmOptions = JvmOption.findFinalOptions(userDefinedJvmOptions);
69-
if (JvmOption.isMaxHeapSpecified(finalJvmOptions) || JvmOption.isMinHeapSpecified(finalJvmOptions)) {
72+
if (isMaxHeapSpecified(finalJvmOptions) || isMinHeapSpecified(finalJvmOptions) || isInitialHeapSpecified(finalJvmOptions)) {
7073
// User has explicitly set memory settings so we use those
7174
return Collections.emptyList();
7275
}

0 commit comments

Comments
 (0)