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&apos;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

Reply via email to