hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roland Weber (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HTTPCORE-29) DefaultConnectingIOReactor.execute propagates IOException, but isn't really re-callable
Date Fri, 26 Jan 2007 22:13:49 GMT

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

Roland Weber commented on HTTPCORE-29:

Without looking at the code, this sounds like it would have been nice to have a bringup()
or initialize() method as the counterpart to shutdown(). If the state building is done in
an extra method, it would have been the caller's choice to shutdown() or retry execute().
Just for the sake of symmetry... ;-)


> DefaultConnectingIOReactor.execute propagates IOException, but isn't really re-callable
> ---------------------------------------------------------------------------------------
>                 Key: HTTPCORE-29
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-29
>             Project: HttpComponents Core
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.0-alpha3
>            Reporter: Anders Wallgren
>         Assigned To: Oleg Kalnichevski
>             Fix For: 4.0-alpha4
> I'm trying to figure out what to do when DefaultConnectingIOReactor.execute throws an
exception.  It doesn't seem like I can just call execute() again after handling the exception,
since that will recreate all the state in DCIOR.
> Seems to me that there needs to be a different way to handle exceptions, or the execute
method should be callable more than once.
> For reference, here's the stack trace of an exception:
> {code}
> 2007-01-23T16:23:19.800 | ERROR | urceInvoker |                                     
         | NewResourceInvoker             | Invalid argument: sun.nio.ch.Net.setIntOption
> java.net.SocketException: Invalid argument: sun.nio.ch.Net.setIntOption
> 	at sun.nio.ch.Net.setIntOption0(Native Method)
> 	at sun.nio.ch.Net.setIntOption(Net.java:154)
> 	at sun.nio.ch.SocketChannelImpl$1.setInt(SocketChannelImpl.java:406)
> 	at sun.nio.ch.SocketOptsImpl.setBoolean(SocketOptsImpl.java:38)
> 	at sun.nio.ch.SocketOptsImpl$IP$TCP.noDelay(SocketOptsImpl.java:284)
> 	at sun.nio.ch.OptionAdaptor.setTcpNoDelay(OptionAdaptor.java:48)
> 	at sun.nio.ch.SocketAdaptor.setTcpNoDelay(SocketAdaptor.java:268)
> 	at org.apache.http.nio.impl.reactor.DefaultConnectingIOReactor.prepareSocket(DefaultConnectingIOReactor.java:171)
> 	at org.apache.http.nio.impl.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:158)
> 	at org.apache.http.nio.impl.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:134)
> 	at org.apache.http.nio.impl.reactor.DefaultConnectingIOReactor.execute(DefaultConnectingIOReactor.java:94)
> 	at com.electriccloud.commander.domain.NewResourceInvoker.innerRun(NewResourceInvoker.java:304)
> 	at com.electriccloud.util.FailsafeRunnable.run(FailsafeRunnable.java:105)
> 	at java.lang.Thread.run(Thread.java:619)
> {code}

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: httpcomponents-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpcomponents-dev-help@jakarta.apache.org

View raw message