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

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

Anders,

Connection objects are not thread-safe as they are not intended for use by 
multiple threads. HttpConnection#shutdown() is the only method which may be 
called from a different thread. #shutdown() as opposed to #close() is likely to 
leave the connection in an inconsistent state and is meant to be used as the 
last resort. The only solution to this situation is to synchronize on 
connection instance, which I would not like to do per default for performance 
reasons. 

Can you live with NHTTP connections throwing checked ConnectionClosedException 
instead of unchecked IllegalStateException?

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