All the session folders are cleaned up during the test on the development 
server. Nothing left.
Could it be possible that the issue only occur when multiple concurrent 
sessions exist?

I am going to set up a cronjob to clean up the folders daily as a work around.
Thanks!

-----Original Message-----
From: Martin Grigorov [mailto:[email protected]] 
Sent: Thursday, December 01, 2011 12:03 PM
To: [email protected]
Subject: Re: WicketFilter-filestore overflow

Set the session timeout to 1, log in and wait 1 minute with the debugger at 
that method and follow the execution

On Thu, Dec 1, 2011 at 8:59 PM, Fang Lin <[email protected]> wrote:
> It did clean up some folders, but not all of them.
>
> -----Original Message-----
> From: Martin Grigorov [mailto:[email protected]]
> Sent: Thursday, December 01, 2011 11:52 AM
> To: [email protected]
> Subject: Re: WicketFilter-filestore overflow
>
> On Thu, Dec 1, 2011 at 8:31 PM, Fang Lin <[email protected]> wrote:
>> It looks like a bug as the behavior is not consistent across all servers.
>> Would anything setting in Tomcat affect how Wicket clean up the folders?
>
> Did you debug it ?
>
>> -Fang
>>
>> -----Original Message-----
>> From: Fang Lin
>> Sent: Thursday, December 01, 2011 11:26 AM
>> To: [email protected]
>> Subject: RE: WicketFilter-filestore overflow
>>
>> Thanks for checking into this quickly!
>> We don’t  use Jetty. We use Apache Tomcat/6.0.29.
>> On the server that had the overflow, there were  3,111 directories created 
>> yesterday still there now.
>>
>> -Fang
>>
>> -----Original Message-----
>> From: Martin Grigorov [mailto:[email protected]]
>> Sent: Thursday, December 01, 2011 10:59 AM
>> To: [email protected]
>> Subject: Re: WicketFilter-filestore overflow
>>
>> Everything seems to be OK.
>> I just tested it with Jetty 7.5
>>
>> When a session expires this call is executed:
>> Daemon Thread [HashSessionScavenger-0] (Suspended (breakpoint at line
>> 454 in DiskDataStore$SessionEntry))
>>        DiskDataStore$SessionEntry.unbind() line: 454
>>        DiskDataStore.removeData(String) line: 166
>>        AsynchronousDataStore.removeData(String) line: 209
>>        DefaultPageStore.removePageData(String) line: 109
>>        DefaultPageStore.unbind(String) line: 161
>>        PageStoreManager.sessionExpired(String) line: 413
>>        WicketApplication(Application).sessionUnbound(String) line: 
>> 478
>>        WicketApplication(WebApplication).sessionUnbound(String) line:
>> 509
>>
>> HttpSessionStore$SessionBindingListener.valueUnbound(HttpSessionBindi
>> n
>> gEvent)
>> line: 430
>>
>> HashSessionManager$HashedSession(AbstractSessionManager$Session).unbi
>> n
>> dValue(String,
>> Object) line: 1246
>>
>> HashSessionManager$HashedSession(AbstractSessionManager$Session).doIn
>> v
>> alidate()
>> line: 1080
>>
>> HashSessionManager$HashedSession(AbstractSessionManager$Session).time
>> o
>> ut()
>> line: 1037
>>        HashSessionManager.scavenge() line: 318
>>        HashSessionManager$2.run() line: 273
>>        TimerThread.mainLoop() line: 512
>>        TimerThread.run() line: 462
>>
>> and it deletes the folder with the session data.
>> You may try it with your application server
>>
>> On Thu, Dec 1, 2011 at 7:25 PM, Martin Grigorov <[email protected]> wrote:
>>> Hm,
>>>
>>> Maybe there is a bug. That's easy to check.
>>> I will let you know soon.
>>>
>>> On Thu, Dec 1, 2011 at 6:56 PM, Fang Lin <[email protected]> wrote:
>>>> About two weeks after we deployed Wicket 1.5.3, we ran into a file system 
>>>> issue on one of our server.
>>>>
>>>> The following appeared in the application log on each page load:
>>>>
>>>> ERROR 29 08:01:57.665 Failed to create directory:
>>>> /usr/local/tomcat/work/Catalina/localhost/_/WicketFilter-filestore/
>>>> 0
>>>> A
>>>> 91844EB9E584DD7CA8C48AD558AB2D.myuw11 [o.a.w.u.f.Files] ERROR 29
>>>> 08:01:57.666
>>>> /usr/local/tomcat/work/Catalina/localhost/_/WicketFilter-filestore/
>>>> 0 A 91844EB9E584DD7CA8C48AD558AB2D.myuw11/data (No such file or
>>>> directory) [o.a.w.p.DiskDataStore] java.io.FileNotFoundException:
>>>> /usr/local/tomcat/work/Catalina/localhost/_/WicketFilter-filestore/
>>>> 0 A 91844EB9E584DD7CA8C48AD558AB2D.myuw11/data (No such file or
>>>> directory)
>>>>        at java.io.RandomAccessFile.open(Native Method)
>>>>        at 
>>>> java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
>>>>        at
>>>> org.apache.wicket.pageStore.DiskDataStore$SessionEntry.getFileChann
>>>> e
>>>> l
>>>> (DiskDataStore.java:410)
>>>>        at
>>>> org.apache.wicket.pageStore.DiskDataStore$SessionEntry.savePage(Dis
>>>> k
>>>> D
>>>> ataStore.java:328)
>>>>        at
>>>> org.apache.wicket.pageStore.DiskDataStore.storeData(DiskDataStore.j
>>>> a
>>>> v
>>>> a:176)
>>>>        at
>>>> org.apache.wicket.pageStore.AsynchronousDataStore$PageSavingRunnable.
>>>> run(AsynchronousDataStore.java:356)
>>>>        at java.lang.Thread.run(Thread.java:662)
>>>> WARN 29 08:01:57.666 Cannot save page with id '0' because the data 
>>>> file cannot be opened.[o.a.w.p.DiskDataStore]
>>>>
>>>> There were total 129,852 sub-directories under 
>>>> /data/logs/tomcat/work/Catalina/localhost/_/WicketFilter-filestore/, named 
>>>> by session ID and host name.
>>>> Removed all the sub-directories, cleared the problem.  What concerns me 
>>>> now is that the ones created on previous days were not removed completely. 
>>>> Therefore the number of sub-directories is increasing every day.
>>>>
>>>> Our session-timeout is 60 minutes.
>>>>
>>>> Thanks,
>>>> Fang
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Martin Grigorov
>>> jWeekend
>>> Training, Consulting, Development
>>> http://jWeekend.com
>>>
>>
>>
>>
>> --
>> Martin Grigorov
>> jWeekend
>> Training, Consulting, Development
>> http://jWeekend.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>



--
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to