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

Ignat Alexeyenko commented on HTTPCORE-341:
-------------------------------------------

Oleg, that all makes sense.

What do you think about adding these responsibilities to 
PoolingClientAsyncConnectionManager? Could you review this class?

I think we can change it it, to free connections before leasing new ones:
this.closeExpiredConnections()
this.pool.lease(route, state, connectTimeout, tunit, new 
InternalPoolEntryCallback(future));

Another option I see is to add these responsibilities to 
PoolingClientAsyncConnectionManager or DefaultAsyncRequestDirector.
I know that this rather HTTPASYNC

If I'm not mistaken, the this.closeExpiredConnections() seems to be never used 
in http client.
                
> As a developer I want NIO Pool to close 'slow' http requests automatically
> --------------------------------------------------------------------------
>
>                 Key: HTTPCORE-341
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-341
>             Project: HttpComponents HttpCore
>          Issue Type: New Feature
>    Affects Versions: 4.2.2, 4.3-beta3
>            Reporter: Ignat Alexeyenko
>            Priority: Critical
>              Labels: ha
>         Attachments: 
> JRADEV-21355-httpcore-nio-process-slow-requests_patch.patch
>
>
> Currently the AbstractNIOConnPool is capable to handle timeouts for en-queued 
> requests (requests added in leasingRequests connection).
> What AbstractNIOConnPool - deal with slow connections, that already are open 
> and being executed. Slow connections are connections that are not completed 
> withing some request processing timeout.
> Example. Consider a specific case, when a remote server holds a connection 
> open, but transmits information slowly (e.g. 8 bytes in each 100ms). In 
> application under the high load it means that we would stuck with no free 
> connections to process new requests for a long period of time.
> In such cases, as a developer I want to specify time in which we would close 
> current open connection, even if it is already processing the data.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

Reply via email to