dev@grizzly.java.net

websockets timeouts

From: Justin Lee <justin.d.lee_at_oracle.com>
Date: Wed, 14 Jul 2010 09:51:16 -0400

I've finally tracked down the issue that causes the websockets tests to
intermittently fail with timeout errors. At some point, grizzly
decideds an incoming websocket frame is a new request and sends it
through the header parsing code. This code then consumes the frame
looking for header information which, of course, means it'll never get
to the websocket application. I'm pretty sure it's a key selection
process/issue. This is the same issue alexey and I discussed a few days
ago where it looked like grizzly choked on large uploads. This isn't
actually the case, though. What was actually happening was that
grizzly's http code was trying to parse a 10M block of text (the
bigPayload websockets test) as if it were an HTTP header block.

Now, that's the "what" but I still haven't tracked down the "why" just
yet. Or the "how" of the fix. :) I'll be working on that the next few
days in between conference/presentation prep. I have to start blocking
out time to get some of that done of JavaOne could be very awkward for
me. ;) That's where things currently stand with websockets. If you
have any feedback or suggestions, I'm all ears.