You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Oleg Kalnichevski (Jira)" <ji...@apache.org> on 2022/07/18 16:17:00 UTC

[jira] [Commented] (HTTPCLIENT-2230) IOReactorShutdownException: I/O reactor has been shut down, using apache httpclient5

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