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)