DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=29060>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=29060 synchronized block too small in method createSession class session/ManagerBase.java Summary: synchronized block too small in method createSession class session/ManagerBase.java Product: Tomcat 5 Version: 5.0.24 Platform: All OS/Version: All Status: NEW Severity: Normal Priority: Other Component: Catalina AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] CC: [EMAIL PROTECTED] Hi, in session/ManagerBase.java in method createSession it looks like the synchronized(sessions) block is too small. You synchronize in order to be sure, that you use a unique new session id. But this session id is then entered into sessions directly after the synchronized block (call to session.setId). I think, the call to session.setId should be moved to the end of the synchronized block, since setId calls manager.add, which puts the session into sessions. See the diff at the end of this report. The same holds true for the implementation inside the cluster module (method createSession in session/DeltaManager.java and in session/SimpleTcpReplicationManager.java). atlas1% diff -c session/ManagerBase.java session/ManagerBase.java_patch *** session/ManagerBase.java Tue May 4 20:25:40 2004 --- session/ManagerBase.java_patch Tue May 18 12:12:46 2004 *************** *** 692,700 **** sessionId += '.' + jvmRoute; } } } - session.setId(sessionId); sessionCounter++; return (session); --- 692,700 ---- sessionId += '.' + jvmRoute; } } + session.setId(sessionId); } sessionCounter++; return (session); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]