There are two hosts in our server cluster. On each host we run two Tomcats. But the app that uses Wicket only runs on one Tomcat.
-----Original Message----- From: Martin Grigorov [mailto:mgrigo...@apache.org] Sent: Thursday, December 01, 2011 1:49 PM To: users@wicket.apache.org Subject: Re: WicketFilter-filestore overflow Is there a cluster of Tomcat instances ? Maybe the sessionExpired notification has ran on just one of the instances and all other leak these folders. On Thu, Dec 1, 2011 at 10:37 PM, Fang Lin <fang...@u.washington.edu> wrote: > 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:mgrigo...@apache.org] > Sent: Thursday, December 01, 2011 12:03 PM > To: users@wicket.apache.org > 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 <fang...@u.washington.edu> wrote: >> It did clean up some folders, but not all of them. >> >> -----Original Message----- >> From: Martin Grigorov [mailto:mgrigo...@apache.org] >> Sent: Thursday, December 01, 2011 11:52 AM >> To: users@wicket.apache.org >> Subject: Re: WicketFilter-filestore overflow >> >> On Thu, Dec 1, 2011 at 8:31 PM, Fang Lin <fang...@u.washington.edu> 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: users@wicket.apache.org >>> 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:mgrigo...@apache.org] >>> Sent: Thursday, December 01, 2011 10:59 AM >>> To: users@wicket.apache.org >>> 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(HttpSessionBind >>> i >>> n >>> gEvent) >>> line: 430 >>> >>> HashSessionManager$HashedSession(AbstractSessionManager$Session).unb >>> i >>> n >>> dValue(String, >>> Object) line: 1246 >>> >>> HashSessionManager$HashedSession(AbstractSessionManager$Session).doI >>> n >>> v >>> alidate() >>> line: 1080 >>> >>> HashSessionManager$HashedSession(AbstractSessionManager$Session).tim >>> e >>> 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 <mgrigo...@apache.org> >>> 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 <fang...@u.washington.edu> 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.getFileChan >>>>> n >>>>> e >>>>> l >>>>> (DiskDataStore.java:410) >>>>> at >>>>> org.apache.wicket.pageStore.DiskDataStore$SessionEntry.savePage(Di >>>>> s >>>>> 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: users-unsubscr...@wicket.apache.org >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >>> >> >> >> >> -- >> Martin Grigorov >> jWeekend >> Training, Consulting, Development >> http://jWeekend.com >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> > > > > -- > Martin Grigorov > jWeekend > Training, Consulting, Development > http://jWeekend.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org