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(HttpSessionBindin
> gEvent)
> line: 430
>        
> HashSessionManager$HashedSession(AbstractSessionManager$Session).unbin
> dValue(String,
> Object) line: 1246
>        
> HashSessionManager$HashedSession(AbstractSessionManager$Session).doInv
> alidate()
> line: 1080
>        
> HashSessionManager$HashedSession(AbstractSessionManager$Session).timeo
> 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.getFileChanne
>>> l
>>> (DiskDataStore.java:410)
>>>        at
>>> org.apache.wicket.pageStore.DiskDataStore$SessionEntry.savePage(Disk
>>> D
>>> ataStore.java:328)
>>>        at
>>> org.apache.wicket.pageStore.DiskDataStore.storeData(DiskDataStore.ja
>>> 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]

Reply via email to