[ https://issues.apache.org/jira/browse/POOL-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16666717#comment-16666717 ]
zhu chen commented on POOL-350: ------------------------------- exactly,@ [~struberg]. I would appreciate it if you could considering about my idea. I understand the idea that 'hasBorrowWaiters()' is working for the most hot/busy keyed objects, so that the local setting (max object per key) for the hottest key runs exhausted before the global setting(max object total). But it might be a good idea to also make the operation configurable. > 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 > > 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 (v7.6.3#76005)