Hi,
we have application running on Tomcat 7.0.52 with Nio connector (a lot older versions too), it uses MyFaces (2.1.12), RichFaces (4.3.5), Atmosphere framework (1.0.18). Atmosphere framework is configured to use long-polling with Tomcat Nio comet support.

Sometimes simple request takes a long time to finish (correlates with connectionTimeout set on Connector) and response is damaged. Here is example of damaged response from server:

0

HTTP/1.1 302 Found
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=C524EA667CA4087407A5DCDEA1712E53; Path=/app/; HttpOnly
Location: http://192.168.1.156:8080/app/login
Content-Length: 0
Date: Tue, 28 Jan 2014 16:10:54 GMT

Response packet contains exactly this data, no more data (headers) before "0". Example contains redirect but problem appears in JSF pages too. "0" is end of chunked encoded response.

Problem went away by switching atmosphere from long-polling to WebSockets so I think there may be problem in Atmospere framework long polling and Tomcat async support. I've found workaround using socket.bufferPool="0" but i think it's not final solution.

I don't have simple testcase to easily reproduce this problem. I've tried turning on Tomcat debug logs, debugging Tomcat and so on but without usable results. My opinion is that atmosphere framework uses NioChannel which doesn't own but I'm not able to confirm or reject it.

Can you suggest me how to debug this problem or give me some tip to find final solution?

Thanks,
    Jan Dosoudil

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to