Undertow proxy handler + RequestLimit handler issue
by paroczizs
Hi Undertow Dev,
we built a custom integration component based on Wildfly 11 with Undertow
1.4.18. The application contains a couple of custom and built in handlers.
We found the following:
There is a RequestLimit handler right at the beginning and finally the
proxy handler. When the backend getting to be slow and the load is
relatively high the RequestLimit handler does its job queues the request
then throws the request above the queue. When the proxy times out it starts
to consume the queue, in some cases the exception below occurs and we found
that in this case the counter in the RequestLimit handler is not reduced
and the it can stuck the way to the backend.
Are there any possibility to handle the exception in a custom handler?
Thank you in advance, Zsolt
2018-11-28 12:02:19,518 ERROR [io.undertow.proxy] (default I/O-2) UT005028:
Proxy request to /lwi/optinus/getentityanswersservice failed:
java.nio.channels.ClosedChannelException
at
io.undertow.client.http.HttpClientConnection$5.handleEvent(HttpClientConnection.java:194)
at
io.undertow.client.http.HttpClientConnection$5.handleEvent(HttpClientConnection.java:173)
at
org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at
org.xnio.StreamConnection.invokeCloseListener(StreamConnection.java:80)
at org.xnio.Connection.close(Connection.java:142)
at org.xnio.IoUtils.safeClose(IoUtils.java:152)
at io.undertow.util.ConnectionUtils$3.run(ConnectionUtils.java:102)
at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:612)
at org.xnio.nio.WorkerThread.run(WorkerThread.java:479)
6 months, 2 weeks
Creating a websocket proxy with undertow
by Marc Boorshtein
Using the 1.4 series, I'm trying to handle upgrade and websockets. Looking
at a few examples and the code I think what I need to do is:
1. add the WebSocketServlet to the right path
2. implement WebSocketConnectionCallback that will call my remote ws://
server
Am I on the right track? I haven't found an example of doing this with
undertow but found something similar with jetty (
https://github.com/chipster/chipster-web-server/blob/master/src/main/java...)
but I havne't found the same thing for undertow so any pointers would be
appreciated.
Thanks
Marc Boorshtein
7 months, 2 weeks
Issue with Undertow Client and SSL
by Thomas Segismont
Hi,
Openshift Origin uses Hawkular Metrics to store node and container data. In
this scenario, Hawkular Metrics calls the Kubernetes master server over
HTTPS to validate the client identity. This is implemented with Undertow
Client, as part of a ServletExtension (inside Wildfly 10) [1]. Works fine
in development and testing.
Now the Openshit team sees errors in the logs [2][3]. I couldn't reproduce
yet. Errors come in pair, first the "UT005001: An exception occurred
processing the request: java.lang.IllegalStateException: XNIO000017: Buffer
was already freed", and just after "XNIO001007: A channel event listener
threw an exception: java.lang.NullPointerException".
Does that ring a bell? I haven't been able to find a starting point by
looking into the source the code.
Thanks
--
Thomas Segismont
JBoss ON Engineering Team
[1] https://git.io/vrNyP
[2] https://issues.jboss.org/browse/HWKMETRICS-408
[3] https://issues.jboss.org/secure/attachment/12405779/hawkular.log
8 months, 2 weeks
Correctly shutting down a websocket handler
by Robin Anil
When a client disconnects, I see that onClose is not being fired. The only
way this seems to be firing if client sents a close frame.
Is there any way to detect disconnection and immediately close all the
opened resources.
Robin
Robin Anil | Software Engineer
3 years, 1 month
[undertow-dev] Failure: WFLYCTL0212: Duplicate resource
by rinilnath r
Hi,
I am getting the below error message when we run the cli file undertow_enable_log.cli
With below mentioned change in patter for better compliance.
/subsystem=undertow/server=default-server/host=default-host/setting=access-log:\
add(pattern="%a | %h %u %A %p %t | "%r" | "%v" |
%s %b %D| "%{i,Referer}" | "%{i,User-Agent}" |
"%{c,JSESSIONID}" | remoteLogname:"%l"",
use-server-log=false)
And, we run the below commands à
...
jboss-cli.bat -c
...
run-batch --file="undertow_enable_log.cli"
But, received Error Msg: “Failure: WFLYCTL0212: Duplicate resource”
Questions:
1) Kindly advise, if the pattern has applied correctly?
2) And, how can we run the batch successfully with expected results log?
4 years, 10 months
[undertow-dev] Change response after reverse proxy
by ilia britov
Hello! Thanks for your work!
I have a next question.
I am building a service based on reverse proxy.
I want create next process:
After reverse proxy it get the response body and check:
1. If conditions is failed it will return "as-is" response.
2. Otherwise, it changed status code and response body.
I tried several approaches:
1. Add ResponseCommitListener. Through ResponseCommitListener I can change status code but cannot get response body.
2. Add AbstractStreamSinkConduit. Through conduit I can get access to response body and modify it but cannot change status code because the response hasn't been changed at this time.
Questions:
Are there any ways to get the response body in the ResponseCommitListener? Or can we change the status code using a conduit?
Thanks in advance for your answers!
4 years, 11 months