diff --git a/build-tools/src/main/java/org/elasticsearch/gradle/testclusters/StandaloneRestIntegTestTask.java b/build-tools/src/main/java/org/elasticsearch/gradle/testclusters/StandaloneRestIntegTestTask.java index b2f054860f6b3..f67428b5b93d3 100644 --- a/build-tools/src/main/java/org/elasticsearch/gradle/testclusters/StandaloneRestIntegTestTask.java +++ b/build-tools/src/main/java/org/elasticsearch/gradle/testclusters/StandaloneRestIntegTestTask.java @@ -67,6 +67,7 @@ public StandaloneRestIntegTestTask() { @Option(option = "debug-server-jvm", description = "Enable debugging configuration, to allow attaching a debugger to elasticsearch.") public void setDebugServer(boolean enabled) { this.debugServer = enabled; + systemProperty("tests.cluster.debug.enabled", Boolean.toString(enabled)); } @Nested diff --git a/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/LocalClusterFactory.java b/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/LocalClusterFactory.java index 29a4e5aeded34..325655f8c7a26 100644 --- a/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/LocalClusterFactory.java +++ b/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/LocalClusterFactory.java @@ -60,6 +60,9 @@ public class LocalClusterFactory implements ClusterFactory getEnvironmentVariables() { .collect(Collectors.joining(" ")); } + String debugArgs = ""; + if (Boolean.getBoolean(TESTS_CLUSTER_DEBUG_ENABLED_SYSPROP)) { + int port = DEFAULT_DEBUG_PORT + spec.getCluster().getNodes().indexOf(spec); + debugArgs = ENABLE_DEBUG_JVM_ARGS + port; + } + String heapSize = System.getProperty("tests.heap.size", "512m"); environment.put("ES_JAVA_OPTS", "-Xms" + heapSize + " -Xmx" + heapSize + " -ea -esa " // Support passing in additional JVM arguments + System.getProperty("tests.jvm.argline", "") + " " + featureFlagProperties - + systemProperties); + + systemProperties + + debugArgs); return environment; }