diff --git a/dd-java-agent/instrumentation/akka-http/akka-http-10.0/src/main/java/datadog/trace/instrumentation/akkahttp/DatadogServerRequestResponseFlowWrapper.java b/dd-java-agent/instrumentation/akka-http/akka-http-10.0/src/main/java/datadog/trace/instrumentation/akkahttp/DatadogServerRequestResponseFlowWrapper.java index f0c211e86bd..c8683b8c888 100644 --- a/dd-java-agent/instrumentation/akka-http/akka-http-10.0/src/main/java/datadog/trace/instrumentation/akkahttp/DatadogServerRequestResponseFlowWrapper.java +++ b/dd-java-agent/instrumentation/akka-http/akka-http-10.0/src/main/java/datadog/trace/instrumentation/akkahttp/DatadogServerRequestResponseFlowWrapper.java @@ -168,8 +168,8 @@ public void onUpstreamFinish() throws Exception { @Override public void onUpstreamFailure(final Throwable ex) throws Exception { ContextScope scope = scopes.poll(); - AgentSpan span = AgentSpan.fromContext(scope.context()); if (scope != null) { + AgentSpan span = AgentSpan.fromContext(scope.context()); // Mark the span as failed DatadogWrapperHelper.finishSpan(span, ex); } @@ -177,7 +177,7 @@ public void onUpstreamFailure(final Throwable ex) throws Exception { // remaining spans scope = scopes.poll(); while (scope != null) { - span.finish(); + AgentSpan.fromContext(scope.context()).finish(); scope = scopes.poll(); } fail(responseOutlet, ex);