users@grizzly.java.net

Re: Grizzly stops working after UDP 5 packets

From: Jeanfrancois Arcand <Jeanfrancois.Arcand_at_Sun.COM>
Date: Wed, 21 Nov 2007 14:52:01 -0500

Hi,

Radim Kolar SF.NET wrote:
> in my dns server i have protocol filter chain set as follows:
> ReadFilter()
> DNSQueryFilter()
> AuthoritativeDNSFilter()
> ResponseMakerFilter()
> UDPWriteFilter()
>
> they are stateless, one class instance is used for serving all requests.
> Problem is that Grizzly stops working after 5 in/out packets, most likely
> he runs of available worker threads.
>
> what i am doing wrong? Need i add some filter after UDPWriteFilter and
> call some terminate function so grizzly can recycle worker thread?

Which JDK are you using and on which platform? Can you do a jstack
<PID>? Most likely it block in UDPWriteFilter line 78 (for probably 60
seconds). You might want to either reduce the timeout on the
OutputWriter or use the new async Write queue :-)

Thanks

-- Jeanfrancois

>
> UDPWriteFilter registers key in postExecute for OP_WRITE, is this right?
> because my work flow read -> process -> write (terminate work, but prepare
> to read next packet again, not write more data). so after my job, key should
> be registered in select set only for OP_READ.
>
> btw: my dns server is 3x faster than bind 9.3.3
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>