Use a thread safe list of processes in LocalInfrastructure
We're launching processing in parallel, so we need to watch out for race
conditions.
diff --git a/harness/src/main/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructure.java b/harness/src/main/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructure.java
index 88adff5..9bcf27a 100644
--- a/harness/src/main/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructure.java
+++ b/harness/src/main/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructure.java
@@ -26,11 +26,11 @@
import java.net.UnknownHostException;
import java.nio.file.Files;
import java.nio.file.Path;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
+import java.util.concurrent.CopyOnWriteArrayList;
import java.util.function.Function;
import org.apache.commons.io.FileUtils;
@@ -44,7 +44,7 @@
public class LocalInfrastructure implements Infrastructure {
private final Set<LocalNode> nodes = new LinkedHashSet<>();
- private final List<Process> processList = new ArrayList<Process>();
+ private final List<Process> processList = new CopyOnWriteArrayList<>();
public LocalInfrastructure(int numNodes) throws IOException {
for (int i = 0; i < numNodes; i++) {