[
https://issues.apache.org/jira/browse/HTTPCLIENT-2230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17568091#comment-17568091
]
Oleg Kalnichevski commented on HTTPCLIENT-2230:
-----------------------------------------------
I am not sure what you expect us to do here. There can be all sorts of reasons
for an I/O reactor to be in the shutdown state such as termination by the user
or due to an internal error. However in the latter case one should get a log
entry at ERROR priority.
I will have to close this issue as invalid without a reliable reproducer.
Oleg
> IOReactorShutdownException: I/O reactor has been shut down, using apache
> httpclient5
> ------------------------------------------------------------------------------------
>
> Key: HTTPCLIENT-2230
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2230
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: HttpClient (async)
> Affects Versions: 5.0
> Reporter: Assaf Zvigoren
> Priority: Major
> Fix For: 5.0
>
>
> we recently upgraded our httpclient version from 4.x to 5.0.3.
> The main reason for the upgrade is to get rid of the
> {code:java}
> java.lang.IllegalStateException: Request cannot be executed; I/O reactor
> status: STOPPED{code}
> exception that accures on version 4.x.
> After the upgrade, for some unknown reason we are experiencing this error
> now:
> {code:java}
> 22:35:04,160 (pool-9-thread-1] ERROR http.async.HttpAsyncSender - Unable to
> send request, cause-I/O reactor has been shut down
> org.apache.ha.cores.reactor. IOReactorShutdownException: I/O reactor has been
> shut down at
> org.apache.ho.cores.reactor.AbstractIOReactorBase.connect(AbstractIOReactorBase.java:50)-thespoores-5.0.2.341/15.0.21
> at
> org.apache.ha.clients.http.impl.nio.Maltihome105essionRequesterfi.executellext
> (Multihome10Sessionequester.java:105) -[httpolients-5.0.3.3art/25.0.31 37021
> at org.apache.he.clients.http.impl.nic.MultihomeI0SessionRequester$1.run
> (Multihome105essionRequester.java:153) -(httpclients-5.0.3.jar/15.0.3)
> at org.apache.hc.clients.http.impl.nio.Multihome10SessionRequester.connect
> (Multihome 10dessionequester-java:157)-[httpclient5-5.0.3.Jaz1/15.0.31 at
> org.apache.he.clients.http.impl.nio.DefaultAsyncClientConnectionOperator.connect
> (DefaultAsyncClientConnectionOperator.java:30)
> -[httpclients-5.0.3.jar!/15.0.3)
> at
> org.apache.ho.clients.http.impl.nio.PoolingAsyncClientConnectionManager.connect
> (FoolingAsyncClientConnectionManager.java:369)
> -[httpclients-5.0.3.jar!/15.0.3)
> at
> org.apache.he.clients.http.impl.wayng.InternalfetpAsyncExecRuntime.connectEndpoint
> (InternalttpAsynckxeckuntime.JAVA:210)-[httpclients-5.0.3-3art/15.0.31 at
> org.apache.ho.clients.http.impl.async.AsyncConnectExec.proceedTolfextop
> (AsyncConnectExec.java:195) -httpeltent5-5.0.3.jar/5.0.31
> at org.apache.ba.clients.http.impl.async.AsyncConnectExec.access2000
> (AsyncConnectExec.java:79)-[httpclients-5.0.3.jar/15.0.3) at
> org.apache.ho.clients.http.impl-axyng.AsyncConnectExec.completed
> (AsyncConnectExec.java:146) -Thespelients-5.0.3.jar!/15.0.3)
> at org.apache.bo.clients.http-impl-async.AsyncConnectExecli.completed
> (AsyncConnectExec.java:135) -(httpelients-5.0.3.jar!/15.0.3)
> at
> org.apache.hc.clients.http.impl.axyng.InternalttpAsyncExecRuntimesi.completed
> (InternalNetpayncExecRuntime.java:114) -[httpclients-3.0.3.3art/15.0.3) at
> org.apache.bo.clients.http.impl.async.InternalfetpAryncExecRuntime1.completed
> [InternalttpAsyncExecRuntime.java:105) -(httpaliest5-5.0.3.jar!/15.0.31
> at org.apache.bc.cores.concurrent.Basicfuture.completed
> (Basicfuture.java:123) (httpoores-5.0.2.jar!/15.0.21 at
> org.apache.hc.cores.concurrent.ComplexFuture.completed (Complexfuture.179)
> (httpceres-5.0.2.jart/:5.0.21
> at peg.apache.he.clients.http.impl.nio.PoolingAsyncClientConnectionManager$1.
> leaseCompleted (PoolingAsyncClientConnectionManager.java:240)
> -[httpclients-5.0.3.3art/15.0.31
> at
> org.apache.ho.clients.http.impl.nio.PoolingAsyncClientConnectionManager$1.completed/FoolingAayneClientConnectionManager.JATA1275)-[httpclients-3.0.3.3az1/15.0.31
> at
> org.apache.ho.clients.http.impl.nio.PoolingAsyncClientConnectionManager$1.completed(PoolingAsyncClientConnectionManager.java:224)
> -[httpclients-8.0.3.jar!/15.0.31
> at org.apache.bs.cores.concurrent.Basicfuture.completed(BasicFuture.java:123)
> -[httpeores-5.0.2.3art/15.0.23
> at org.apache.hc.cores.pool.strictConnPool.fireCallbacks
> (StrictConnPool.java:383) -(httpcore5-5.0.2.jar!/15.0.23 at
> org.apache.hc-cores.pool.strictcoonPool.Inase (Strict
> ConnPool.java:199)-[httpcores-5.0.2.jar!/15.0.21
> TRAR at
> org.apache.bo.clients.http.impl.nio.PoolingAsyncClientConnectionManager.lease
> (Foolinghayn ClientConnectionManager.java:225)
> (httpclients-5.0.3.3421/15.0.3) at
> org.apache.ho.clients.http.impl.anng.InternallttpyncExecRuntime.squireEndpoint
> (Internal:twyncExecuntime.java:100)-[httpclients-3.0.1.jart/25.0.31 at
> org.apache.he.clients.http.impl.async-AsyncConnectExec.execute(AsyncConnectExec.java:134)-[httpclients-5.0.2.jar/15.0.
> {code}
> We have no idea why this error accures or what is causing it.
> The only major diffference between our version was that in the previus
> version with httpclient 4.x, we consumed the response:
> httpclient 4.x code:
> {code:java}
> @override
> public void completed(HttpResponse response) {
> // some code ...
> EntityUtils.consume(response.getEntity());
> }{code}
> but now we use `SimpleHttpResponse` instead of `HttpResponse` and
> `getEntity()` is not a function of `SimpleHttpResponse`, so we removed this
> code.
> So my question is, why the error above hppends? can it be related to the fact
> that we do not consume the response? and if so - why is it related? when do
> you need to use `consume()`?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]