[
https://issues.apache.org/jira/browse/HTTPCLIENT-2379?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17993102#comment-17993102
]
Oleg Kalnichevski commented on HTTPCLIENT-2379:
-----------------------------------------------
[~yhzdys] Many thanks for contributing the test case. Here is the problem
though. Per design the same PoolEntry should be released exactly the same
number of times as it has been leased from `H2SharingConnPool`. There is an
atomic counter for it. Therefore it should reach count zero only once and
should be released back to the parent pool only once.
What is it exactly you are doing that causes the same PoolEntry to be released
more times than it has been leased?
Oleg
CC [~abernal]
> Multiple removal of same PoolEntry causes IllegalStateException in
> H2SharingConnPool
> ------------------------------------------------------------------------------------
>
> Key: HTTPCLIENT-2379
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2379
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: HttpClient (async)
> Affects Versions: 5.5
> Reporter: yhzdys
> Priority: Major
> Fix For: 5.5.1, 5.6-alpha1
>
> Time Spent: 2h 40m
> Remaining Estimate: 0h
>
> After enabling messageMultiplexing, the H2SharingConnPool is used to reuse
> PoolEntry.
> When making more than one request using the same connection, if the
> connection is closed,
> the pool.release(entry, reusable) method at H2SharingConnPool.java:183 will
> throw the following exception:
> ~~~java
> throw new IllegalStateException("Pool entry is not present in the set of
> leased entries");
> ~~~
> This occurs because the same connection is being removed multiple times.
> https://github.com/yhzdys/httpcomponents-client/commit/c8256b33c3adb45cfa2a49efb2dacfb611da9ac1
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]