in harness/src/main/java/org/apache/geode/perftest/jvms/JVMLauncher.java [56:84]
CompletableFuture<Void> launchWorker(Infrastructure infra, int rmiPort,
JVMMapping jvmConfig)
throws UnknownHostException {
final String[] shellCommand = traceCommand(
buildCommand(InetAddress.getLocalHost().getHostAddress(), rmiPort, jvmConfig), jvmConfig);
CompletableFuture<Void> future = new CompletableFuture<>();
Thread thread = new Thread("Worker " + jvmConfig.getNode().getAddress()) {
public void run() {
try {
infra.onNode(jvmConfig.getNode(), new String[] {"rm", "-rf", jvmConfig.getOutputDir()});
infra.onNode(jvmConfig.getNode(), new String[] {"mkdir", "-p", jvmConfig.getOutputDir()});
int result = infra.onNode(jvmConfig.getNode(), shellCommand);
if (result != 0) {
logger.error("ChildJVM exited with error code " + result);
}
} catch (Throwable t) {
logger.error("Launching " + String.join(" ", shellCommand) + " on " + jvmConfig.getNode()
+ "Failed.", t);
} finally {
future.complete(null);
}
}
};
thread.start();
return future;
}