You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Jamie Maher (JIRA)" <ji...@apache.org> on 2014/02/14 19:50:20 UTC
[jira] [Updated] (WICKET-5507) Tomcat (versions 5.5.10 to 5.5.15)
fails to cleanup filestore in Wicket 6
[ https://issues.apache.org/jira/browse/WICKET-5507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jamie Maher updated WICKET-5507:
--------------------------------
Summary: Tomcat (versions 5.5.10 to 5.5.15) fails to cleanup filestore in Wicket 6 (was: Tomcat (version 5.5.10 to 5.5.15) fail to cleanup filestore in Wicket 6)
> Tomcat (versions 5.5.10 to 5.5.15) fails to cleanup filestore in Wicket 6
> -------------------------------------------------------------------------
>
> Key: WICKET-5507
> URL: https://issues.apache.org/jira/browse/WICKET-5507
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 6.0.0
> Environment: Any version of Tomcat 5.5 from Tomcat 5.5.10 through 5.5.15 and Wicket 6.x
> Reporter: Jamie Maher
> Priority: Trivial
> Labels: documentation
>
> Summary:
> Don't use Tomcat versions 5.5.10 - 5.5.15 with Wicket 6, these versions of Tomcat will not cleanup the page filestore after sessions are invalidated.
> Details:
> I upgraded an application running on an older version of Tomcat 5.5.12 to Wicket 6 and the WicketApplication-filestore page store no longer cleaned itself up anymore when sessions expired.
> This would have eventually caused the server to run out of disk space if left long enough.
> I tracked the cause of the Sessions not being cleaned up to the following:
> An illegal state exception is thrown in the specified versions of Tomcat 5.5 when the session.getId() is called in the HttpSessionStore.
> Apparently this is due to Tomcat invalidating the session before notifying all of the SessionBindingListeners and an implementation of a draft servlet spec to throw an IllegalStateException.
> The exception occurs in the cleanup code:
> HttpSessionStore$SessionBindingListener.valueUnbound(HttpSessionStore.java:465)
> where it throws an illegal state exception when checking the "getId()" method of the Session.
> Tomcat versions 5.5.10 - 5.5.15 apparently implemented a portion in the draft of the servlet spec which specified getId() to throw an illegal state exception if the session was already invalidated.
> (see https://issues.apache.org/bugzilla/show_bug.cgi?id=36994 for details)
> This getId() ISE portion of the servlet spec was removed in the final servlet spec version because of the problems it caused in lots of cleanup code.
> Not really expecting Wicket to implement a fix, but I thought I would document this behavior in case anyone else happens to still run an older Tomcat 5.5 server with an affected version.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)