This is an automated email from the ASF dual-hosted git repository.

garydgregory 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 d5f9860f Bump github/codeql-action/init from 4.37.7 to 4.37.8
d5f9860f is described below

commit d5f9860f0514017cc957d22c53be568f6d14bf40
Author: Gary Gregory <[email protected]>
AuthorDate: Tue Aug 25 14:14:42 2026 -0400

    Bump github/codeql-action/init from 4.37.7 to 4.37.8
---
 .github/workflows/codeql-analysis.yml                             | 6 +++---
 pom.xml                                                           | 2 +-
 src/changes/changes.xml                                           | 2 +-
 src/main/java/org/apache/commons/pool2/PoolUtils.java             | 5 ++++-
 .../java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java | 8 ++------
 .../org/apache/commons/pool2/impl/GenericKeyedObjectPool.java     | 4 ++--
 .../java/org/apache/commons/pool2/impl/GenericObjectPool.java     | 4 ++--
 7 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/.github/workflows/codeql-analysis.yml 
b/.github/workflows/codeql-analysis.yml
index d9543893..88b28c5c 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -58,7 +58,7 @@ jobs:
 
     # Initializes the CodeQL tools for scanning.
     - name: Initialize CodeQL
-      uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd 
# 4.37.7
+      uses: github/codeql-action/init@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 
# 4.37.8
       with:
         languages: ${{ matrix.language }}
         # If you wish to specify custom queries, you can do so here or in a 
config file.
@@ -69,7 +69,7 @@ jobs:
     # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
     # If this step fails, then you should remove it and run the build manually 
(see below)
     - name: Autobuild
-      uses: 
github/codeql-action/autobuild@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # 4.37.7
+      uses: 
github/codeql-action/autobuild@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # 4.37.8
 
     # â„šī¸ Command-line programs to run using the OS shell.
     # 📚 https://git.io/JvXDl
@@ -83,4 +83,4 @@ jobs:
     #   make release
 
     - name: Perform CodeQL Analysis
-      uses: 
github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # 4.37.7
+      uses: 
github/codeql-action/analyze@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # 4.37.8
diff --git a/pom.xml b/pom.xml
index 91bc67fb..4f3f8a55 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-parent</artifactId>
-    <version>103</version>
+    <version>104</version>
   </parent>
   <artifactId>commons-pool2</artifactId>
   <version>2.14.0-SNAPSHOT</version>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 28b92f20..70b23181 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -54,7 +54,7 @@ The <action> type attribute can be add,update,fix,remove.
       <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
EvictionConfig.isEvictionThread().</action>
       <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
DefaultPooledObjectInfo.pooledObject().</action>
       <!-- UPDATE -->
-      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
org.apache.commons:commons-parent from 93 to 103.</action>
+      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump 
org.apache.commons:commons-parent from 93 to 104.</action>
     </release>
     <release version="2.13.1" date="2025-12-30" description="This is a 
maintenance release. Java 8 or later is required.">
       <!-- FIX -->
diff --git a/src/main/java/org/apache/commons/pool2/PoolUtils.java 
b/src/main/java/org/apache/commons/pool2/PoolUtils.java
index d86a2e72..7c1592f3 100644
--- a/src/main/java/org/apache/commons/pool2/PoolUtils.java
+++ b/src/main/java/org/apache/commons/pool2/PoolUtils.java
@@ -127,6 +127,9 @@ public final class PoolUtils {
         /** Erosion factor */
         private final ErodingFactor erodingFactor;
 
+        /** Lock for synchronizing. */
+        private final Object lock = new Object();
+
         /**
          * Creates an ErodingObjectPool wrapping the given pool using the
          * specified erosion factor.
@@ -298,7 +301,7 @@ public final class PoolUtils {
             boolean discard = false;
             final long nowMillis = System.currentTimeMillis();
             final ErodingFactor factor = getErodingFactor(key);
-            synchronized (keyedPool) {
+            synchronized (lock) {
                 if (factor.getNextShrink() < nowMillis) {
                     final int numIdle = getNumIdle(key);
                     if (numIdle > 0) {
diff --git 
a/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java 
b/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java
index 4c90d91f..b19342bd 100644
--- a/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java
+++ b/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java
@@ -376,10 +376,10 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
     private volatile EvictionPolicy<T> evictionPolicy;
     private volatile Duration evictorShutdownTimeoutDuration = 
BaseObjectPoolConfig.DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT;
     // Internal (primarily state) attributes
-    final Object closeLock = new Object();
+    private final Object closeLock = new Object();
     volatile boolean closed;
 
-    final Object evictionLock = new Object();
+    private final Object evictionLock = new Object();
     private Evictor evictor; // @GuardedBy("evictionLock")
     EvictionIterator evictionIterator; // @GuardedBy("evictionLock")
 
@@ -2068,12 +2068,8 @@ public abstract class BaseGenericObjectPool<T> extends 
BaseObject implements Aut
         builder.append(softMinEvictableIdleDuration);
         builder.append(", evictionPolicy=");
         builder.append(evictionPolicy);
-        builder.append(", closeLock=");
-        builder.append(closeLock);
         builder.append(", closed=");
         builder.append(closed);
-        builder.append(", evictionLock=");
-        builder.append(evictionLock);
         builder.append(", evictor=");
         builder.append(evictor);
         builder.append(", evictionIterator=");
diff --git 
a/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java 
b/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java
index f7c23c42..c9f4a177 100644
--- a/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java
+++ b/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java
@@ -775,7 +775,7 @@ public class GenericKeyedObjectPool<K, T> extends 
BaseGenericObjectPool<T>
             return;
         }
 
-        synchronized (closeLock) {
+        synchronized (this) {
             if (isClosed()) {
                 return;
             }
@@ -1068,7 +1068,7 @@ public class GenericKeyedObjectPool<K, T> extends 
BaseGenericObjectPool<T>
             PooledObject<T> underTest = null;
             final EvictionPolicy<T> evictionPolicy = getEvictionPolicy();
 
-            synchronized (evictionLock) {
+            synchronized (this) {
                 final EvictionConfig evictionConfig = new EvictionConfig(
                         getMinEvictableIdleDuration(),
                         getSoftMinEvictableIdleDuration(),
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 e54aae09..35c69f19 100644
--- a/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java
+++ b/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java
@@ -463,7 +463,7 @@ public class GenericObjectPool<T> extends 
BaseGenericObjectPool<T>
             return;
         }
 
-        synchronized (closeLock) {
+        synchronized (this) {
             if (isClosed()) {
                 return;
             }
@@ -667,7 +667,7 @@ public class GenericObjectPool<T> extends 
BaseGenericObjectPool<T>
             PooledObject<T> underTest = null;
             final EvictionPolicy<T> evictionPolicy = getEvictionPolicy();
 
-            synchronized (evictionLock) {
+            synchronized (this) {
                 final EvictionConfig evictionConfig = new EvictionConfig(
                         getMinEvictableIdleDuration(),
                         getSoftMinEvictableIdleDuration(),

Reply via email to