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

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


The following commit(s) were added to refs/heads/8.5.x by this push:
     new 7604f87  Limited back-port changes to Commons Pool.
7604f87 is described below

commit 7604f87140be5fe7c8d8932f4d79e75f2a613615
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Sep 2 16:50:57 2021 +0100

    Limited back-port changes to Commons Pool.
    
    As of mid-Feb 2021 the Pool 2 code started to make extensive use of the
    java.time.* package which is not available in Java 7. Therefore the code
    in 8.5.x has not been updated past this point.
---
 MERGE.txt                                          |  6 +++-
 .../dbcp/pool2/impl/DefaultPooledObject.java       | 32 +++++++++++-----------
 .../dbcp/pool2/impl/GenericKeyedObjectPool.java    |  4 +--
 .../tomcat/dbcp/pool2/impl/GenericObjectPool.java  | 14 +++++-----
 .../dbcp/pool2/impl/SecurityManagerCallStack.java  |  4 +--
 .../tomcat/dbcp/pool2/impl/ThrowableCallStack.java |  4 +--
 webapps/docs/changelog.xml                         |  4 +++
 7 files changed, 38 insertions(+), 30 deletions(-)

diff --git a/MERGE.txt b/MERGE.txt
index 73ecd41..ca9839a 100644
--- a/MERGE.txt
+++ b/MERGE.txt
@@ -62,7 +62,11 @@ Pool2
 Sub-tree
 src/main/java/org/apache/commons/pool2
 The SHA1 ID / tag for the most recent commit to be merged to Tomcat is:
-a38c52529beb04bf0815b7d95fb4a393ea110dee
+0da5c540983485565f08711bf986e1ea43b162f3 (2021-02-02)
+Note: Commits after this point started to make extensive use of the java.time.*
+      package which is not available in Java 7. It is anticipated that further
+      changes to the Pool 2 fork in Tomcat 8.5.x will be limited to on-demand
+      back-port of bug fixes.
 
 DBCP2
 Sub-tree
