hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Meinhold (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HTTPCLIENT-1298) Unable to shutdown executor service used by AsynchronousValidator
Date Fri, 18 Jan 2013 02:44:12 GMT

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

Martin Meinhold commented on HTTPCLIENT-1298:
---------------------------------------------

I understand that changing 4.2 is not an option, but that's ok. Getting the change into trunk
is totally acceptable. 

The CachingHttpClientBuilder looks like the right place to do it. So there the AsynchronousValidator
could be constructed and registered for later cleanup. IMHO this requires to break the constructor
dependency circle between the CachingExec and the AsynchronousValidator by removing the CachingExec
field from the validator and pass it as parameter to revalidateCacheEntry() method. If you
agree with that, I can start coding and submit you a patch.

Cheers,

Martin
                
> Unable to shutdown executor service used by AsynchronousValidator
> -----------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1298
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1298
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: Cache
>    Affects Versions: 4.2.3
>            Reporter: Martin Meinhold
>             Fix For: 4.3 Alpha2
>
>
> Currently there is no way to tell the CachingHttpClient to shutdown the executor service
used by its AsynchronousValidator. This could lead to a resource leak, but probably only in
cases when the threads weren't reclaimed by the thread pool. So only when it is actually processing
tasks. As long as the thread pool isn't used, it won't create threads.
> From an application life-cycle point of view there should be a way to explicitly tell
the HttpClient to shutdown and release all resources now regardless whether there are any
outstanding validation requests or not.
> I have a patch against version 4.2.1 which in fact adds a shutdown() method to the HttpClient
and the AsynchronousValidator. Today I saw, there is already a CloseableHttpClient. So do
you need any contribution to fix this? Looks like there is already a plan for that.
> Btw: thanks for already supporting the background validation via the stale-while-revalidate
header.

--
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message