Below is the original bug report for Tomcat. JBoss Web missed it for a long time. [Bug 48790 - Race condition in org.apache.catalina.session.ManagerBase:maxActive] https://bz.apache.org/bugzilla/show_bug.cgi?id=48790 Actual: http://anonsvn.jboss.org/repos/jbossweb/trunk/src/main/java/org/apache/catalina/session/ManagerBase.java ~~~ public void add(Session session) { sessions.put(session.getIdInternal(), session); int size = sessions.size(); if( size > maxActive ) { maxActive = size; } } ~~~ Expected: http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/ManagerBase.java ~~~ public void add(Session session) { sessions.put(session.getIdInternal(), session); int size = sessions.size(); if( size > maxActive ) { synchronized(maxActiveUpdateLock) { if( size > maxActive ) { maxActive = size; } } } } ~~~
Verified on EAP 6.4.7.CP.CR2 Verified that max-active-sessions is never smaller than active-sessions (it's now synchronized), but active-sessions can exceed property MAX_ACTIVE_SESSIONS see bz#1316949 and if property MAX_ACTIVE_SESSIONS is set from jboss-web.xml it doesn't work - see bz#1316960
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.