From 0ce2f62b4493e84ac139d6b17cb2b3ce9d980fcb Mon Sep 17 00:00:00 2001 From: markt Date: Wed, 24 Mar 2010 12:26:11 +0000 Subject: [PATCH] Revert fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=48790 in preparation for a simpler solution git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@927031 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/catalina/ha/session/DeltaManager.java | 2 +- java/org/apache/catalina/session/ManagerBase.java | 23 +++------------------- 2 files changed, 4 insertions(+), 21 deletions(-) diff --git a/java/org/apache/catalina/ha/session/DeltaManager.java b/java/org/apache/catalina/ha/session/DeltaManager.java index 034710fd2..513a75068 100644 --- a/java/org/apache/catalina/ha/session/DeltaManager.java +++ b/java/org/apache/catalina/ha/session/DeltaManager.java @@ -1160,7 +1160,7 @@ public class DeltaManager extends ClusterManagerBase{ rejectedSessions = 0 ; sessionReplaceCounter = 0 ; counterNoStateTransfered = 0 ; - setMaxActive(getActiveSessions()); + maxActive = getActiveSessions() ; sessionCounter = getActiveSessions() ; counterReceive_EVT_ALL_SESSION_DATA = 0; counterReceive_EVT_GET_ALL_SESSIONS = 0; diff --git a/java/org/apache/catalina/session/ManagerBase.java b/java/org/apache/catalina/session/ManagerBase.java index e37124876..c70ea4cf8 100644 --- a/java/org/apache/catalina/session/ManagerBase.java +++ b/java/org/apache/catalina/session/ManagerBase.java @@ -37,8 +37,6 @@ import java.util.Iterator; import java.util.Map; import java.util.Random; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.locks.ReadWriteLock; -import java.util.concurrent.locks.ReentrantReadWriteLock; import javax.management.MBeanRegistration; import javax.management.MBeanServer; @@ -186,7 +184,6 @@ public abstract class ManagerBase extends LifecycleBase protected int sessionCounter=0; protected int maxActive=0; - private final ReadWriteLock maxActiveLock = new ReentrantReadWriteLock(); // number of duplicated session ids - anything >0 means we have problems protected int duplicates=0; @@ -767,17 +764,8 @@ public abstract class ManagerBase extends LifecycleBase sessions.put(session.getIdInternal(), session); int size = sessions.size(); - - maxActiveLock.readLock().lock(); - if (size > maxActive) { - maxActiveLock.readLock().unlock(); - maxActiveLock.writeLock().lock(); - if (size > maxActive) { - maxActive = size; - } - maxActiveLock.writeLock().unlock(); - } else { - maxActiveLock.readLock().unlock(); + if( size > maxActive ) { + maxActive = size; } } @@ -1088,17 +1076,12 @@ public abstract class ManagerBase extends LifecycleBase * @return The highest number of concurrent active sessions */ public int getMaxActive() { - maxActiveLock.readLock().lock(); - int result = maxActive; - maxActiveLock.readLock().unlock(); - return result; + return maxActive; } public void setMaxActive(int maxActive) { - maxActiveLock.writeLock().lock(); this.maxActive = maxActive; - maxActiveLock.writeLock().unlock(); } -- 2.11.0