-
Notifications
You must be signed in to change notification settings - Fork 873
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Servlet 3.0 instrumentation does not fully cover 3.1 and 4.0 #1083
Comments
I've started working on this issue, PR will be ready this week for sure |
I agree -- I've tried to fix #1149 by creating a proxy |
I've submitted a PR that removes I'll close the other two, since they both seem to be inane solutions. |
Servlet 3.1 introduced a new method in
ServletOutputStream
:setWriteListener(WriteListener)
. This method is not implemented in our current servlet 3.0 instrumentation, so when it's called anAbstractMethodError
is thrown instead:I ran into this issue when I was unit testing RESTEasy 4.5.6: it looks like they actually use this new method when dealing with an
AsyncResponse
: https://github.com/resteasy/Resteasy/blob/master/resteasy-core/src/main/java/org/jboss/resteasy/plugins/server/servlet/HttpServletResponseWrapper.java#L204This issue is easy to reproduce by using code from this PR and running
The worst thing about this is that it affects the instrumented application (because we overwrite request & response with our wrappers) - in my case, I got a 500 HTTP response instead of 1 200 one:
The text was updated successfully, but these errors were encountered: