[ 
https://issues.apache.org/jira/browse/POOL-350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phil Steitz updated POOL-350:
-----------------------------
    Fix Version/s: 2.13

> Add option for not executing "hasBorrowWaiters()" while returning objects
> -------------------------------------------------------------------------
>
>                 Key: POOL-350
>                 URL: https://issues.apache.org/jira/browse/POOL-350
>             Project: Commons Pool
>          Issue Type: New Feature
>    Affects Versions: 2.6.0
>         Environment: h5. uname -a:
> Linux VMS26239 3.10.0-229.11.1.el7.x86_64 #1 SMP Thu Aug 6 01:06:18 UTC 2015 
> x86_64 x86_64 x86_64 GNU/Linux
>  
> *Java version:*
> java version "1.8.0_60"
> Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
> Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
>  
>  
>            Reporter: zhu chen
>            Priority: Critical
>              Labels: easyfix
>             Fix For: 2.13
>
>
> h2. Phenomena:
> I'm recently leveraging commons-pool as my Redis connection pool in my 
> project, however, the pain is that when my system is dealing with over 
> thousands of Redises,  CPU load become such high. By checking JVM through 
> JFR(FlightRecorder), it turned out the hot method was 
> "{color:#FF0000}hasBorrowWaiters(){color}", which is invoked by 
> "{color:#FF0000}returnObject(){color}" each time.
> That means the system will go through over *thousands*(the number will grow 
> as well as my system) of keys after *each* object's *return*, what's worse, 
> the program is running concurrently, which, obviously cause a huge CPU load.
>  
> h2. Expect:
> I was wondering if we could add a config for optionally run this 
> "hasBorrowWaiters()" each time when we return an object.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to