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]
