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.