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

Reply via email to