Do you have any log file or full thread dump?  Please create a JIRA
issue and attach related files such as log file, full thread dump and
reproduceable code.

If you are using nabble.com forum, you can attach the files there too.

Trustin

On 9/11/07, YoungJoon, Chun <[EMAIL PROTECTED]> wrote:
>
>
> > -----Original Message-----
> > From: mat [mailto:[EMAIL PROTECTED]
> > Sent: Sunday, September 09, 2007 12:54 PM
> > To: [email protected]
> > Subject: Re: using SocketConnector on not reachable address result in full
> > cpu
> >
> > 1)  Please don't double post the same thread. Thanks.
>
>
> Yep. Sorry:)
>
> > 2)  Did you catch RuntimeIOException after ConnectFuture future =
> > connector.connect()? The reconnect in a infinite loop without
> > Thread.sleep()
> > normally causes 100% CPU usage.
> >
>
>
>
> Exception is handled and There's no infinite loop or retry. Following is the
> test code.
>
>
>                 connector = new
> SocketConnector(Runtime.getRuntime().availableProcessors() + 1,
> Executors.newCachedThreadPool());
>                 VMPCodecFactory cf = new VMPCodecFactory();
>
>                 connector.getFilterChain().addLast(
>                                 "codec",
>                                 new ProtocolCodecFilter(cf));
>                 connector.getFilterChain().addLast("StreamWriter", new
> StreamWriteFilter());
>                 connector.getFilterChain().addLast("threadPool", new
> ExecutorFilter(Executors.newCachedThreadPool()));
>                 connector.getFilterChain().addLast( "logger", new
> LoggingFilter() );
>
>                 connector.setHandler(new SingleSessionIoHandlerDelegate(new
> SingleSessionIoHandlerFactory() {
>                         public SingleSessionIoHandler getHandler(IoSession
> session) {
>                                 return new TestHandler(session);
>                         }
>                 }));
>
>                 ...
>
>                 try
>                 {
>                 ConnectFuture future = connector.connect( new
> InetSocketAddress(addr, port) );
>                 future.addListener(new IoFutureListener() {
>                         public void operationComplete(IoFuture future)
>                         {
>                                 Exception handling here too but doesn't
> reach here
>                         }
>                 ...
>                 }
>                 catch(RuntimeException e)
>
>
> As I mentioned previously, Handler's sessionOpened() is magically called
> even though the machine is turned off.
> And after that, no further progress, and cpu goes up to 50% for that single
> connection.
> No error or exception returned.
>
> Thanks
>
>
>


-- 
what we call human nature is actually human habit
--
http://gleamynode.net/
--
PGP Key ID: 0x0255ECA6

Reply via email to