[ 
https://issues.apache.org/jira/browse/HTTPCORE-58?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12485989
 ] 

Oleg Kalnichevski commented on HTTPCORE-58:
-------------------------------------------

> It seems to me that it shouldn't be possible, through proper use of the API, 
> to cause assertions to fail. Certainly it shouldn't be 
> possible to cause worker threads to be lost?

Good point. I overlooked it. 

To mend the problem somewhat I changed NHTTP connections to throw checked 
ConnectionClosedException instead of unchecked IllegalStateException when an 
attempt is made to perform an I/O operation on a closed connection.

As to the race condition I am not sure I fully follow. Are you saying the 
connection gets dropped immediately after NHttpClientConnection.submitRequest 
has been invoked? What resource are threads racing for? I still think if such 
condition occurs, throwing an exception is quite appropriate.

Oleg

> IllegalStateException after cancelling
> --------------------------------------
>
>                 Key: HTTPCORE-58
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-58
>             Project: HttpComponents Core
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.0-alpha4
>         Environment: Window Vista
>            Reporter: Anders Wallgren
>             Fix For: 4.0-alpha5
>
>
> Seeing this exception during tests when cancelling:
> 2007-03-14T18:04:39.600 | DEBUG | main          |                             
>                   | AgentManager                   | startCommand: 
> request[agent[localhost:62851],cancel-8]
> cancel
> 2007-03-14T18:04:39.603 | DEBUG | Agent-1       | cancel-8                    
>                   | AgentManager                   | initalizeContext: 
> request[agent[localhost:62851],cancel-8]
> 2007-03-14T18:04:39.605 | DEBUG | Agent-1       | cancel-8                    
>                   | AgentManager                   | submitRequest: 
> request[agent[localhost:62851],cancel-8, connected]
> 2007-03-14T18:04:39.605 | DEBUG | main          |                             
>                   | AgentRequest                   | Cancelling 
> request[agent[localhost:62851],cancel-8, connected] due to 
> com.electriccloud.commander.agent.AgentPingException: testCancel
> 2007-03-14T18:04:39.608 | DEBUG | Agent-1       |                             
>                   | CommanderThread                | Exiting 
> Thread[Agent-1,5,main]
> 2007-03-14T18:04:39.611 | ERROR | Agent-1       |                             
>                   | CommanderThread                | Uncaught exception in 
> Thread[Agent-1,5,main]: java.lang.IllegalStateException: Session request 
> already completed
> java.lang.IllegalStateException: Session request already completed
>     at 
> org.apache.http.impl.nio.reactor.SessionRequestImpl.completed(SessionRequestImpl.java:116)
>     at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.processNewChannels(AbstractIOReactor.java:216)
>     at 
> org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:124)
>     at 
> org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:153)
>     at java.lang.Thread.run(Thread.java:619)
>     at 
> com.electriccloud.util.queue.CommanderThread.run(CommanderThread.java:78)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to