-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Review ServletChannelState.asyncError() #10933
Comments
@sbordet @janbartel @lorban @lachlan-roberts In core, we use the
This allows core to write an error response even if there has been a failure. However, in ee10 Servlets, we do not use this mechanism. Instead handling SEND_ERROR calls the ErrorHandler directly with the unwrapped response and a new Moreover, that does not help with the use-case of a The problem with the async use-case, is that the async listener will use the original request/response object and thus cannot be given any wrapper. So if we do use an |
Fixed by #10949. |
Most often failures come from the read side, so failure listeners are now serialized in the _readInvoker. This avoids that a failure while parsing a request (e.g. an early EOF) results in concurrent executions of the invokeOnContentAvailable task and the invokeOnFailureListeners task. Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Fixed HttpChannelTest.testOnFailure(). Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Jetty version(s)
12
Description
ServletChannelState.asyncError()
is currently not called, but we could wire it again so that if a Servlet calls startAsync(), we register a failure listener that callsasyncError()
so Servlet may be notified of asynchronous errors.The text was updated successfully, but these errors were encountered: