From 89b97d31fc4b6ca830a27ead784a69080b77038e Mon Sep 17 00:00:00 2001 From: kfujino Date: Mon, 13 Jun 2011 09:44:33 +0000 Subject: [PATCH] Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=51306. Avoid NPE when handleSESSION_EXPIRED is processed while handleSESSION_CREATED is being processed. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1135069 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/ha/session/DeltaManager.java | 2 +- java/org/apache/catalina/ha/session/DeltaSession.java | 2 +- webapps/docs/changelog.xml | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/java/org/apache/catalina/ha/session/DeltaManager.java b/java/org/apache/catalina/ha/session/DeltaManager.java index 42e59a16b..952127225 100644 --- a/java/org/apache/catalina/ha/session/DeltaManager.java +++ b/java/org/apache/catalina/ha/session/DeltaManager.java @@ -1385,7 +1385,7 @@ public CatalinaCluster getCluster() { 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.access(); session.setId(msg.getSessionID(), notifySessionListenersOnReplication); session.resetDeltaRequest(); diff --git a/java/org/apache/catalina/ha/session/DeltaSession.java b/java/org/apache/catalina/ha/session/DeltaSession.java index 8d6c60982..acea43272 100644 --- a/java/org/apache/catalina/ha/session/DeltaSession.java +++ b/java/org/apache/catalina/ha/session/DeltaSession.java @@ -429,7 +429,7 @@ public class DeltaSession extends StandardSession implements Externalizable,Clus return; String expiredId = getIdInternal(); - if(expiredId != null && manager != null && + if(notifyCluster && expiredId != null && manager != null && manager instanceof DeltaManager) { DeltaManager dmanager = (DeltaManager)manager; CatalinaCluster cluster = dmanager.getCluster(); diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index c28f91b69..ffb336a39 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -55,6 +55,14 @@ + + + + 51306: Avoid NPE when handleSESSION_EXPIRED is processed + while handleSESSION_CREATED is being processed. (kfujino) + + + -- 2.11.0