wicket-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Gitelman (JIRA)" <j...@apache.org>
Subject [jira] Updated: (WICKET-2297) DiskPageStore does not unbind expired sessions
Date Tue, 02 Jun 2009 03:04:07 GMT

     [ https://issues.apache.org/jira/browse/WICKET-2297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Alex Gitelman updated WICKET-2297:
----------------------------------

    Description: 
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 two 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 expired ones.


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









  was:
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 two 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.










> 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.3.6, 1.4-RC4
>            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
two 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 expired ones.
> In addition, I am not sure if 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.


Mime
View raw message