Revert fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=48790 in preparatio...
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 24 Mar 2010 12:26:11 +0000 (12:26 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 24 Mar 2010 12:26:11 +0000 (12:26 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@927031 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/ha/session/DeltaManager.java
java/org/apache/catalina/session/ManagerBase.java

index 034710f..513a750 100644 (file)
@@ -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;
index e371248..c70ea4c 100644 (file)
@@ -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();
     }