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

markt pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/10.1.x by this push:
     new 5add5d1b52 Update Commons Pool to 2.13.1
5add5d1b52 is described below

commit 5add5d1b5291a8fd80cfeb45c0d42aac51faaac9
Author: Mark Thomas <[email protected]>
AuthorDate: Sun Jan 4 17:14:19 2026 +0000

    Update Commons Pool to 2.13.1
---
 MERGE.txt                                                         | 2 +-
 java/org/apache/tomcat/dbcp/pool2/KeyedPooledObjectFactory.java   | 2 +-
 java/org/apache/tomcat/dbcp/pool2/impl/DefaultEvictionPolicy.java | 2 +-
 java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java         | 4 ++--
 .../org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java | 2 +-
 java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java     | 8 ++++----
 java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java   | 2 +-
 webapps/docs/changelog.xml                                        | 2 +-
 8 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/MERGE.txt b/MERGE.txt
index 486bb0bc5d..c31ded665f 100644
--- a/MERGE.txt
+++ b/MERGE.txt
@@ -67,7 +67,7 @@ Unused classes removed
 Sub-tree
 src/main/java/org/apache/commons/pool2
 The SHA1 ID / tag for the most recent commit to be merged to Tomcat is:
-rel/commons-pool-2.13.0 (2025-12-09)
+rel/commons-pool-2.13.1 (2025-12-30)
 
 DBCP2
 No unused code removed
diff --git a/java/org/apache/tomcat/dbcp/pool2/KeyedPooledObjectFactory.java 
b/java/org/apache/tomcat/dbcp/pool2/KeyedPooledObjectFactory.java
index d93008dcfa..c3710977ac 100644
--- a/java/org/apache/tomcat/dbcp/pool2/KeyedPooledObjectFactory.java
+++ b/java/org/apache/tomcat/dbcp/pool2/KeyedPooledObjectFactory.java
@@ -62,7 +62,7 @@ package org.apache.tomcat.dbcp.pool2;
  * While clients of a {@link KeyedObjectPool} borrow and return instances of
  * the underlying value type V, the factory methods act on instances of
  * {@link PooledObject PooledObject&lt;V&gt;}.  These are the object wrappers 
that
- * pools use to track and maintain state informations about the objects that
+ * pools use to track and maintain state information about the objects that
  * they manage.
  * </p>
  *
diff --git a/java/org/apache/tomcat/dbcp/pool2/impl/DefaultEvictionPolicy.java 
b/java/org/apache/tomcat/dbcp/pool2/impl/DefaultEvictionPolicy.java
index e04145c90e..14aea3fa97 100644
--- a/java/org/apache/tomcat/dbcp/pool2/impl/DefaultEvictionPolicy.java
+++ b/java/org/apache/tomcat/dbcp/pool2/impl/DefaultEvictionPolicy.java
@@ -31,7 +31,7 @@ import org.apache.tomcat.dbcp.pool2.PooledObject;
  *     {@link GenericKeyedObjectPoolConfig#getMinIdlePerKey()} idle objects in
  *     the pool and the object has been idle for longer than
  *     {@link GenericObjectPool#getSoftMinEvictableIdleDuration()} /
- *     {@link GenericKeyedObjectPool#getSoftMinEvictableIdleDuration()}
+ *     {@link GenericKeyedObjectPool#getSoftMinEvictableIdleDuration()}</li>
  * </ul>
  * <p>
  * This class is immutable and thread-safe.
diff --git a/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java 
b/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java
index 8988c9fdd3..3da6272894 100644
--- a/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java
+++ b/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java
@@ -33,7 +33,7 @@ import java.util.concurrent.TimeUnit;
  * <p>
  * This class is currently implemented using {@link 
ScheduledThreadPoolExecutor}. This implementation may change in any
  * future release. This class keeps track of how many pools are using it. If 
no pools are using the timer, it is
- * cancelled. This prevents a thread being left running which, in application 
server environments, can lead to memory
+ * canceled. This prevents a thread being left running which, in application 
server environments, can lead to memory
  * leads and/or prevent applications from shutting down or reloading cleanly.
  * </p>
  * <p>
@@ -139,7 +139,7 @@ final class EvictionTimer {
     /**
      * Removes the specified eviction task from the timer.
      *
-     * @param evictor   Task to be cancelled.
+     * @param evictor   Task to be canceled.
      * @param timeout   If the associated executor is no longer required, how
      *                  long should this thread wait for the executor to
      *                  terminate?
diff --git a/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java 
b/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java
index edb6373aca..0637250d9a 100644
--- a/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java
+++ b/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java
@@ -789,7 +789,7 @@ public class GenericKeyedObjectPool<K, T> extends 
BaseGenericObjectPool<T>
             jmxUnregister();
 
             // Release any threads that were waiting for an object
-            poolMap.values().forEach(e -> 
e.getIdleObjects().interuptTakeWaiters());
+            poolMap.values().forEach(e -> 
e.getIdleObjects().interruptTakeWaiters());
             // This clear cleans up the keys now any waiting threads have been
             // interrupted
             clear();
diff --git a/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java 
b/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java
index bc275a4128..f5f54e54e1 100644
--- a/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java
+++ b/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java
@@ -212,10 +212,10 @@ public class GenericObjectPool<T> extends 
BaseGenericObjectPool<T>
         if (factory == null) {
             throw new IllegalStateException("Cannot add objects without a 
factory.");
         }
-
-        final int localMaxTotal = getMaxTotal();
         final int localMaxIdle = getMaxIdle();
-        if (getNumIdle() < localMaxIdle && (localMaxTotal < 0 || 
createCount.get() < localMaxTotal)) {
+        final int localMaxTotal = getMaxTotal();
+        if ((localMaxIdle < 0 || getNumIdle() < localMaxIdle) &&
+                (localMaxTotal < 0 || createCount.get() < localMaxTotal)) {
             addIdleObject(create(getMaxWaitDuration()));
         }
     }
@@ -479,7 +479,7 @@ public class GenericObjectPool<T> extends 
BaseGenericObjectPool<T>
             jmxUnregister();
 
             // Release any threads that were waiting for an object
-            idleObjects.interuptTakeWaiters();
+            idleObjects.interruptTakeWaiters();
         }
     }
 
diff --git a/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java 
b/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java
index f5a190b74f..a31af8bbb2 100644
--- a/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java
+++ b/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java
@@ -585,7 +585,7 @@ final class LinkedBlockingDeque<E> extends AbstractQueue<E>
      * Interrupts the threads currently waiting to take an object from the 
pool. See disclaimer on accuracy in
      * {@link 
java.util.concurrent.locks.ReentrantLock#getWaitingThreads(Condition)}.
      */
-    void interuptTakeWaiters() {
+    void interruptTakeWaiters() {
         lock.lock();
         try {
             lock.interruptWaiters(notEmpty);
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 595db34a8e..132c253172 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -119,7 +119,7 @@
   <subsection name="Other">
     <changelog>
       <update>
-        Update the internal fork of Commons Pool to 2.13.0. (markt)
+        Update the internal fork of Commons Pool to 2.13.1. (markt)
       </update>
       <update>
         Update the internal fork of Commons DBCP to 2.14.0. (markt)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to