From: kfujino Date: Thu, 4 Aug 2011 11:45:53 +0000 (+0000) Subject: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=51614 X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=f655c9085fc8a46d37ef8d2c8d3e4ff213248150;p=tomcat7.0 Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=51614 Avoid two times calls of store.load() and session.expire() in PersistentManager. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1153854 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/session/StoreBase.java b/java/org/apache/catalina/session/StoreBase.java index 178619e18..b61b914e2 100644 --- a/java/org/apache/catalina/session/StoreBase.java +++ b/java/org/apache/catalina/session/StoreBase.java @@ -168,12 +168,16 @@ public abstract class StoreBase extends LifecycleBase implements Store { manager.getContainer().getLogger().debug(getStoreName()+ ": processExpires expire store session " + keys[i] ); } boolean isLoaded = false; - try { - if (manager.findSession(keys[i]) != null) { - isLoaded = true; + if (manager instanceof PersistentManagerBase) { + isLoaded = ((PersistentManagerBase) manager).isLoaded(keys[i]); + } else { + try { + if (manager.findSession(keys[i]) != null) { + isLoaded = true; + } + } catch (IOException ioe) { + // Ignore - session will be expired } - } catch (IOException ioe) { - // Ignore - session will be expired } if (isLoaded) { // recycle old backup session diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index b7079996b..98f0fd936 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -129,6 +129,10 @@ Allow to have several AccessLogValve instances in the same scope (e.g. in the same Context). (kkolinko) + + 51614: Avoid two times calls of store.load() and + session.expire() in PersistentManager. (kfujino) +