trace-server: Fix IOException due to concurrent threads

Two concurrent threads could instantiate the experiment causing
interference in the checkpoint indexer.

Change-Id: Ie357f3d0fd19c44edcd58fb259e52a308f99ca5a
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/c/tracecompass.incubator/org.eclipse.tracecompass.incubator/+/182851
Tested-by: Trace Compass Bot <tracecompass-bot@eclipse.org>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
diff --git a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/ExperimentManagerService.java b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/ExperimentManagerService.java
index 984ab89..c27b1b3 100644
--- a/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/ExperimentManagerService.java
+++ b/trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/ExperimentManagerService.java
@@ -428,7 +428,7 @@
      *            queried {@link UUID}
      * @return the experiment or null if none match.
      */
-    public static @Nullable TmfExperiment getExperimentByUUID(UUID expUUID) {
+    public static synchronized @Nullable TmfExperiment getExperimentByUUID(UUID expUUID) {
         TmfExperiment experiment = EXPERIMENTS.get(expUUID);
         if (experiment == null) {
             experiment = createExperimentInstance(expUUID);