From 6509391059e1a4fde76da9e403e2d3e0371657a4 Mon Sep 17 00:00:00 2001 From: ahr Date: Sat, 16 Dec 2017 19:22:56 +0100 Subject: [PATCH] sometimes plots are missing The csv generation is running in parallel, but the list that collects the results was not synchronized. --- .../src/main/java/org/lucares/recommind/logs/Plotter.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pdb-plotting/src/main/java/org/lucares/recommind/logs/Plotter.java b/pdb-plotting/src/main/java/org/lucares/recommind/logs/Plotter.java index d9ac3a2..d362f5d 100644 --- a/pdb-plotting/src/main/java/org/lucares/recommind/logs/Plotter.java +++ b/pdb-plotting/src/main/java/org/lucares/recommind/logs/Plotter.java @@ -14,6 +14,7 @@ import java.time.OffsetDateTime; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.ArrayList; +import java.util.Collections; import java.util.Comparator; import java.util.Formatter; import java.util.Iterator; @@ -82,7 +83,7 @@ public class Plotter { final Path tmpDir = tmpBaseDir.resolve(tmpSubDir); try { Files.createDirectories(tmpDir); - final List dataSeries = new ArrayList<>(); + final List dataSeries = Collections.synchronizedList(new ArrayList<>()); final String query = plotSettings.getQuery(); final List groupBy = plotSettings.getGroupBy(); @@ -97,8 +98,6 @@ public class Plotter { final AtomicInteger idCounter = new AtomicInteger(0); result.getGroups().stream().parallel().forEach(groupResult -> { try{ - - final CsvSummary csvSummary = toCsv(groupResult, tmpDir, dateFrom, dateTo, plotSettings); final int id = idCounter.getAndIncrement();