Skip to content

Commit ae0fbbf

Browse files
Correctly fix NPE in servlet AsyncListener
This is the correct fix for #7449 as the spec says the following on AsyncEvent.getSuppliedResponse(): > If the AsyncListener to which this AsyncEvent is being delivered was added using AsyncContext.addListener(AsyncListener, ServletRequest, ServletResponse), the returned ServletResponse will be the same as the one supplied to the above method. If the AsyncListener was added via AsyncContext.addListener(AsyncListener), this method must return null.
1 parent e4445ab commit ae0fbbf

File tree

2 files changed

+6
-2
lines changed
  • instrumentation/servlet
    • servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0
    • servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0

2 files changed

+6
-2
lines changed

instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3Accessor.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,9 @@ public void onError(AsyncEvent event) {
101101

102102
@Override
103103
public void onStartAsync(AsyncEvent event) {
104-
event.getAsyncContext().addListener(this);
104+
event
105+
.getAsyncContext()
106+
.addListener(this, event.getSuppliedRequest(), event.getSuppliedResponse());
105107
}
106108
}
107109
}

instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/Servlet5Accessor.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,9 @@ public void onError(AsyncEvent event) {
194194

195195
@Override
196196
public void onStartAsync(AsyncEvent event) {
197-
event.getAsyncContext().addListener(this);
197+
event
198+
.getAsyncContext()
199+
.addListener(this, event.getSuppliedRequest(), event.getSuppliedResponse());
198200
}
199201
}
200202
}

0 commit comments

Comments
 (0)