[
https://issues.apache.org/jira/browse/HTTPCORE-29?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12467688
]
Anders Wallgren commented on HTTPCORE-29:
-----------------------------------------
I don't have a stack trace, but, by inspection, doesn't the call to
verifyWorkers() in execute() have the effect of taking exceptions from the
worker threads and throwing them out of execute()?
Or perhaps it's the case that such exceptions are also fatal?
In any case, it seems as though we agree that the reactor should only shut down
if the main selector is unable to perform its function.
> 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]