Hi,

I have noticed that. But:

processPendingRequests is called only by enumAvailable or enumLeased, which are 
called by closeExpired and closeIdle, these are called explicitly right?

processNextPendingRequest is called release(explicitly called), 
requestCancelled, requestFailed, requestTimeout and these are called in 
InternalSessionRequestCallback. By corresponding methods. But as I understand 
the problem to get to this some request has to be able to do:

final SessionRequest sessionRequest = this.ioreactor.connect(
        remoteAddress, localAddress, route, this.sessionRequestCallback);

Which doesnt have to happen. And in that case the requests are there forever. 
There is no automatic remove of requests from leasingRequests

Tom

> On 29. 4. 2015, at 11:36, Oleg Kalnichevski <[email protected]> wrote:
> 
> 
> 
> On Tue, Apr 28, 2015 at 9:14 AM, Tomas Tunkl <[email protected]> wrote:
>> Hi,
>> I have some problems with ApacheAsyncHttpClient. I have tracked the problems 
>> to one specific place I am interested in.
>> In AbstractNIOConnPool I can see that I have in leasingRequests 112 entries. 
>> I have searched the code and couldnt find how the entries are processed. I 
>> believe that request gets to leasingRequests when it cannot get connection, 
>> because all are used. But when the requests gets another chance? It seems to 
>> me, that it is stuck there forever.
> 
> Leasing requests are processed by #processNextPendingRequest and 
> #processPendingRequests methods.
> 
> Oleg
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to