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

Reply via email to