Author: rjung Date: Wed Nov 26 17:17:57 2014 New Revision: 1641860 URL: http://svn.apache.org/r1641860 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=51306. Avoid NPE when handleSESSION_EXPIRED is processed while handleSESSION_CREATED is being processed.
Backport of r1137962 from TC 6. Modified: tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaSession.java Modified: tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml?rev=1641860&r1=1641859&r2=1641860&view=diff ============================================================================== --- tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml (original) +++ tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml Wed Nov 26 17:17:57 2014 @@ -32,6 +32,10 @@ <section name="Tomcat OACC 0.1 (rjung)"> <subsection name="Cluster"> <fix> + <bug>51306</bug>: Avoid NPE when handleSESSION_EXPIRED is processed + while handleSESSION_CREATED is being processed. (kfujino) + </fix> + <fix> <bug>51042</bug>: Don't trigger session creation listeners when a session ID is changed as part of the authentication process. (markt) </fix> Modified: tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java?rev=1641860&r1=1641859&r2=1641860&view=diff ============================================================================== --- tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java (original) +++ tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java Wed Nov 26 17:17:57 2014 @@ -1674,7 +1674,7 @@ public class DeltaManager extends Cluste session.setPrimarySession(false); session.setCreationTime(msg.getTimestamp()); // use container maxInactiveInterval so that session will expire correctly in case of primary transfer - session.setMaxInactiveInterval(getMaxInactiveInterval()); + session.setMaxInactiveInterval(getMaxInactiveInterval(), false); session.setExpireTolerance(this.expireTolerance); session.access(); session.setId(msg.getSessionID(), notifySessionListenersOnReplication); Modified: tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaSession.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaSession.java?rev=1641860&r1=1641859&r2=1641860&view=diff ============================================================================== --- tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaSession.java (original) +++ tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaSession.java Wed Nov 26 17:17:57 2014 @@ -328,7 +328,8 @@ public class DeltaSession extends Standa return; - if(expiredId != null && manager instanceof DeltaManager) { + if(notifyCluster && expiredId != null && manager != null && + manager instanceof DeltaManager) { DeltaManager dmanager = (DeltaManager)manager; CatalinaCluster cluster = dmanager.getCluster(); ClusterMessage msg = dmanager.requestCompleted(expiredId, true); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org