Not sure which timeout you are asking for, I think you might be asking for
Connection Request Timeout. We set a timeout of 0 MilliSeconds to the
setConnectionRequestTimeout API of the RequestConfig class. Below are some
other timeouts we set as conveyed earlier
*Note*: Within minute of our tests starts we are seeing these errors

*Socket Timeout                  : 180000 ms*

*Connect Timeout                : 180000 ms*
*evictIdleConnections Time: 60000   ms*
*Max per Route                     : 20*
*Pool Size                              : 420*

Below is the code we use to initialize HTTPClient and Pooling Connection
Manager

        PoolingAsyncClientConnectionManager connectionManager =
PoolingAsyncClientConnectionManagerBuilder.create()
                .setMaxConnTotal(420)
                .setMaxConnPerRoute(20)
                .setDefaultConnectionConfig(ConnectionConfig.custom()
                        .setValidateAfterInactivity(TimeValue.ofSeconds(-1))
                        .setSocketTimeout(180000, TimeUnit.MILLISECONDS)
                        .setConnectTimeout(180000, TimeUnit.MILLISECONDS)
                        .setTimeToLive(TimeValue.ofMinutes(3))
                        .build())
                .build();

        connectionManager.setDefaultMaxPerRoute(20);

        H2Config h2 = H2Config.custom().setPushEnabled(false).build();
        final IOReactorConfig ioReactorConfig = IOReactorConfig.custom()
                .setSoTimeout(18000, TimeUnit.MILLISECONDS)
                .setSoLinger(TimeValue.ofMilliseconds(-1))
                .setSoReuseAddress(false)
                .setTcpNoDelay(true)
                .setRcvBufSize(8192)
                .setSndBufSize(8192)
                .setSoKeepAlive(true)
                .build();

        final HttpAsyncClientBuilder hacBuilder =
HttpAsyncClientBuilder.create()
                .setConnectionManager(connectionManager)
                .setIOReactorConfig(ioReactorConfig)
                .setH2Config(h2)
                .setDefaultRequestConfig(RequestConfig.custom()
                        .setConnectionRequestTimeout(0,
TimeUnit.MILLISECONDS)
                        .setExpectContinueEnabled(false)
                        .setResponseTimeout(Timeout.ofMilliseconds(5000))
                        .setCookieSpec(StandardCookieSpec.RELAXED)
                        .setDefaultKeepAlive(3, TimeUnit.MINUTES)
                        .setConnectionKeepAlive(TimeValue.ofMinutes(3))
                        .setAuthenticationEnabled(false)
                        .build())
                .setUserAgent("HTTPTest/1.0")

.setConnectionReuseStrategy(DefaultConnectionReuseStrategy.INSTANCE)

.setKeepAliveStrategy(DefaultConnectionKeepAliveStrategy.INSTANCE)
                .setRetryStrategy(new DefaultHttpRequestRetryStrategy(3,
TimeValue.ofMilliseconds(100)))
                .disableRedirectHandling()
                .disableAuthCaching()
                .evictExpiredConnections()
                .evictIdleConnections(TimeValue.ofMilliseconds(60000));

        httpClient = hacBuilder.build();
        httpClient.start();


On Tue, Jun 27, 2023 at 11:21 PM Oleg Kalnichevski <ol...@apache.org> wrote:

