You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by Gary Gregory <ga...@gmail.com> on 2018/11/04 22:16:18 UTC

Meaning of time out in SingleCoreIOReactor.validateActiveChannels?

Rather often, my reverse proxy implemented with
httpcore5-5.0-beta5.jar:5.0-beta5 gets the following?

java.net.SocketTimeoutException: 30 SECONDS
at
org.apache.hc.core5.io.SocketTimeoutExceptionFactory.create(SocketTimeoutExceptionFactory.java:50)
~[httpcore5-5.0-beta5.jar:5.0-beta5]
at
org.apache.hc.core5.http.impl.nio.AbstractHttp1StreamDuplexer.onTimeout(AbstractHttp1StreamDuplexer.java:393)
[httpcore5-5.0-beta5.jar:5.0-beta5]
at
org.apache.hc.core5.http.impl.nio.AbstractHttp1IOEventHandler.timeout(AbstractHttp1IOEventHandler.java:81)
[httpcore5-5.0-beta5.jar:5.0-beta5]
at
org.apache.hc.core5.http.impl.nio.ServerHttp1IOEventHandler.timeout(ServerHttp1IOEventHandler.java:40)
[httpcore5-5.0-beta5.jar:5.0-beta5]
at
org.apache.hc.core5.reactor.InternalDataChannel.onTimeout(InternalDataChannel.java:184)
[httpcore5-5.0-beta5.jar:5.0-beta5]
at
org.apache.hc.core5.reactor.InternalChannel.checkTimeout(InternalChannel.java:67)
[httpcore5-5.0-beta5.jar:5.0-beta5]
at
org.apache.hc.core5.reactor.SingleCoreIOReactor.checkTimeout(SingleCoreIOReactor.java:232)
[httpcore5-5.0-beta5.jar:5.0-beta5]
at
org.apache.hc.core5.reactor.SingleCoreIOReactor.validateActiveChannels(SingleCoreIOReactor.java:165)
[httpcore5-5.0-beta5.jar:5.0-beta5]
at
org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:127)
[httpcore5-5.0-beta5.jar:5.0-beta5]
at
org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:80)
[httpcore5-5.0-beta5.jar:5.0-beta5]
at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
[httpcore5-5.0-beta5.jar:5.0-beta5]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_191]

The client ends up with the right answer so I am left to wonder what this
REALLY means.

Thank you,
Gary

Re: Meaning of time out in SingleCoreIOReactor.validateActiveChannels?

Posted by Gary Gregory <ga...@gmail.com>.
On Mon, Nov 5, 2018 at 7:14 AM Oleg Kalnichevski <ol...@apache.org> wrote:

> On Sun, 2018-11-04 at 15:16 -0700, Gary Gregory wrote:
> > Rather often, my reverse proxy implemented with
> > httpcore5-5.0-beta5.jar:5.0-beta5 gets the following?
> >
>
> Persistent connections kept alive by the client can naturally time out
> on both ends. This is perfectly normal. It looks like after 30 seconds
> of inactivity the server side connection timed out and got closed.
>
> What is strange is that the protocol handler was supposed to suppress
> this exception.
>

I'm printing out the exception in my own code so I can see where it was
thrown.

Gary


