On 23/12/2011 23:39, Matthew Tyson wrote:
> Hello,
>
> We have been having quite a few problems with using long-polling
> connections in Tomcat, via the NIO connector. Upgrading to Tomcat 7.0.23
> definitely improved things, but we are still seeing major issues.
Glad to hear things are getting better. No so glad to hear you are still
having problems.
> The problems only crop up after a couple minutes under some load (modest
> load, around 2-3 connections per second).
That's pretty low load.
> One very clear problem I am looking at right now is that the service method
> on a servlet is continually being called, although there is no traffic
> coming into tomcat from that remote IP (we verified this at the ethernet
> device).
Hmm. Very strange that the service method is being called. There needs
to be a complete and valid set of HTTP headers for that to happen and
the request/response gets recycled afterwards so the data shouldn't get
processed twice.
> The logging statement at the beginning of the service method is being
> executed every so often, like so:
> logger.info("REQUEST: " + request.getRemoteAddr() + " " +
> request.getMethod() + " " + request.getQueryString());
>
> INFO 2011-12-23 15:30:50,860 org.cometd.server.CometdServlet REQUEST:
> 75.149.42.46 POST null
> INFO 2011-12-23 15:31:02,484 org.cometd.server.CometdServlet REQUEST:
> 75.149.42.46 GET
>
> message=%5B%7B%22channel%22%3A%22%2Fmeta%2Fconnect%22%2C%22connectionType%22%3A%22callback-polling%22%2C%22advice%22%3A%7B%22timeout%22%3A0%7D%2C%22id%22%3A%22354%22%2C%22clientId%22%3A%222b611tiekwk6p2mfh5bye3bm6y7l%22%7D%5D&jsonp=dojo.io.script.jsonp_dojoIoScript135._jsonpCallback
> INFO 2011-12-23 15:31:28,512 org.cometd.server.CometdServlet REQUEST:
> 75.149.42.46 POST null
> INFO 2011-12-23 15:31:36,571 org.cometd.server.CometdServlet REQUEST:
> 75.149.42.46 POST null
Odd. So there are at least two different requests being processed here.
> But again, there is no traffic from that IP. I'm not sure if this is some
> sort of loop, a very long delay, or other connections being mixed up.
I'm not aware of any connection mix up issues that might explain this.
> Probably the last, since I don't see any loop pattern, and it has
> continued without any traffic for almost a half an hour now.
>
> Thoughts?
We need more information :)
If you can create a simple web application that reproduces this I'd be
happy to take a look. I suspect that is non-trivial so I'll suggest a
couple of other options.
1. The simple thing is to add a stack trace to that log message so we
can see exactly what code path is triggered this.
2. How comfortable are you patching Tomcat and building it from source?
I have some debug logging sat in a git branch that I use for debugging
similar issues that will generate a lot of logging but show exactly what
is happening. I can either provide you with the patch or an updated JAR
(or JARs) that you can drop into a 7.0.23 instance.
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]