[ https://issues.apache.org/jira/browse/HTTPCLIENT-2230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Oleg Kalnichevski resolved HTTPCLIENT-2230. ------------------------------------------- Resolution: Incomplete > 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-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org