tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Filip Hanik - Dev Lists <>
Subject Re: comet loop after webapp re-start
Date Tue, 10 Feb 2009 02:09:24 GMT
are you not getting the END event at all, even after the app is reloaded?


Peter Warren wrote:
> I'm running tomcat 6.0.18 on Ubuntu 8.10.  I have a comet application
> that maintains an open connection with tomcat.  If I re-start my
> webapp and then close the client connection, tomcat goes into a loop
> and chews up all cpu.  This server is not live and only has my single
> client.
> The ClientPoller thread consumes most of the cpu running through the
> following stack over and over.
> Daemon Thread [http-80-ClientPoller] (Suspended (breakpoint at line
> 654 in ThreadPoolExecutor))
> 	ThreadPoolExecutor.execute(Runnable) line: 654	
> 	NioEndpoint.processSocket(NioChannel, SocketStatus, boolean) line: 1161	
> 	NioEndpoint.processSocket(NioChannel, SocketStatus) line: 1148	
> 	NioEndpoint$Poller.processKey(SelectionKey,
> NioEndpoint$KeyAttachment) line: 1555
> 	NioEndpoint$ line: 1508	
> line: 619	
> This is not a problem with my CometProcessor not handling the comet
> events; the END event when the client connection is closed is never
> delivered to my CometProcessor, understandably since I just re-started
> the webapp and there is now a new CometProcessor instance.
> I believe what is happening is that the NIO connector is trying to
> deliver the END event to a CometProcessor that no longer exists and
> just keeps trying.  Should the NIO connector recognize that the event
> is undeliverable and give up?  Or is there something I need to do in
> webapp shutdown code to tell the NIO processor to disregard any open
> connections?
> The workaround is to always re-start the tomcat instead of just the
> webapp.  This is possible for me since my server is only serving a
> single webapp.
> Peter
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message