This is an automated email from the ASF dual-hosted git repository.
psteitz pushed a commit to branch POOL_2_X
in repository https://gitbox.apache.org/repos/asf/commons-pool.git
The following commit(s) were added to refs/heads/POOL_2_X by this push:
new 8f46cde7 Remove sync lock in addObject.
8f46cde7 is described below
commit 8f46cde7835d29eaeae3b2c77488d9ccf5101f3c
Author: Phil Steitz <[email protected]>
AuthorDate: Sat Dec 27 10:55:24 2025 -0700
Remove sync lock in addObject.
---
.../org/apache/commons/pool2/impl/GenericObjectPool.java | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java
b/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java
index f193b0bf..c6010506 100644
--- a/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java
+++ b/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java
@@ -212,16 +212,11 @@ public class GenericObjectPool<T> extends
BaseGenericObjectPool<T>
if (factory == null) {
throw new IllegalStateException("Cannot add objects without a
factory.");
}
- synchronized (makeObjectCountLock) {
- final int localMaxTotal = getMaxTotal();
- final int localMaxIdle = getMaxIdle();
- if (localMaxIdle >= 0 && getNumIdle() >= localMaxIdle) {
- // Pool already has maxIdle idle objects or maxIdle is 0.
- return;
- }
- if (localMaxTotal < 0 || createCount.get() < localMaxTotal) {
- addIdleObject(create(getMaxWaitDuration()));
- }
+ final int localMaxIdle = getMaxIdle();
+ final int localMaxTotal = getMaxTotal();
+ if ((localMaxIdle < 0 || getNumIdle() < localMaxIdle) &&
+ (localMaxTotal < 0 || createCount.get() < localMaxTotal)) {
+ addIdleObject(create(getMaxWaitDuration()));
}
}