[
https://issues.apache.org/jira/browse/AMQ-6491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15673814#comment-15673814
]
Maxence Dunnewind commented on AMQ-6491:
----------------------------------------
Hi, just a comment as we also get this issue.
We have a lot of websocket (wss) connections from various customers , mobile or
desktop, over mobile network or not etc etc ... We have ~ 7k connections , with
a lot of connections dropping and initializing all the time (basically this is
connected to a website , so every time a user switches to a new page => new
connection).
in the 20 minutes, I find not less than 350 NPE with the exact same stacktrace.
If I check the "qtpXXXXX" id at the beginning of log line and grep for it, I
usually find other lines like :
bq. User Agent: [unset] requested WebSocket version [-1], Jetty supports
version: [13] | org.eclipse.jetty.websocket.server.WebSocketServerFactory
and the corresponding IP are likly to be behind some enterprise proxy that (I
guess) doesn't support websocket.
Also, most of the qtpXXX id don't have any log with the source IP. It would be
good to have the source IP when an exception is raised.
> WebSocket tries to call default servlet, when default servlet not configured
> ----------------------------------------------------------------------------
>
> Key: AMQ-6491
> URL: https://issues.apache.org/jira/browse/AMQ-6491
> Project: ActiveMQ
> Issue Type: Bug
> Components: Transport
> Affects Versions: 5.14.1
> Reporter: Neil Greatorex
> Priority: Minor
> Labels: websocket
>
> With WebSocket connectors defined e.g.
> {noformat}
> <transportConnectors>
> <transportConnector name="ws"
>
> uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
> <transportConnector name="wss"
>
> uri="wss://0.0.0.0:61615?transport.wantClientAuth=true&maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
> </transportConnectors>
> {noformat}
> A request to https://127.0.0.1:61615/ gives HTTP 500 Internal Server Error
> with the following in the log:
> {noformat}
> WARN | org.eclipse.jetty.servlet.ServletHandler | /
> java.lang.NullPointerException
> at
> org.apache.activemq.transport.ws.jetty9.WSServlet.doGet(WSServlet.java:88)[activemq-http-5.14.1.jar:5.14.1]
> at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:622)[tomcat-servlet-api-8.0.24.jar:]
> at
> org.eclipse.jetty.websocket.servlet.WebSocketServlet.service(WebSocketServlet.java:167)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:729)[tomcat-servlet-api-8.0.24.jar:]
> at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1129)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> org.eclipse.jetty.server.Server.handle(Server.java:499)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
> at java.lang.Thread.run(Thread.java:745)[:1.8.0_66-internal]
> {noformat}
> This occurs because no default servlet is defined. Either ActiveMQ should not
> attempt to forward GET requests to the default servlet, or the embedded Jetty
> instances should be configured with a proper default servlet.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)