diff --git a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/logs/LogReusableDataMarshaler.java b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/logs/LogReusableDataMarshaler.java index 5f3fc50a5f5..fadaaa09bc4 100644 --- a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/logs/LogReusableDataMarshaler.java +++ b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/logs/LogReusableDataMarshaler.java @@ -9,9 +9,9 @@ import io.opentelemetry.sdk.common.CompletableResultCode; import io.opentelemetry.sdk.common.export.MemoryMode; import io.opentelemetry.sdk.logs.data.LogRecordData; -import java.util.ArrayDeque; import java.util.Collection; import java.util.Deque; +import java.util.concurrent.ConcurrentLinkedDeque; import java.util.function.BiFunction; /** @@ -20,7 +20,8 @@ */ public class LogReusableDataMarshaler { - private final Deque marshalerPool = new ArrayDeque<>(); + private final Deque marshalerPool = + new ConcurrentLinkedDeque<>(); private final MemoryMode memoryMode; private final BiFunction doExport; diff --git a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/metrics/MetricReusableDataMarshaler.java b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/metrics/MetricReusableDataMarshaler.java index c143e94fa5d..a3d7187698b 100644 --- a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/metrics/MetricReusableDataMarshaler.java +++ b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/metrics/MetricReusableDataMarshaler.java @@ -9,9 +9,9 @@ import io.opentelemetry.sdk.common.CompletableResultCode; import io.opentelemetry.sdk.common.export.MemoryMode; import io.opentelemetry.sdk.metrics.data.MetricData; -import java.util.ArrayDeque; import java.util.Collection; import java.util.Deque; +import java.util.concurrent.ConcurrentLinkedDeque; import java.util.function.BiFunction; /** @@ -20,7 +20,8 @@ */ public class MetricReusableDataMarshaler { - private final Deque marshalerPool = new ArrayDeque<>(); + private final Deque marshalerPool = + new ConcurrentLinkedDeque<>(); private final MemoryMode memoryMode; private final BiFunction doExport; diff --git a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/traces/SpanReusableDataMarshaler.java b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/traces/SpanReusableDataMarshaler.java index af69e811c89..b359b6cc30c 100644 --- a/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/traces/SpanReusableDataMarshaler.java +++ b/exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/traces/SpanReusableDataMarshaler.java @@ -9,9 +9,9 @@ import io.opentelemetry.sdk.common.CompletableResultCode; import io.opentelemetry.sdk.common.export.MemoryMode; import io.opentelemetry.sdk.trace.data.SpanData; -import java.util.ArrayDeque; import java.util.Collection; import java.util.Deque; +import java.util.concurrent.ConcurrentLinkedDeque; import java.util.function.BiFunction; /** @@ -20,7 +20,8 @@ */ public class SpanReusableDataMarshaler { - private final Deque marshalerPool = new ArrayDeque<>(); + private final Deque marshalerPool = + new ConcurrentLinkedDeque<>(); private final MemoryMode memoryMode; private final BiFunction doExport;