No, this is the first time we hear about this. In fact, I can't currently reproduce the problem you're describing in our tests and demos.
What ErraiServlet implementation are you using (DefaultBlocking or StandardAsync)?
Can you reproduce the problem using multiple sessions on one machine (e.g. open multiple browsers locally to simulate multiple clients)?
Do you see any errors in your browser's console?
Yes, I can reproduce it using multiple browsers on my local machine.
I am using StandardAsyncServlet and long polling. No errors in the browsers console, but the (slow) events seem to correspond with a stacktrace on the tomcat:
WARNING: onComplete() failed for listener of type [org.apache.catalina.core.AsyncListenerWrapper]
java.lang.IllegalStateException: Calling [asyncComplete()] is not valid for a request with Async state [MUST_COMPLETE]
In fact I just realized that the events come immediately when using websockets instead.
Thanks for your help,
Excellent! That really helps. All our demos use the DefaultBlockingServlet. Don't let the word "blocking" stop you from using it . It doesn't mean it's slower for your use cases. We would need to measure that.
The real difference is that with the AsyncServlet a high number of incoming requests under high load should consume less threads on the server. That might not be an issue for you at all.
We will look into the problem with the StandardAsyncServlet.
yes, I just tested it with my application, with DefaultBlockingServlet it works fine.
Thanks for your quick responses,