diff --git a/dd-java-agent/appsec/src/main/java/com/datadog/appsec/gateway/AppSecRequestContext.java b/dd-java-agent/appsec/src/main/java/com/datadog/appsec/gateway/AppSecRequestContext.java index 26e91fba3e2..6893e4845b9 100644 --- a/dd-java-agent/appsec/src/main/java/com/datadog/appsec/gateway/AppSecRequestContext.java +++ b/dd-java-agent/appsec/src/main/java/com/datadog/appsec/gateway/AppSecRequestContext.java @@ -6,6 +6,7 @@ import com.datadog.appsec.stack_trace.StackTraceCollection; import com.datadog.appsec.stack_trace.StackTraceEvent; import com.datadog.appsec.util.StandardizedLogging; +import datadog.trace.api.Config; import datadog.trace.api.http.StoredBodySupplier; import datadog.trace.api.internal.TraceSegment; import io.sqreen.powerwaf.Additive; @@ -413,14 +414,11 @@ public void reportEvents(Collection appSecEvents) { for (AppSecEvent event : appSecEvents) { StandardizedLogging.attackDetected(log, event); } - synchronized (this) { - if (this.collectedEvents == null) { - this.collectedEvents = new ArrayList<>(); - } - try { - this.collectedEvents.addAll(events); - } catch (UnsupportedOperationException e) { - throw new IllegalStateException("Events cannot be added anymore"); + if (this.appSecEvents == null) { + synchronized (this) { + if (this.appSecEvents == null) { + this.appSecEvents = new ConcurrentLinkedQueue<>(); + } } } this.appSecEvents.addAll(appSecEvents);