2012/1/7 Mark Thomas <ma...@apache.org>: > On 06/01/2012 20:13, Konstantin Kolinko wrote: >> 2012/1/6 Mark Thomas <ma...@apache.org>: >>>> So it looks that not only the if(), but the whole r944518 change in >>>> AprEndpoint has to be reverted. >>> >>> That looks OK to me. I'll do that but run the TCKs as a double check. >>> >> >> I am running TestCometProcessor tests with this very change just now. ;) >> >> (My plan is to reenable TestCometProcessor - that is revert >> http://svn.apache.org/viewvc?rev=1225632&view=rev >> but with the following change in testCometConnectorStop(): >> >> - Do not ask reader thread whether END event message was received >> over the wire, but ask the servlet directly whether the last CometEvent >> that it processed was EventType.END. I think it would be more reliable. >> ) > > I'm not keen on that idea since the point of the test was to ensure that > the END event was received by the client, not that it was processed by > the Server.
Is there any promise that it should happen? Won't the client see the same from closed socket? (Anyway ci failures showed that it does not happen reliably). > >> The NIO connector is OK, but I observe an issue with APR one: >> >> In testCometConnectorStop() the test fails: >> >> [[[ >> junit.framework.AssertionFailedError: No exception in writing thread >> at >> org.apache.catalina.comet.TestCometProcessor.testCometConnectorStop(TestCometProcessor.java:289) >> ]]] >> >> So no SocketException happens in the WriterThread. At the same time >> when I ask SimpleCometServlet for the last event that it received it >> is EventType.END. >> >> My thought is that the WriterThread does not see that the socket that >> it writes to has been closed. >> >> (It probably is not of much concern because it happens at shutdown, >> but it might be that we are still missing something). > > I'd be happy for the lack of a WriterThread exception to trigger a log > message rather than a test failure. > > Mark > >> I thought that maybe during shutdown the >> #processSocket(long,SocketStatus) that uses an executor to run the >> event did not have chance to run, but because the END event was >> received by servlet I think that it did run. Best regards, Konstantin Kolinko --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org