users@grizzly.java.net

Re: Grizzly slowly leaking with comet support on version 1.0.39

From: Oleksiy Stashok <oleksiy.stashok_at_oracle.com>
Date: Mon, 11 Apr 2011 16:23:37 +0200

> I'm not sure I'm using an http pipeline. how can I make sure of that?
It would be our next step after we make sure we've read entire request
body (if it's acceptable by your usecase).

> The sequence of comet registration (code in comet servlet) :
>
> 1. create handler and attach the http response
> 2. send a ack in http response outuput stream (write + flush)
> 3. add the comet handler in comet context by calling addCometHandler
> 4. response.flushBuffer(); => not sure why this code is here (legacy), I can
> try to remove it
>
Hmm, let's remove flushBuffer, or at least swap 3. and 4.

> Comet registration is made by a post or a get, so I think all the data have
> been read.... How can I ensure that all the data have been read in a servlet
> code ?
IMO InputStream.read(...) has to return -1.

> Tell me I am doing something wrong. Othrewise I will fill an issue in your
> tracker.
Let's try to make sure we've read entire request body before doing the
addCometHandler(...), again if it's acceptable for you.

Thanks.

WBR,
Alexey.