hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kirill Barkunov (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HTTPASYNC-109) Requests in AbstractNIOConnPool.pending stays forever.
Date Mon, 01 Aug 2016 19:08:20 GMT

    [ https://issues.apache.org/jira/browse/HTTPASYNC-109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15402632#comment-15402632
] 

Kirill Barkunov edited comment on HTTPASYNC-109 at 8/1/16 7:08 PM:
-------------------------------------------------------------------

Hi Bindul! Thanks for answer.
1. You mean setting it to 'true'? How can it affect such behaviour?
2. What do you mean by consuming error responses? I manage responses via FutureCallback like
this:
{code}
httpAsyncClient.execute(get, new FutureCallback<HttpResponse>() {

            public void completed(final HttpResponse httpsResponse) {
                logger.debug(“Completed");
            }

	public void failed(final Exception ex) {
                logger.error("Failed", ex);
            }

            public void cancelled() {
                logger.error("Canceled");
            }
});
{code}

PS. Regarding user mailing list - I'm sorry, but I'm not sure that I understand exactly what
are you talking about. Should I move my question somewhere else?


was (Author: kbarkunov):
Hi Bindul! Thanks for answer.
1. You mean setting it to 'true'? How can it affect such behaviour?
2. What do you mean by consuming error responses? I manage responses via FutureCallback like
this:
{code}
httpAsyncClient.execute(get, new FutureCallback<HttpResponse>() {

            public void completed(final HttpResponse httpsResponse) {
                logger.debug(“Completed");
            }

	public void failed(final Exception ex) {
                logger.error("Failed", ex);
            }

            public void cancelled() {
                logger.error("Canceled");
            }
});
{code}

> Requests in AbstractNIOConnPool.pending stays forever.
> ------------------------------------------------------
>
>                 Key: HTTPASYNC-109
>                 URL: https://issues.apache.org/jira/browse/HTTPASYNC-109
>             Project: HttpComponents HttpAsyncClient
>          Issue Type: Bug
>    Affects Versions: 4.1.2
>            Reporter: Kirill Barkunov
>
> Hi!
> I have a client built this way:
> {code}
> IOReactorConfig ioReactorConfig = IOReactorConfig.custom()
>             .setIoThreadCount(Runtime.getRuntime().availableProcessors())
>             .setConnectTimeout(30000)
>             .setSoTimeout(30000)
>             .build();
>     private CloseableHttpAsyncClient httpAsyncClient = HttpAsyncClients.custom().setMaxConnTotal(150).setMaxConnPerRoute(130).setDefaultIOReactorConfig(ioReactorConfig).build();
> {code}
> I've noticied that on environment with a firewall enabled (I think it cuts all the socket
connection 5 minutes after their establishing) after some time client stops sending https
request. After a small investigation I've started to monitor insides of the client and noticied
that a few minutes after the client start - AbstractNIOConnPool.pending collection starts
to grow. At start it's 0. After few minutes it's 1-2. Then it starts to grow faster and few
minutes later it reaches maximum number of connections per route. And it stops work forever.
Only AbstractNIOConnPool.leasingRequests grows and no one of the new requests are processed.
> Target for all the requests is www.googleapis.com
> As I can understand from client insides load is like 1-5 request at a time.
> I mean before first "dead" request in AbstractNIOConnPool.pending the number of "leased"
and "available" is not more than 5.
> Best regards, Kirill.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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


Mime
View raw message