DiskPageStore does not unbind expired sessions
----------------------------------------------

                 Key: WICKET-2297
                 URL: https://issues.apache.org/jira/browse/WICKET-2297
             Project: Wicket
          Issue Type: Bug
          Components: wicket
    Affects Versions: 1.4-RC4, 1.3.6
            Reporter: Alex Gitelman
            Priority: Critical


I am having a problem similar to described in WICKET-1679.
I am getting application filled with sessions from googlebot and they never go 
away so application dies and DiskPageStore repository at this point contains 
5000-6000 files (after to days of idling with no real users).
I placed following in my application.

    protected ISessionStore newSessionStore()
    {
        return new SecondLevelCacheSessionStore(this, new DiskPageStore()
        {
            public void unbind(String sessionId) {
                super.unbind(sessionId);
                _log.debug("Unbound session in DiskPageStore id: " + sessionId);
            }
        })
        {
            protected void onUnbind(String sessionId) {

                _log.debug("Unbind session id: " + sessionId);
            }
        };
    }


And I set session timeout in web.xml to 1 minute. After I hit the application, 
output in tomcat is this
Unbind session id: 27DEE9B9778DEA469613972C28A009F9

I expected to see 2 messages:
Unbound session in DiskPageStore id: 27DEE9B9778DEA469613972C28A009F9 
and
Unbind session id: 27DEE9B9778DEA469613972C28A009F9

So DiskPageStore retains all sessions, even expire ones.


In addition, I am not sure id DiskPageStore clears non existing sessions upon 
server restart, so unless I manually clean the repository, I load all of them 
again.









-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to