-
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
implement servlet upgrade for ee10 #10128
base: jetty-12.0.x
Are you sure you want to change the base?
implement servlet upgrade for ee10 #10128
Conversation
Remove lambda for clarity
removed unused variable
Requests are always handled by ServletHandler, one way or another.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Servlet upgrade
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/HttpChannelState.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
// Do not use SerializedInvoker here because application code running within | ||
// SerializedInvoker could issue blocking write() or close() that would deadlock. | ||
// We must execute in case of recursive write within the callback. | ||
getRequest().getContext().execute(() -> callback.failed(x)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sbordet I don't like this, but we have a test which calls write from within the callback which results in recursion and a StackOverflowError if we execute the callback directly.
ee383a2
to
3d24929
Compare
…tty-12-ServletChannel-cleanup-ee10-servlet-upgrade
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
// Do not use SerializedInvoker here because application code running within | ||
// SerializedInvoker could issue blocking write() or close() that would deadlock. | ||
// We must execute in case of recursive write within the callback. | ||
getRequest().getContext().execute(callback::succeeded); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We cannot have an execute on the callback of every write. This is a blocker. Let's analyse after 12.0.1 and see how we can avoid t his.
…tty-12-ServletChannel-cleanup-ee10-servlet-upgrade
…tty-12-ServletChannel-cleanup-ee10-servlet-upgrade
…tty-12-ServletChannel-cleanup-ee10-servlet-upgrade
@lachlan-roberts is this still a thing? |
@gregw yes, but we need to discuss the issue with the callback.
So we need to think of some other solution for this. |
implementing ee10 servlet upgrade for PR #10064