On Thu, 2020-05-14 at 13:59 +0200, u...@natune.net.INVALID wrote:
> > I need to see the original exception with a full stack trace that
> > caused the i/o reactor to shut down and preferably the complete
> > session
> > log leading to that condition.
> > 
> > Oleg
> 
> I was unable to get HttpClient5 logging to work. 

I am not sure what I can do without a log or a reproducer I could run
locally in my development environment.

Oleg


> I used this config in 
> /WEB-INF/log4j2.xml. The log files get created, but they contain 0
> output.
> 
> <Configuration>
>    <Appenders>
>      <File name="ctx" filename="/var/log/rst/httpcontext.log">
>        <PatternLayout pattern="%d %-5level [%logger]
> %msg%n%xThrowable" />
>      </File>
>      <File name="wire" filename="/var/log/rst/wire.log">
>        <PatternLayout pattern="%d %-5level [%logger]
> %msg%n%xThrowable" />
>      </File>
>    </Appenders>
>    <Loggers>
>      <Logger name="org.apache.hc.client5.http" level="DEBUG">
>        <AppenderRef ref="ctx"/>
>      </Logger>
>      <Logger name="org.apache.hc.client5.http.wire" level="DEBUG">
>        <AppenderRef ref="wire"/>
>      </Logger>
>      <Root level="INFO">
>        <AppenderRef ref="ctx" />
>      </Root>
>    </Loggers>
> </Configuration>
> 
> I am able though to reproduce the error by shutting down the tomcat9 
> server that this httpclient is connecting to. After starting the
> server 
> up again, things work normal for a couple of minutes. Then I get
> this 
> exception (the cause is the strange part, )
> 
> ...: Unable to connect to API Gateway
>      at com.rst.ResponseHolder.onCompleted(ResponseHolder.java:15)
>      at 
> org.asynchttpclient.AsyncCompletionHandler.onCompleted(AsyncCompletio
> nHandler.java:66)
>      at 
> com.gold.ThrottleRequestFilter$AsyncHandlerWrapper.onCompleted(Thrott
> leRequestFilter.java:75)
>      at 
> org.asynchttpclient.netty.NettyResponseFuture.loadContent(NettyRespon
> seFuture.java:222)
>      at 
> org.asynchttpclient.netty.NettyResponseFuture.done(NettyResponseFutur
> e.java:257)
>      at 
> org.asynchttpclient.netty.handler.AsyncHttpClientHandler.finishUpdate
> (AsyncHttpClientHandler.java:241)
>      at 
> org.asynchttpclient.netty.handler.HttpHandler.handleChunk(HttpHandler
> .java:114)
>      at 
> org.asynchttpclient.netty.handler.HttpHandler.handleRead(HttpHandler.
> java:143)
>      at 
> org.asynchttpclient.netty.handler.AsyncHttpClientHandler.channelRead(
> AsyncHttpClientHandler.java:78)
>      at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(Abst
> ractChannelHandlerContext.java:379)
>      at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(Abst
> ractChannelHandlerContext.java:365)
>      at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(Abstra
> ctChannelHandlerContext.java:357)
>      at 
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToM
> essageDecoder.java:102)
>      at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(Abst
> ractChannelHandlerContext.java:379)
>      at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(Abst
> ractChannelHandlerContext.java:365)
>      at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(Abstra
> ctChannelHandlerContext.java:357)
>      at 
> io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandle
> rContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
>      at 
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMes
> sageDecoder.java:321)
>      at 
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessage
> Decoder.java:295)
>      at 
> io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedCha
> nnelDuplexHandler.java:251)
>      at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(Abst
> ractChannelHandlerContext.java:379)
>      at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(Abst
> ractChannelHandlerContext.java:365)
>      at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(Abstra
> ctChannelHandlerContext.java:357)
>      at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1486)
>      at 
> io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1
> 235)
>      at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1282)
>      at 
> io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProte
> ction(ByteToMessageDecoder.java:498)
>      at 
> io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageD
> ecoder.java:437)
>      at 
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessage
> Decoder.java:276)
>      at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(Abst
> ractChannelHandlerContext.java:379)
>      at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(Abst
> ractChannelHandlerContext.java:365)
>      at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(Abstra
> ctChannelHandlerContext.java:357)
>      at 
> io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(Defau
> ltChannelPipeline.java:1410)
>      at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(Abst
> ractChannelHandlerContext.java:379)
>      at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(Abst
> ractChannelHandlerContext.java:365)
>      at 
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChanne
> lPipeline.java:919)
>      at 
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(Abstra
> ctNioByteChannel.java:163)
>      at 
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.jav
> a:714)
>      at 
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEve
> ntLoop.java:650)
>      at 
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.ja
> va:576)
>      at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
>      at 
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThread
> EventExecutor.java:989)
>      at 
> io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java
> :74)
>      at 
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalR
> unnable.java:30)
>      at java.base/java.lang.Thread.run(Thread.java:834)
> 
> Caused by: org.apache.hc.core5.reactor.IOReactorShutdownException:
> I/O 
> reactor has been shut down
>      at
> org.apache.hc.core5.reactor.IOWorkers.validate(IOWorkers.java:51)
>      at
> org.apache.hc.core5.reactor.IOWorkers.access$000(IOWorkers.java:31)
>      at 
> org.apache.hc.core5.reactor.IOWorkers$PowerOfTwoSelector.next(IOWorke
> rs.java:67)
>      at 
> org.apache.hc.core5.reactor.AbstractIOReactorBase.connect(AbstractIOR
> eactorBase.java:53)
>      at 
> org.apache.hc.client5.http.impl.nio.MultihomeIOSessionRequester$1.exe
> cuteNext(MultihomeIOSessionRequester.java:105)
>      at 
> org.apache.hc.client5.http.impl.nio.MultihomeIOSessionRequester$1.run
> (MultihomeIOSessionRequester.java:156)
>      at 
> org.apache.hc.client5.http.impl.nio.MultihomeIOSessionRequester.conne
> ct(MultihomeIOSessionRequester.java:160)
>      at 
> org.apache.hc.client5.http.impl.nio.MultihomeConnectionInitiator.conn
> ect(MultihomeConnectionInitiator.java:70)
>      at 
> org.apache.hc.core5.http2.nio.pool.H2ConnPool.connectSession(H2ConnPo
> ol.java:103)
>      at 
> org.apache.hc.core5.http2.nio.pool.H2ConnPool.connectSession(H2ConnPo
> ol.java:59)
>      at 
> org.apache.hc.core5.reactor.AbstractIOSessionPool.getSessionInternal(
> AbstractIOSessionPool.java:200)
>      at 
> org.apache.hc.core5.reactor.AbstractIOSessionPool.getSession(Abstract
> IOSessionPool.java:131)
>      at 
> org.apache.hc.client5.http.impl.async.InternalH2AsyncExecRuntime.acqu
> ireEndpoint(InternalH2AsyncExecRuntime.java:94)
>      at 
> org.apache.hc.client5.http.impl.async.AsyncConnectExec.execute(AsyncC
> onnectExec.java:134)
>      at 
> org.apache.hc.client5.http.impl.async.AsyncExecChainElement.execute(A
> syncExecChainElement.java:54)
>      at 
> org.apache.hc.client5.http.impl.async.AsyncExecChainElement$1.proceed
> (AsyncExecChainElement.java:62)
>      at 
> org.apache.hc.client5.http.impl.async.AsyncProtocolExec.internalExecu
> te(AsyncProtocolExec.java:174)
>      at 
> org.apache.hc.client5.http.impl.async.AsyncProtocolExec.execute(Async
> ProtocolExec.java:136)
>      at 
> org.apache.hc.client5.http.impl.async.AsyncExecChainElement.execute(A
> syncExecChainElement.java:54)
>      at 
> org.apache.hc.client5.http.impl.async.AsyncExecChainElement$1.proceed
> (AsyncExecChainElement.java:62)
>      at 
> org.apache.hc.client5.http.impl.async.AsyncHttpRequestRetryExec.inter
> nalExecute(AsyncHttpRequestRetryExec.java:96)
>      at 
> org.apache.hc.client5.http.impl.async.AsyncHttpRequestRetryExec.execu
> te(AsyncHttpRequestRetryExec.java:184)
>      at 
> org.apache.hc.client5.http.impl.async.AsyncExecChainElement.execute(A
> syncExecChainElement.java:54)
>      at 
> org.apache.hc.client5.http.impl.async.AsyncExecChainElement$1.proceed
> (AsyncExecChainElement.java:62)
>      at 
> org.apache.hc.client5.http.impl.async.AsyncRedirectExec.internalExecu
> te(AsyncRedirectExec.java:112)
>      at 
> org.apache.hc.client5.http.impl.async.AsyncRedirectExec.execute(Async
> RedirectExec.java:259)
>      at 
> org.apache.hc.client5.http.impl.async.AsyncExecChainElement.execute(A
> syncExecChainElement.java:54)
>      at 
> org.apache.hc.client5.http.impl.async.InternalAbstractHttpAsyncClient
> $1.sendRequest(InternalAbstractHttpAsyncClient.java:186)
>      at 
> org.apache.hc.core5.http.nio.support.BasicRequestProducer.sendRequest
> (BasicRequestProducer.java:93)
>      at 
> org.apache.hc.client5.http.impl.async.InternalAbstractHttpAsyncClient
> .doExecute(InternalAbstractHttpAsyncClient.java:157)
>      at 
> org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient.execut
> e(CloseableHttpAsyncClient.java:98)
>      at 
> org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient.execut
> e(CloseableHttpAsyncClient.java:108)
>      at 
> org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient.execut
> e(CloseableHttpAsyncClient.java:117)
>      at 
> com.rst.consumer.JsonTransmitter.sendRequest(JsonTransmitter.java:79)
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
> For additional commands, e-mail: httpclient-users-h...@hc.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
For additional commands, e-mail: httpclient-users-h...@hc.apache.org

Reply via email to