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(HttpSessionBindingEvent) > line: 430 > > HashSessionManager$HashedSession(AbstractSessionManager$Session).unbindValue(String, > Object) line: 1246 > > HashSessionManager$HashedSession(AbstractSessionManager$Session).doInvalidate() > line: 1080 > > HashSessionManager$HashedSession(AbstractSessionManager$Session).timeout() > 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/0A >>> 91844EB9E584DD7CA8C48AD558AB2D.myuw11 [o.a.w.u.f.Files] ERROR 29 >>> 08:01:57.666 >>> /usr/local/tomcat/work/Catalina/localhost/_/WicketFilter-filestore/0A >>> 91844EB9E584DD7CA8C48AD558AB2D.myuw11/data (No such file or >>> directory) [o.a.w.p.DiskDataStore] java.io.FileNotFoundException: >>> /usr/local/tomcat/work/Catalina/localhost/_/WicketFilter-filestore/0A >>> 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.getFileChannel >>> (DiskDataStore.java:410) >>> at >>> org.apache.wicket.pageStore.DiskDataStore$SessionEntry.savePage(DiskD >>> ataStore.java:328) >>> at >>> org.apache.wicket.pageStore.DiskDataStore.storeData(DiskDataStore.jav >>> 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]