> On Tue, 2023-06-27 at 21:12 +0530, sreenivas somavarapu wrote:
> > Hi Oleg,
> >
> > Below is trace line from httpclient logs which is logged at DEBUG.
> >
> > 2023-06-27 14:38:04,091 DEBUG
> > [org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionMana
> > ger]
> > ex-0000000002 endpoint lease failed
> > 2023-06-27 14:38:04,091 DEBUG
> > [org.apache.hc.client5.http.impl.async.InternalAbstractHttpAsyncClien
> > t]
> > ex-0000000002 request failed: Deadline: +292278994-08-
> > 17T07:12:55.807+0000,
> > 9223370348978091716 MILLISECONDS overdue
> >
> > Regards,
> > Sreenivas
> >
>
> Look at the deadline. This makes no sense:
>
> Deadline: +292278994-08-17T07:12:55.807+0000, 9223370348978091716
> MILLISECONDS overdue
>
> What? Year 292278994? What is the timeout value you are using?
>
>
> httpclient.log.06-27-23.1:2023-06-27 14:38:04,060 DEBUG
> [org.apache.hc.client5.http.impl.async.InternalAbstractHttpAsyncClient]
> ex-0000000002 preparing request execution
> httpclient.log.06-27-23.1:2023-06-27 14:38:04,076 DEBUG
> [org.apache.hc.client5.http.impl.async.AsyncProtocolExec] ex-0000000002
> target auth state: UNCHALLENGED
> httpclient.log.06-27-23.1:2023-06-27 14:38:04,076 DEBUG
> [org.apache.hc.client5.http.impl.async.AsyncProtocolExec] ex-0000000002
> proxy auth state: UNCHALLENGED
> httpclient.log.06-27-23.1:2023-06-27 14:38:04,076 DEBUG
> [org.apache.hc.client5.http.impl.async.AsyncConnectExec] ex-0000000002
> acquiring connection with route {}->http://aghwmw8be2ad6:80
> httpclient.log.06-27-23.1:2023-06-27 14:38:04,076 DEBUG
> [org.apache.hc.client5.http.impl.async.InternalHttpAsyncClient]
> ex-0000000002 acquiring endpoint (0 MILLISECONDS)
> httpclient.log.06-27-23.1:2023-06-27 14:38:04,076 DEBUG
> [org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManager]
> ex-0000000002 endpoint lease request (0 MILLISECONDS) [route:
> {}->http://aghwmw8be2ad6:80][total available: 0; route allocated: 0 of
> 20; total allocated: 0 of 420]
> httpclient.log.06-27-23.1:2023-06-27 14:38:04,091 DEBUG
> [org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManager]
> ex-0000000002 endpoint lease failed
> httpclient.log.06-27-23.1:2023-06-27 14:38:04,091 DEBUG
> [org.apache.hc.client5.http.impl.async.InternalAbstractHttpAsyncClient]
> ex-0000000002 request failed: Deadline: +292278994-08-17T07:12:55.807+0000,
> 9223370348978091716 MILLISECONDS overdue
>
>
>
>
> > On Tue, Jun 27, 2023 at 9:02 PM Oleg Kalnichevski <ol...@apache.org>
> > wrote:
> >
> > > On Tue, 2023-06-27 at 20:50 +0530, sreenivas somavarapu wrote:
> > > > Hi Oleg,
> > > >
> > > > PFA httpclient logs with suggested configuration. Attaching only
> > > > 2 of
> > > > httpclient logs which has the DeadlineTimeoutException exception
> > > > occuring 6
> > > > times out of total 25 times for a 20 minute run (And these 2
> > > > files
> > > > are
> > > > during start of the test i.e., initial 1 / 2 minutes run itself).
> > > >
> > > > Around 61 files of 10 MB each have been generated for a complete
> > > > 20
> > > > minutes
> > > > run with below logging configuration. Let me know if you want all
> > > > those 62
> > > > files.
> > > >
> > > > logger.httpClient.name = org.apache.hc.client5.http.impl
> > > > logger.httpClient.level = DEBUG
> > > > logger.httpClient.additivity = false
> > > > logger.httpClient.appenderRef.rolling.ref = httpclientRolling
> > > >
> > > > logger.httpCore.name = org.apache.hc.core5
> > > > logger.httpCore.level = INFO
> > > > logger.httpCore.additivity = false
> > > > logger.httpCore.appenderRef.rolling.ref = httpclientRolling
> > > >
> > > >
> > > >  httpclienttracelogs.zip
> > > > <
> > > >
> https://drive.google.com/file/d/1WPNCQ0SZanAzZb-bmYf7IhDK-BQS9VNy/view
> > > > ?usp=drive_web>
> > > >
> > > >
> > >
> > > I do not see a single timeout exception or any exception of any
> > > kind in
> > > the logs. What am I supposed to do with these logs?
> > >
> > >
> > > oleg@ok2c:~/src/misc/httpclienttracelogs$ grep -i Timeout *
> > > oleg@ok2c:~/src/misc/httpclienttracelogs$ grep -i exception *
> > > oleg@ok2c:~/src/misc/httpclienttracelogs$
> > >
> > >
> > > Oleg
> > >
> > >
> > > >
> > > > On Mon, Jun 26, 2023 at 9:58 PM Oleg Kalnichevski
> > > > <ol...@apache.org>
> > > > wrote:
> > > >
> > > > > On Mon, 2023-06-26 at 18:20 +0530, sreenivas somavarapu wrote:
> > > > > > Hi Oleg,
> > > > > >
> > > > > >
> > > > > >
> > > > > > Hope you were able to access logs provided and in the process
> > > > > > of
> > > > > > analyzing
> > > > > > them.
> > > > >
> > > > > No, I was not. The URL was access protected. I requested access
> > > > > but
> > > > > no
> > > > > one reacted. Anyway, it is irrelevant now. Please re-run the
> > > > > whole
> > > > > thing with the logging settings I sent you in my previous
> > > > > message.
> > > > >
> > > > > Oleg
> > > > >
> > > > >
> > > > > ---------------------------------------------------------------
> > > > > ----
> > > > > --
> > > > > 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
> > >
> > >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
> For additional commands, e-mail: httpclient-users-h...@hc.apache.org
>
>

-- 
Cheers,
S. Sreenivas

Reply via email to