Skip to content

Commit 3b02eff

Browse files
committed
logs for debugging heap size
1 parent 560464e commit 3b02eff

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

distribution/tools/server-cli/src/main/java/org/elasticsearch/server/cli/JvmOption.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
package org.elasticsearch.server.cli;
1111

12+
import org.apache.logging.log4j.LogManager;
13+
import org.apache.logging.log4j.Logger;
1214
import org.elasticsearch.common.Strings;
1315
import org.elasticsearch.core.SuppressForbidden;
1416

@@ -33,6 +35,8 @@ class JvmOption {
3335
private final String value;
3436
private final String origin;
3537

38+
private static final Logger logger = LogManager.getLogger(JvmOption.class);
39+
3640
JvmOption(String value, String origin) {
3741
if (origin == null) {
3842
throw new IllegalStateException(Strings.format("""
@@ -43,6 +47,11 @@ class JvmOption {
4347
this.origin = origin;
4448
}
4549

50+
@Override
51+
public String toString() {
52+
return "{value=" + value + ", origin=" + origin + "}";
53+
}
54+
4655
public Optional<String> getValue() {
4756
return Optional.ofNullable(value);
4857
}
@@ -124,6 +133,7 @@ private static List<String> flagsFinal(final List<String> userDefinedJvmOptions)
124133
);
125134
throw new RuntimeException(message);
126135
} else {
136+
logger.info("@@@ JvmOption flagsFinal: {}", String.join("\n", output));
127137
return output;
128138
}
129139
}

distribution/tools/server-cli/src/main/java/org/elasticsearch/server/cli/MachineDependentHeap.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
package org.elasticsearch.server.cli;
1111

12+
import org.apache.logging.log4j.LogManager;
13+
import org.apache.logging.log4j.Logger;
1214
import org.elasticsearch.cluster.node.DiscoveryNodeRole;
1315
import org.elasticsearch.common.settings.Settings;
1416
import org.elasticsearch.common.util.FeatureFlag;
@@ -40,6 +42,8 @@ public class MachineDependentHeap {
4042

4143
private static final FeatureFlag NEW_ML_MEMORY_COMPUTATION_FEATURE_FLAG = new FeatureFlag("new_ml_memory_computation");
4244

45+
private static final Logger logger = LogManager.getLogger(MachineDependentHeap.class);
46+
4347
public MachineDependentHeap() {}
4448

4549
/**
@@ -57,6 +61,7 @@ public final List<String> determineHeapSettings(
5761
) throws IOException, InterruptedException {
5862
// TODO: this could be more efficient, to only parse final options once
5963
final Map<String, JvmOption> finalJvmOptions = JvmOption.findFinalOptions(userDefinedJvmOptions);
64+
logger.info("@@@ MachineDependentHeap determineHeapSettings: MaxHeap={} FeatureFlag={}", finalJvmOptions.get("MaxHeapSize"), NEW_ML_MEMORY_COMPUTATION_FEATURE_FLAG.isEnabled());
6065
if (isMaxHeapSpecified(finalJvmOptions) || isMinHeapSpecified(finalJvmOptions) || isInitialHeapSpecified(finalJvmOptions)) {
6166
// User has explicitly set memory settings so we use those
6267
return Collections.emptyList();
@@ -65,6 +70,7 @@ public final List<String> determineHeapSettings(
6570
List<DiscoveryNodeRole> roles = NodeRoleSettings.NODE_ROLES_SETTING.get(nodeSettings);
6671
long availableSystemMemory = systemMemoryInfo.availableSystemMemory();
6772
MachineNodeRole nodeRole = mapNodeRole(roles);
73+
logger.info("@@@ MachineDependentHeap determineHeapSettings: setMaxHeap: {}", getHeapSizeMb(nodeSettings, nodeRole, availableSystemMemory));
6874
return options(getHeapSizeMb(nodeSettings, nodeRole, availableSystemMemory));
6975
}
7076

distribution/tools/server-cli/src/main/java/org/elasticsearch/server/cli/ServerCli.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,8 +265,13 @@ protected Command loadTool(Map<String, String> sysprops, String toolname, String
265265

266266
// protected to allow tests to override
267267
protected ServerProcess startServer(Terminal terminal, ProcessInfo processInfo, ServerArgs args) throws Exception {
268+
terminal.println("@@@ ServerCli startServer");
269+
268270
var tempDir = ServerProcessUtils.setupTempDir(processInfo);
269271
var jvmOptions = JvmOptionsParser.determineJvmOptions(args, processInfo, tempDir, new MachineDependentHeap());
272+
273+
terminal.println("@@@ ServerCli startServer: jvmOptions=" + jvmOptions);
274+
270275
var serverProcessBuilder = new ServerProcessBuilder().withTerminal(terminal)
271276
.withProcessInfo(processInfo)
272277
.withServerArgs(args)

0 commit comments

Comments
 (0)