[
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)