You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Oleg Kalnichevski (Jira)" <ji...@apache.org> on 2020/07/06 16:50:00 UTC
[jira] [Resolved] (HTTPCORE-634) IllegalStateException: Entry []
has not been leased from this pool
[ https://issues.apache.org/jira/browse/HTTPCORE-634?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Oleg Kalnichevski resolved HTTPCORE-634.
----------------------------------------
Fix Version/s: 4.4.14
Resolution: Fixed
> IllegalStateException: Entry [] has not been leased from this pool
> ------------------------------------------------------------------
>
> Key: HTTPCORE-634
> URL: https://issues.apache.org/jira/browse/HTTPCORE-634
> Project: HttpComponents HttpCore
> Issue Type: Bug
> Components: HttpCore
> Affects Versions: 4.4.11
> Reporter: Daniel Jelinski
> Priority: Major
> Fix For: 4.4.14
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> We are sporadically observing the exception mentioned in summary; while searching the Internet, I found [this SO page |https://stackoverflow.com/questions/46188047/httpclient-4-5-x-multithread-request-error-has-not-been-leased-from-this-pool] providing a semi-reliable reproducer. Minified form follows:
> {code:java}
> public static void main(String[] args) {
> final PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
> cm.setDefaultMaxPerRoute(1);
> class HttpClientThead implements Runnable {
> final String reqString;
> final CloseableHttpClient httpclient1 = HttpClients.custom()
> .setConnectionManager(cm)
> .build();
> HttpClientThead(String reqString) {
> this.reqString = reqString;
> }
> public void run() {
> for (int i = 1; i <= 10; i++) {
> HttpClientContext context = HttpClientContext.create();
> try {
> HttpGet httpget = new HttpGet(reqString);
> CloseableHttpResponse response = httpclient1.execute(httpget, context);
> response.close();
> } catch (Throwable e) {
> e.printStackTrace();
> System.exit(1);
> } finally {
> cm.closeExpiredConnections();
> }
> }
> }
> }
> HttpClientThead t1 = new HttpClientThead("https://issues.apache.org/");
> Thread thread1 = new Thread(t1);
> thread1.start();
> t1.run();
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org