There are still other ways around this.  If every process registered itself
via unique file in a known directory and a Page Store thread touched this
file every say 5 minutes, this gives more information to a thread to know
whether or not delete a Page Store directory associated with unique ID.   

For example,

MyWebSite-filestore/running_processes/uid1
MyWebSite-filestore/running_processes/uid2
MyWebSite-filestore/running_processes/uid2

Each Page store thread would then check the uid files that it did not
create.  For example, process 1 would check to see if uid1 and uid2 have
been touched in the last hour (just making up something way greater than 5
minutes).  If not, remove their associated PageStore files.

I will admit this is a bit more involved, but i am trying to present a
solution that doesn't require any configuration from a user perspective.




Johan Compagner wrote:
> 
> no it doesnt matter what id i generate or get. This is still not
> enough because it doesnt say any thing if i can delete it or not. i
> have an id 1 then i restart and i have id 2 can i then delete
> everything from 1? No i cant because there could be live sessions from
> 1.
> 
> On 11/14/07, Chris Lintz <[EMAIL PROTECTED]> wrote:
>>
>> The process ID is just an idea for a unique ID.  If that wont work for
>> you,
>> lets dream another unique ID .
>>
>>
>>
>> Johan Compagner wrote:
>> >
>> > ohh wait that also doesn't work (process id can also be generated once
>> > ofcourse) but you can have mulitply dirs created with 10 different
>> > processes that are all valid. so that doesn't solve anything
>> >
>> > On 11/14/07, Johan Compagner <[EMAIL PROTECTED]> wrote:
>> >> can you get the current process id by general api in java? have to
>> >> look at Runtime then.
>> >>
>> >> On 11/14/07, Chris Lintz <[EMAIL PROTECTED]> wrote:
>> >> >
>> >> > That makes sense.  Another thought that possibly makes it a bit
>> easier
>> >> is
>> >> to
>> >> > name the page store directories with a unique process identifier.
>> For
>> >> > example, if my session ID is B31598D4B206B75161AFE08FB5610D54.n1 and
>> >> the
>> >> > process ID is 123456, then the Page store directory would be:
>> >> >
>> >> >    MyWebSite-filestore/123456/B31598D4B206B75161AFE08FB5610D54.n1
>> >> >
>> >> > With a structure like that it would be easy for a thread to remove
>> the
>> >> Page
>> >> > store directories that do not have the current process ID.
>> >> >
>> >> > Just a thought.
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > Johan Compagner wrote:
>> >> > >
>> >> > > Yes the pagestore knows which files it makes, but it is not the
>> >> controller
>> >> > > of those files
>> >> > > because the only thing that controls if the file must be deleted
>> or
>> >> not
>> >> is
>> >> > > the servlet container
>> >> > > with the session objects.
>> >> > >
>> >> > > and as far as i know there is no api where i can ask which
>> sessions
>> >> are
>> >> > > still active.
>> >> > > So the only thing we could do is have a thread running that is
>> waking
>> >> up
>> >> > > every day once
>> >> > > and checks if there are files older then X. And that thread must
>> be
>> >> > > configured by you
>> >> > > explicitly setting the timeout that you want to have.
>> >> > >
>> >> > > johan
>> >> > >
>> >> > >
>> >> > >
>> >> > >
>> >> > > On Nov 14, 2007 12:04 AM, Chris Lintz
>> <[EMAIL PROTECTED]>
>> >> > > wrote:
>> >> > >
>> >> > >>
>> >> > >> I think from previous threads there was discussion about
>> something
>> >> that
>> >> > >> you
>> >> > >> could do.  For instance, the Page store should know what cache
>> files
>> >> it
>> >> > >> is
>> >> > >> controlling.  By that logic alone it can deduce what it is no
>> longer
>> >> > >> referencing and cleanup what was left form it.
>> >> > >>
>> >> > >> It seems silly to me to ask people to rely on graceful restarts
>> or
>> >> write
>> >> > >> your own cleanup script from a framework that created cache
>> files.
>> >> It
>> >> > >> seems
>> >> > >> fairly standard to ask "clean up what was yours."   I'd like to
>> hear
>> >> > >> other
>> >> > >> input from average users.
>> >> > >>
>> >> > >>
>> >> > >>
>> >> > >> Johan Compagner wrote:
>> >> > >> >
>> >> > >> > as long as your server doesn't crash and isn't terminate by a
>> kill
>> >> -9
>> >> > >> > no files are leaked..
>> >> > >> >
>> >> > >> > When that does happen then yes you have to clean it up.
>> >> > >> > If you dont care about those files after a restart then in the
>> >> script
>> >> > >> that
>> >> > >> > starts your webcontainer
>> >> > >> > you will just remove all the files in the work dir.
>> >> > >> >
>> >> > >> > I don't think wicket can do much about it.
>> >> > >> >
>> >> > >> > johan
>> >> > >> >
>> >> > >> >
>> >> > >> > On Nov 13, 2007 10:41 PM, Chris Lintz
>> >> <[EMAIL PROTECTED]>
>> >> > >> > wrote:
>> >> > >> >
>> >> > >> >>
>> >> > >> >> All,
>> >> > >> >> I have submitted a Jira on this topic.  I will leave it to the
>> >> great
>> >> > >> >> minds
>> >> > >> >> to debate.  In any case, it appears restarting the container
>> >> cannot
>> >> > >> >> notify
>> >> > >> >> the HttpSessionListeners that are bound to the page store
>> files.
>> >> It
>> >> > >> >> would
>> >> > >> >> be nice if the framework can cleanup what I consider a leak of
>> >> the
>> >> > >> cache
>> >> > >> >> files it created.  Otherwise folks like myself living in an
>> high
>> >> > >> traffic
>> >> > >> >> site are forced to generate script look for old page store
>> cache
>> >> > >> files.
>> >> > >> >>
>> >> > >> >> https://issues.apache.org/jira/browse/WICKET-1158
>> >> > >> >>
>> >> > >> >>
>> >> > >> >> Johan Compagner wrote:
>> >> > >> >> >
>> >> > >> >> >>
>> >> > >> >> >> > And from top of my head there is no api to get all the
>> >> current
>> >> > >> >> session
>> >> > >> >> >> id's
>> >> > >> >> >> > from
>> >> > >> >> >> > an instance when the instance does start up..
>> >> > >> >> >>
>> >> > >> >> >> But we could ditch ALL the directories it can find in the
>> temp
>> >> > >> >> >> directory the page store uses when starting up, right?
>> >> > >> >> >>
>> >> > >> >> >
>> >> > >> >> > No we can't do that, If you as you should terminate your web
>> >> > >> container
>> >> > >> >> > gracefully
>> >> > >> >> > then the web container will save all the sessions to disk.
>> Then
>> >> if
>> >> > >> you
>> >> > >> >> > restart it again
>> >> > >> >> > all the sessions are loaded again. And yes the application
>> >> works
>> >> > >> just
>> >> > >> >> as
>> >> > >> >> > it was never
>> >> > >> >> > restarted. But if we throw away all the page stores. Then we
>> >> loose
>> >> > >> all
>> >> > >> >> the
>> >> > >> >> > data
>> >> > >> >> > of sessions that are currently active.
>> >> > >> >> >
>> >> > >> >> > The only thing i can think of is having some check that only
>> >> deletes
>> >> > >> >> > things
>> >> > >> >> > that are not touched for X hours or days.
>> >> > >> >> >
>> >> > >> >> > johan
>> >> > >> >> >
>> >> > >> >> >
>> >> > >> >>
>> >> > >> >> --
>> >> > >> >> View this message in context:
>> >> > >> >>
>> >> > >>
>> >> >
>> >>
>> http://www.nabble.com/How-To-Change-Page-Store-Size-in-DiskPageStore--tf4768072.html#a13735298
>> >> > >> >> Sent from the Wicket - User mailing list archive at
>> >> > >> >> Nabble.com <http://nabble.com/><http://nabble.com/>
>> >> > >> >> .
>> >> > >> >>
>> >> > >> >>
>> >> > >> >>
>> >> ---------------------------------------------------------------------
>> >> > >> >>  To unsubscribe, e-mail: [EMAIL PROTECTED]
>> >> > >> >> For additional commands, e-mail: [EMAIL PROTECTED]
>> >> > >> >>
>> >> > >> >>
>> >> > >> >
>> >> > >> >
>> >> > >>
>> >> > >> --
>> >> > >> View this message in context:
>> >> > >>
>> >> >
>> >>
>> http://www.nabble.com/How-To-Change-Page-Store-Size-in-DiskPageStore--tf4768072.html#a13736689
>> >> > >>  Sent from the Wicket - User mailing list archive at
>> >> > >> Nabble.com<http://nabble.com/>
>> >> > >> .
>> >> > >>
>> >> > >>
>> >> > >>
>> >> ---------------------------------------------------------------------
>> >> > >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> >> > >> For additional commands, e-mail: [EMAIL PROTECTED]
>> >> > >>
>> >> > >>
>> >> > >
>> >> > >
>> >> >
>> >> > --
>> >> > View this message in context:
>> >> >
>> >>
>> http://www.nabble.com/How-To-Change-Page-Store-Size-in-DiskPageStore--tf4768072.html#a13751284
>> >> > Sent from the Wicket - User mailing list archive at Nabble.com.
>> >> >
>> >> >
>> >> >
>> ---------------------------------------------------------------------
>> >> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> >> > For additional commands, e-mail: [EMAIL PROTECTED]
>> >> >
>> >> >
>> >>
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > For additional commands, e-mail: [EMAIL PROTECTED]
>> >
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/How-To-Change-Page-Store-Size-in-DiskPageStore--tf4768072.html#a13753054
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/How-To-Change-Page-Store-Size-in-DiskPageStore--tf4768072.html#a13754524
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to