2014-03-21 10:42 GMT+01:00 Konstantin Kolinko <knst.koli...@gmail.com>:
> I am not voting yet. > The test suite did pass successfully for BIO,NIO,APR,NIO2 with JDK > 7u51 (32-bit) on Windows 7, except for the following test with NIO2: > > TEST-org.apache.catalina.connector.TestCoyoteOutputStream.NIO2.txt > [[[ > Testcase: testNonBlockingWriteTwiceBlockingWriteOnce took 300,096 sec > Caused an ERROR > Works for me (like that SSL test ...). > There are a number of the following messages in the log files (in 3 > files for NIO2, in 1 file for BIO): > java.util.concurrent.RejectedExecutionException: Executor not running, > can't force a command into the queue > Yes, I get some of them too. There's a completion handler waiting on keepalive, that gets a failed when closing the server socket, which seems normal to me. But there are no checks for the running state there, it will try to process the close. So that should be cosmetic, I think I'll check the best option between toning down the thing to debug level, adding a check for the running flag, etc. Example stack from the TestCoyoteOutputStream logs: 20-Mar-2014 14:48:14.605 WARNING [http-nio2-127.0.0.1-auto-4-exec-7] org.apache.tomcat.util.net.Nio2Endpoint.processSocket0 Executor rejected socket [org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper@3e7747dc:null] for processing java.util.concurrent.RejectedExecutionException: Executor not running, can't force a command into the queue at org.apache.tomcat.util.threads.TaskQueue.force(TaskQueue.java:63) at org.apache.tomcat.util.threads.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:180) at org.apache.tomcat.util.threads.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:155) at org.apache.tomcat.util.net.Nio2Endpoint.processSocket0(Nio2Endpoint.java:561) at org.apache.tomcat.util.net.Nio2Endpoint$1.failed(Nio2Endpoint.java:932) at org.apache.tomcat.util.net.Nio2Endpoint$1.failed(Nio2Endpoint.java:919) > Those are in > TEST-org.apache.catalina.connector.TestCoyoteOutputStream.NIO2.txt > TEST-org.apache.coyote.http11.upgrade.TestUpgrade.BIO.txt > TEST-org.apache.coyote.http11.upgrade.TestUpgrade.NIO2.txt > TEST-org.apache.tomcat.websocket.TestWsWebSocketContainer.NIO2.txt > > According to the logs when RejectedExecutionException happens the > protocol handler have been stopped and destroyed several msecs before > that event. > > With websockets, I get some additional shutdown errors too. BTW, the stability vote is not about NIO2, it is experimental (and will remain that way for an indefinite amount of time, maybe until its removal if not successful enough). Rémy