> Oleg
>
>
> > java.net.SocketTimeoutException: 30 SECONDS
> > at
> > org.apache.hc.core5.io.SocketTimeoutExceptionFactory.create(SocketTim
> > eoutExceptionFactory.java:50)
> > ~[httpcore5-5.0-beta5.jar:5.0-beta5]
> > at
> > org.apache.hc.core5.http.impl.nio.AbstractHttp1StreamDuplexer.onTimeo
> > ut(AbstractHttp1StreamDuplexer.java:393)
> > [httpcore5-5.0-beta5.jar:5.0-beta5]
> > at
> > org.apache.hc.core5.http.impl.nio.AbstractHttp1IOEventHandler.timeout
> > (AbstractHttp1IOEventHandler.java:81)
> > [httpcore5-5.0-beta5.jar:5.0-beta5]
> > at
> > org.apache.hc.core5.http.impl.nio.ServerHttp1IOEventHandler.timeout(S
> > erverHttp1IOEventHandler.java:40)
> > [httpcore5-5.0-beta5.jar:5.0-beta5]
> > at
> > org.apache.hc.core5.reactor.InternalDataChannel.onTimeout(InternalDat
> > aChannel.java:184)
> > [httpcore5-5.0-beta5.jar:5.0-beta5]
> > at
> > org.apache.hc.core5.reactor.InternalChannel.checkTimeout(InternalChan
> > nel.java:67)
> > [httpcore5-5.0-beta5.jar:5.0-beta5]
> > at
> > org.apache.hc.core5.reactor.SingleCoreIOReactor.checkTimeout(SingleCo
> > reIOReactor.java:232)
> > [httpcore5-5.0-beta5.jar:5.0-beta5]
> > at
> > org.apache.hc.core5.reactor.SingleCoreIOReactor.validateActiveChannel
> > s(SingleCoreIOReactor.java:165)
> > [httpcore5-5.0-beta5.jar:5.0-beta5]
> > at
> > org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreI
> > OReactor.java:127)
> > [httpcore5-5.0-beta5.jar:5.0-beta5]
> > at
> > org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(Abstr
> > actSingleCoreIOReactor.java:80)
> > [httpcore5-5.0-beta5.jar:5.0-beta5]
> > at
> > org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:
> > 44)
> > [httpcore5-5.0-beta5.jar:5.0-beta5]
> > at java.lang.Thread.run(Unknown Source) [?:1.8.0_191]
> >
> > The client ends up with the right answer so I am left to wonder what
> > this
> > REALLY means.
> >
> > Thank you,
> > Gary
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> For additional commands, e-mail: dev-help@hc.apache.org
>
>

Re: Meaning of time out in SingleCoreIOReactor.validateActiveChannels?

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Sun, 2018-11-04 at 15:16 -0700, Gary Gregory wrote:
> Rather often, my reverse proxy implemented with
> httpcore5-5.0-beta5.jar:5.0-beta5 gets the following?
> 

Persistent connections kept alive by the client can naturally time out
on both ends. This is perfectly normal. It looks like after 30 seconds
of inactivity the server side connection timed out and got closed.

What is strange is that the protocol handler was supposed to suppress
this exception.

Oleg 


> java.net.SocketTimeoutException: 30 SECONDS
> at
> org.apache.hc.core5.io.SocketTimeoutExceptionFactory.create(SocketTim
> eoutExceptionFactory.java:50)
> ~[httpcore5-5.0-beta5.jar:5.0-beta5]
> at
> org.apache.hc.core5.http.impl.nio.AbstractHttp1StreamDuplexer.onTimeo
> ut(AbstractHttp1StreamDuplexer.java:393)
> [httpcore5-5.0-beta5.jar:5.0-beta5]
> at
> org.apache.hc.core5.http.impl.nio.AbstractHttp1IOEventHandler.timeout
> (AbstractHttp1IOEventHandler.java:81)
> [httpcore5-5.0-beta5.jar:5.0-beta5]
> at
> org.apache.hc.core5.http.impl.nio.ServerHttp1IOEventHandler.timeout(S
> erverHttp1IOEventHandler.java:40)
> [httpcore5-5.0-beta5.jar:5.0-beta5]
> at
> org.apache.hc.core5.reactor.InternalDataChannel.onTimeout(InternalDat
> aChannel.java:184)
> [httpcore5-5.0-beta5.jar:5.0-beta5]
> at
> org.apache.hc.core5.reactor.InternalChannel.checkTimeout(InternalChan
> nel.java:67)
> [httpcore5-5.0-beta5.jar:5.0-beta5]
> at
> org.apache.hc.core5.reactor.SingleCoreIOReactor.checkTimeout(SingleCo
> reIOReactor.java:232)
> [httpcore5-5.0-beta5.jar:5.0-beta5]
> at
> org.apache.hc.core5.reactor.SingleCoreIOReactor.validateActiveChannel
> s(SingleCoreIOReactor.java:165)
> [httpcore5-5.0-beta5.jar:5.0-beta5]
> at
> org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreI
> OReactor.java:127)
> [httpcore5-5.0-beta5.jar:5.0-beta5]
> at
> org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(Abstr
> actSingleCoreIOReactor.java:80)
> [httpcore5-5.0-beta5.jar:5.0-beta5]
> at
> org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:
> 44)
> [httpcore5-5.0-beta5.jar:5.0-beta5]
> at java.lang.Thread.run(Unknown Source) [?:1.8.0_191]
> 
> The client ends up with the right answer so I am left to wonder what
> this
> REALLY means.
> 
> Thank you,
> Gary


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org