hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jon Moore (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (HTTPCLIENT-1108) different connection reuse strategy would reduce number of open connections
Date Wed, 27 Jul 2011 16:37:11 GMT

     [ https://issues.apache.org/jira/browse/HTTPCLIENT-1108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jon Moore resolved HTTPCLIENT-1108.
-----------------------------------

       Resolution: Invalid
    Fix Version/s:     (was: 4.2 Alpha1)

Upon further review, the implementation already does the right thing; I was confused by the
free connection management between ConnPoolPerRoute and RouteSpecificPool. The RouteSpecificPool
*does* manage the free connections in LIFO order already (and there's even a comment that
this is to promote unneeded connections becoming idle); on the other hand, the ConnPoolPerRoute
uses FIFO when it "steals" a connection from one route-specific pool to give to another, as
that's the connection that is least likely to be missed/needed for that route.


> different connection reuse strategy would reduce number of open connections
> ---------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1108
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1108
>             Project: HttpComponents HttpClient
>          Issue Type: Improvement
>          Components: HttpClient
>    Affects Versions: 4.1.1
>            Reporter: Jon Moore
>            Assignee: Jon Moore
>            Priority: Minor
>
> Currently, the ThreadSafeClientConnManager reuses persistent connections in a round-robin
fashion: when the connection is checked back into the pool, it is added to a queue of available
connections for later use. This has the perhaps unintended effect that the client may keep
open more connections than needed, because the "last used" time keeps getting updated and
none of the connections can get reclaimed via closeIdleConnections().
> Exchanging the queue (FIFO) for a stack (LIFO) would result in extra connections actually
becoming idle for long enough to be reclaimed.
> I have a working patch for this; just need to get my act together to get it in.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


Mime
View raw message