Fix flaky tests

ConcurrentModificationException might have been raised during the
execution of a test, due to the modification of the log stream during
after the iterator for the traversal was already created.

Fix by using a thread-safe array list.

Bug: Issue 13172
Change-Id: I1ae71bdbbdd7b6f342d3ee8f9584c8ba4e4524c1
diff --git a/src/test/java/com/googlesource/gerrit/plugins/metricsreportercloudwatch/MetricsReporterCloudwatchIT.java b/src/test/java/com/googlesource/gerrit/plugins/metricsreportercloudwatch/MetricsReporterCloudwatchIT.java
index 9e79351..61066cf 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/metricsreportercloudwatch/MetricsReporterCloudwatchIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/metricsreportercloudwatch/MetricsReporterCloudwatchIT.java
@@ -27,8 +27,8 @@
 import com.google.gerrit.metrics.MetricMaker;
 import com.google.inject.Inject;
 import java.time.Duration;
-import java.util.ArrayList;
 import java.util.Enumeration;
+import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.function.Supplier;
 import java.util.stream.Stream;
 import org.apache.log4j.AppenderSkeleton;
@@ -110,7 +110,7 @@
   static class InMemoryLoggerAppender extends AppenderSkeleton {
     private final Splitter metricsDatumSplitter = Splitter.on("MetricDatum");
 
-    private ArrayList<String> logLines = new ArrayList<>();
+    private CopyOnWriteArrayList<String> logLines = new CopyOnWriteArrayList<>();
 
     @Override
     public void close() {}