diff --git a/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java 
b/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java
index 1883041..36cb0df 100644
--- a/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java
+++ b/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java
@@ -38,10 +38,10 @@ public class DefaultPooledObject<T> implements 
PooledObject<T> {
 
     private final T object;
     private PooledObjectState state = PooledObjectState.IDLE; // 
@GuardedBy("this") to ensure transitions are valid
-    private final long createTime = System.currentTimeMillis();
-    private volatile long lastBorrowTime = createTime;
-    private volatile long lastUseTime = createTime;
-    private volatile long lastReturnTime = createTime;
+    private final long createTimeMillis = System.currentTimeMillis();
+    private volatile long lastBorrowTimeMillis = createTimeMillis;
+    private volatile long lastUseTimeMillis = createTimeMillis;
+    private volatile long lastReturnTimeMillis = createTimeMillis;
     private volatile boolean logAbandoned = false;
     private volatile CallStack borrowedBy = NoOpCallStack.INSTANCE;
     private volatile CallStack usedBy = NoOpCallStack.INSTANCE;
@@ -64,14 +64,14 @@ public class DefaultPooledObject<T> implements 
PooledObject<T> {
 
     @Override
     public long getCreateTime() {
-        return createTime;
+        return createTimeMillis;
     }
 
     @Override
     public long getActiveTimeMillis() {
         // Take copies to avoid threading issues
-        final long rTime = lastReturnTime;
-        final long bTime = lastBorrowTime;
+        final long rTime = lastReturnTimeMillis;
+        final long bTime = lastBorrowTimeMillis;
 
         if (rTime > bTime) {
             return rTime - bTime;
@@ -81,7 +81,7 @@ public class DefaultPooledObject<T> implements 
PooledObject<T> {
 
     @Override
     public long getIdleTimeMillis() {
-        final long elapsed = System.currentTimeMillis() - lastReturnTime;
+        final long elapsed = System.currentTimeMillis() - lastReturnTimeMillis;
         // elapsed may be negative if:
         // - another thread updates lastReturnTime during the calculation 
window
         // - System.currentTimeMillis() is not monotonic (e.g. system time is 
set back)
@@ -90,12 +90,12 @@ public class DefaultPooledObject<T> implements 
PooledObject<T> {
 
     @Override
     public long getLastBorrowTime() {
-        return lastBorrowTime;
+        return lastBorrowTimeMillis;
     }
 
     @Override
     public long getLastReturnTime() {
-        return lastReturnTime;
+        return lastReturnTimeMillis;
     }
 
     /**
@@ -120,9 +120,9 @@ public class DefaultPooledObject<T> implements 
PooledObject<T> {
     @Override
     public long getLastUsedTime() {
         if (object instanceof TrackedUse) {
-            return Math.max(((TrackedUse) object).getLastUsed(), lastUseTime);
+            return Math.max(((TrackedUse) object).getLastUsed(), 
lastUseTimeMillis);
         }
-        return lastUseTime;
+        return lastUseTimeMillis;
     }
 
     @Override
@@ -187,8 +187,8 @@ public class DefaultPooledObject<T> implements 
PooledObject<T> {
     public synchronized boolean allocate() {
         if (state == PooledObjectState.IDLE) {
             state = PooledObjectState.ALLOCATED;
-            lastBorrowTime = System.currentTimeMillis();
-            lastUseTime = lastBorrowTime;
+            lastBorrowTimeMillis = System.currentTimeMillis();
+            lastUseTimeMillis = lastBorrowTimeMillis;
             borrowedCount++;
             if (logAbandoned) {
                 borrowedBy.fillInStackTrace();
@@ -217,7 +217,7 @@ public class DefaultPooledObject<T> implements 
PooledObject<T> {
         if (state == PooledObjectState.ALLOCATED ||
                 state == PooledObjectState.RETURNING) {
             state = PooledObjectState.IDLE;
-            lastReturnTime = System.currentTimeMillis();
+            lastReturnTimeMillis = System.currentTimeMillis();
             borrowedBy.clear();
             return true;
         }
@@ -235,7 +235,7 @@ public class DefaultPooledObject<T> implements 
PooledObject<T> {
 
     @Override
     public void use() {
-        lastUseTime = System.currentTimeMillis();
+        lastUseTimeMillis = System.currentTimeMillis();
         usedBy.fillInStackTrace();
     }
 
diff --git a/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java 
b/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java
index 180b129..5490901 100644
--- a/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java
+++ b/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java
@@ -337,7 +337,7 @@ public class GenericKeyedObjectPool<K, T> extends 
BaseGenericObjectPool<T>
         final boolean blockWhenExhausted = getBlockWhenExhausted();
 
         boolean create;
-        final long waitTime = System.currentTimeMillis();
+        final long waitTimeMillis = System.currentTimeMillis();
         final ObjectDeque<T> objectDeque = register(key);
 
         try {
@@ -420,7 +420,7 @@ public class GenericKeyedObjectPool<K, T> extends 
BaseGenericObjectPool<T>
             deregister(key);
         }
 
-        updateStatsBorrow(p, System.currentTimeMillis() - waitTime);
+        updateStatsBorrow(p, System.currentTimeMillis() - waitTimeMillis);
 
         return p.getObject();
     }
diff --git a/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java 
b/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java
index ca250a1..d096d1e 100644
--- a/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java
+++ b/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java
@@ -419,7 +419,7 @@ public class GenericObjectPool<T> extends 
BaseGenericObjectPool<T>
         final boolean blockWhenExhausted = getBlockWhenExhausted();
 
         boolean create;
-        final long waitTime = System.currentTimeMillis();
+        final long waitTimeMillis = System.currentTimeMillis();
 
         while (p == null) {
             create = false;
@@ -497,7 +497,7 @@ public class GenericObjectPool<T> extends 
BaseGenericObjectPool<T>
             }
         }
 
-        updateStatsBorrow(p, System.currentTimeMillis() - waitTime);
+        updateStatsBorrow(p, System.currentTimeMillis() - waitTimeMillis);
 
         return p.getObject();
     }
@@ -737,7 +737,7 @@ public class GenericObjectPool<T> extends 
BaseGenericObjectPool<T>
     public void evict() throws Exception {
         assertOpen();
 
-        if (idleObjects.size() > 0) {
+        if (!idleObjects.isEmpty()) {
 
             PooledObject<T> underTest = null;
             final EvictionPolicy<T> evictionPolicy = getEvictionPolicy();
@@ -1083,14 +1083,14 @@ public class GenericObjectPool<T> extends 
BaseGenericObjectPool<T>
      */
     private void removeAbandoned(final AbandonedConfig abandonedConfig) {
         // Generate a list of abandoned objects to remove
-        final long now = System.currentTimeMillis();
-        final long timeout =
-                now - (abandonedConfig.getRemoveAbandonedTimeout() * 1000L);
+        final long nowMillis = System.currentTimeMillis();
+        final long timeoutMillis =
+                nowMillis - (abandonedConfig.getRemoveAbandonedTimeout() * 
1000L);
         final ArrayList<PooledObject<T>> remove = new ArrayList<>();
         for (PooledObject<T> pooledObject : allObjects.values()) {
             synchronized (pooledObject) {
                 if (pooledObject.getState() == PooledObjectState.ALLOCATED &&
-                        pooledObject.getLastUsedTime() <= timeout) {
+                        pooledObject.getLastUsedTime() <= timeoutMillis) {
                     pooledObject.markAbandoned();
                     remove.add(pooledObject);
                 }
diff --git 
a/java/org/apache/tomcat/dbcp/pool2/impl/SecurityManagerCallStack.java 
b/java/org/apache/tomcat/dbcp/pool2/impl/SecurityManagerCallStack.java
index 032a558..32aa2a2 100644
--- a/java/org/apache/tomcat/dbcp/pool2/impl/SecurityManagerCallStack.java
+++ b/java/org/apache/tomcat/dbcp/pool2/impl/SecurityManagerCallStack.java
@@ -71,7 +71,7 @@ public class SecurityManagerCallStack implements CallStack {
             message = messageFormat;
         } else {
             synchronized (dateFormat) {
-                message = 
dateFormat.format(Long.valueOf(snapshotRef.timestamp));
+                message = 
dateFormat.format(Long.valueOf(snapshotRef.timestampMillis));
             }
         }
         writer.println(message);
@@ -114,7 +114,7 @@ public class SecurityManagerCallStack implements CallStack {
      * A snapshot of a class stack.
      */
     private static class Snapshot {
-        private final long timestamp = System.currentTimeMillis();
+        private final long timestampMillis = System.currentTimeMillis();
         private final List<WeakReference<Class<?>>> stack;
 
         /**
diff --git a/java/org/apache/tomcat/dbcp/pool2/impl/ThrowableCallStack.java 
b/java/org/apache/tomcat/dbcp/pool2/impl/ThrowableCallStack.java
index 393a479..849e757 100644
--- a/java/org/apache/tomcat/dbcp/pool2/impl/ThrowableCallStack.java
+++ b/java/org/apache/tomcat/dbcp/pool2/impl/ThrowableCallStack.java
@@ -58,7 +58,7 @@ public class ThrowableCallStack implements CallStack {
             message = messageFormat;
         } else {
             synchronized (dateFormat) {
-                message = 
dateFormat.format(Long.valueOf(snapshotRef.timestamp));
+                message = 
dateFormat.format(Long.valueOf(snapshotRef.timestampMillis));
             }
         }
         writer.println(message);
@@ -81,6 +81,6 @@ public class ThrowableCallStack implements CallStack {
      */
     private static class Snapshot extends Throwable {
         private static final long serialVersionUID = 1L;
-        private final long timestamp = System.currentTimeMillis();
+        private final long timestampMillis = System.currentTimeMillis();
     }
 }
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 7ef9058..1dc44cb 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -196,6 +196,10 @@
         Update the internal fork of Apache Commons FileUpload to 33d2d79
         (2021-09-01, 2.0-SNAPSHOT). Refactoring and code clean-up. (markt)
       </add>
+      <add>
+        Update the internal fork of Apache Commons Pool to 0da5c54
+        (2021-02-02, 2.9.1-SNAPSHOT). Refactoring and code clean-up. (markt)
+      </add>
     </changelog>
   </subsection>
 </section>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to