Why close_wait came in netty
===

I've built a nio socket server using netty 3.3.1, with ExecutionHandler to deal with complicated business logic. But today at a time it suddenly accumulated a large number CLOSE_WAIT TCP connections, and there are lots of ClosedChannelException in logs during that time. At last I restarted the server. Can some one help to explain why this could happen? 

> java.nio.channels.ClosedChannelException
>         at org.jboss.netty.channel.socket.nio.NioWorker.cleanUpWriteBuffer(NioWorker.java:639)
>         at org.jboss.netty.channel.socket.nio.NioWorker.close(NioWorker.java:595)
>         at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:350)
>         at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:274)
>         at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:194)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
>         at java.lang.Thread.run(Thread.java:595)

There are 24 workers in production environment, and I set business thread pool size to 30.

    private final ExecutionHandler executionHandler = new ExecutionHandler(
                    new OrderedMemoryAwareThreadPoolExecutor(30, 0, 0));


Thanks!
