[Lift] Re: 24 hours say the memory leaks are gone

2009-02-09 Thread David Pollak
Good stuff!

On Mon, Feb 9, 2009 at 11:26 AM, Marius marius.dan...@gmail.com wrote:


 Hi,

 I just committed the changes. There are a few new LiftRules variables

  /**
   * If a Comet request fails timeout for this period of time. Default
 value is 10 seconds
   */
  var cometFailureRetryTimeout: Long = 10 seconds


  /**
   * By default lift uses a garbage-collection mechanism of removing
 unused bound functions from LiftSesssion
   * Setting this to false will disbale this mechanims and there will
 be no Ajax polling mechanims attempted.
   */
  var enableLiftGC = true;

  /**
   * If Lift garbage collection is enabled, functions that are not
 seen in the page for this period of time
   * (given in milliseonds) will be discarded hence eligibe for
 garbage collections.
   * The default value is 10 minutes.
   */
  var unusedFunctionsLifeTime: Long = 10 minutes

  /**
   * The polling interval for background Ajax requests to keep
 functions to not be garbage collected.
   * Default value is set to 75 seconds.
   */
  var liftGCPollingInterval: Long = 75 seconds

  /**
   * The polling interval for background Ajax requests to keep
 functions to not be garbage collected.
   * This will be applied if the AJax request will fail. Default value
 is set to 15 seconds.
   */
  var liftGCFailureRetryTimeout: Long = 15 seconds


 Dave ... just wanted to also make people aware on what we just
 discussed. With the gc mechanism where unused function survive for 10
 minutes (by default ... but now can be configured) the back button
 scenarios would have a negative impact as browsers tend to reload the
 page from cache and not make a request to server. Hence Lift requests
 from that page will fail if the functions are GC-ed. We need a
 mechanism to determine the back button cases and I'll be doing some
 noodling on that. Of course creative ideas are more then welcomed !

 Br's,
 Marius

 On Feb 8, 9:13 pm, David Pollak feeder.of.the.be...@gmail.com wrote:
  On Sun, Feb 8, 2009 at 7:40 AM, Marius marius.dan...@gmail.com wrote:
 
   I can make these changes one of these days if it's fine with you.
 
  Please make them as soon as is convenient.  It's time to let the bits sit
  prior to 1.0 shipping.
 
 
 
 
 
   On Feb 8, 5:23 pm, David Pollak feeder.of.the.be...@gmail.com wrote:
On Sun, Feb 8, 2009 at 12:37 AM, Marius marius.dan...@gmail.com
 wrote:
 
 Dave this is way awesome!
 
 I have some questions/suggestions if I may
 
 1. Currently Lift purges the unseen functions that are older then
 10
 minutes. I think it might help to make this time window
 configurable
 via LiftRules so that people may adjust it to fit their specific
 application needs.
 
Sure.
 
 2. AddLiftGCToBody should probably not renders anything related
 with
 GC if the GC nodes list is empty? ... or have the ability to
 disable
 the GC support which might be quite handy for mobile web
 applications
 used for limited browsers.
 
Disable GC... cool.  Not sending the Ajax request if the list is
 empty,
cool.  But it's possible that items come onto the page via Ajax or
 Comet.
 Thus, we have to run the node walk as long as GC is enabled.
 
 3. Lift for every page is starting the JS GC daemon that
 periodically sends the GC request up (every 75 seconds for success
 or
 15 seconds for failure). Shouldn't we make these these times
 intervals
 configurable from LiftRules?
 
Sure.
 
 Thoughts?
 
 Br's,
 Marius
 
 On Feb 8, 2:05 am, David Pollak feeder.of.the.be...@gmail.com
 wrote:
  Folks,
 
  I've found and squashed a bunch of memory retention issues in the
   Lift
 comet
  stuff (and added the garbage collection for functions.)
 
  I've tested the fixes against the
 livehttp://demo.liftweb.netandthere
 has
  been no memory growth (except in Derby, but that's not Lift's
   problem)
 for
  24 hours.
 
  I've been using YouKit (http://yourkit.com/) to profile that
 application.
  I've gotta say that YourKit is awesome, even for debugging remote
   code.
  I'd
  like to thank YourKit again for contributing licenses to the Lift
  committers.
 
  I've dialed the heap size for demo.liftweb.net from 1GB to 192M.
  In
  practice, the actual heap size for the site never grew beyond
 about
   10MB.
 
  Thanks,
 
  David
 
  PS -- Yes, my confidence about making 1.0 on 2/26 is very high.
 
  --
  Lift, the simply functional web frameworkhttp://liftweb.net
  Beginning Scalahttp://www.apress.com/book/view/1430219890
  Follow me:http://twitter.com/dpp
  Git some:http://github.com/dpp
 
--
Lift, the simply functional web frameworkhttp://liftweb.net
Beginning Scalahttp://www.apress.com/book/view/1430219890
Follow me:http://twitter.com/dpp
Git some:http://github.com/dpp
 
  --
  Lift, the simply functional web frameworkhttp://liftweb.net
  Beginning 

[Lift] Re: 24 hours say the memory leaks are gone

2009-02-08 Thread Marius

Dave this is way awesome!

I have some questions/suggestions if I may


1. Currently Lift purges the unseen functions that are older then 10
minutes. I think it might help to make this time window configurable
via LiftRules so that people may adjust it to fit their specific
application needs.

2. AddLiftGCToBody should probably not renders anything related with
GC if the GC nodes list is empty? ... or have the ability to disable
the GC support which might be quite handy for mobile web applications
used for limited browsers.

3. Lift for every page is starting the JS GC daemon that
periodically sends the GC request up (every 75 seconds for success or
15 seconds for failure). Shouldn't we make these these times intervals
configurable from LiftRules?

Thoughts?

Br's,
Marius

On Feb 8, 2:05 am, David Pollak feeder.of.the.be...@gmail.com wrote:
 Folks,

 I've found and squashed a bunch of memory retention issues in the Lift comet
 stuff (and added the garbage collection for functions.)

 I've tested the fixes against the livehttp://demo.liftweb.netand there has
 been no memory growth (except in Derby, but that's not Lift's problem) for
 24 hours.

 I've been using YouKit (http://yourkit.com/) to profile that application.
 I've gotta say that YourKit is awesome, even for debugging remote code.  I'd
 like to thank YourKit again for contributing licenses to the Lift
 committers.

 I've dialed the heap size for demo.liftweb.net from 1GB to 192M.  In
 practice, the actual heap size for the site never grew beyond about 10MB.

 Thanks,

 David

 PS -- Yes, my confidence about making 1.0 on 2/26 is very high.

 --
 Lift, the simply functional web frameworkhttp://liftweb.net
 Beginning Scalahttp://www.apress.com/book/view/1430219890
 Follow me:http://twitter.com/dpp
 Git some:http://github.com/dpp
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: 24 hours say the memory leaks are gone

2009-02-08 Thread Marius

Related with the above ... would it be ok with you to have a comet
long-polling interval configurable from somewhere (i.e LiftRules)? ...
currently it is hardcoded to 10 seconds.

On Feb 8, 10:37 am, Marius marius.dan...@gmail.com wrote:
 Dave this is way awesome!

 I have some questions/suggestions if I may

 1. Currently Lift purges the unseen functions that are older then 10
 minutes. I think it might help to make this time window configurable
 via LiftRules so that people may adjust it to fit their specific
 application needs.

 2. AddLiftGCToBody should probably not renders anything related with
 GC if the GC nodes list is empty? ... or have the ability to disable
 the GC support which might be quite handy for mobile web applications
 used for limited browsers.

 3. Lift for every page is starting the JS GC daemon that
 periodically sends the GC request up (every 75 seconds for success or
 15 seconds for failure). Shouldn't we make these these times intervals
 configurable from LiftRules?

 Thoughts?

 Br's,
 Marius

 On Feb 8, 2:05 am, David Pollak feeder.of.the.be...@gmail.com wrote:

  Folks,

  I've found and squashed a bunch of memory retention issues in the Lift comet
  stuff (and added the garbage collection for functions.)

  I've tested the fixes against the livehttp://demo.liftweb.netandthere has
  been no memory growth (except in Derby, but that's not Lift's problem) for
  24 hours.

  I've been using YouKit (http://yourkit.com/) to profile that application.
  I've gotta say that YourKit is awesome, even for debugging remote code.  I'd
  like to thank YourKit again for contributing licenses to the Lift
  committers.

  I've dialed the heap size for demo.liftweb.net from 1GB to 192M.  In
  practice, the actual heap size for the site never grew beyond about 10MB.

  Thanks,

  David

  PS -- Yes, my confidence about making 1.0 on 2/26 is very high.

  --
  Lift, the simply functional web frameworkhttp://liftweb.net
  Beginning Scalahttp://www.apress.com/book/view/1430219890
  Follow me:http://twitter.com/dpp
  Git some:http://github.com/dpp
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: 24 hours say the memory leaks are gone

2009-02-08 Thread David Pollak
On Sun, Feb 8, 2009 at 12:37 AM, Marius marius.dan...@gmail.com wrote:


 Dave this is way awesome!

 I have some questions/suggestions if I may


 1. Currently Lift purges the unseen functions that are older then 10
 minutes. I think it might help to make this time window configurable
 via LiftRules so that people may adjust it to fit their specific
 application needs.


Sure.




 2. AddLiftGCToBody should probably not renders anything related with
 GC if the GC nodes list is empty? ... or have the ability to disable
 the GC support which might be quite handy for mobile web applications
 used for limited browsers.


Disable GC... cool.  Not sending the Ajax request if the list is empty,
cool.  But it's possible that items come onto the page via Ajax or Comet.
 Thus, we have to run the node walk as long as GC is enabled.


 3. Lift for every page is starting the JS GC daemon that
 periodically sends the GC request up (every 75 seconds for success or
 15 seconds for failure). Shouldn't we make these these times intervals
 configurable from LiftRules?


Sure.



 Thoughts?

 Br's,
 Marius

 On Feb 8, 2:05 am, David Pollak feeder.of.the.be...@gmail.com wrote:
  Folks,
 
  I've found and squashed a bunch of memory retention issues in the Lift
 comet
  stuff (and added the garbage collection for functions.)
 
  I've tested the fixes against the livehttp://demo.liftweb.netand there
 has
  been no memory growth (except in Derby, but that's not Lift's problem)
 for
  24 hours.
 
  I've been using YouKit (http://yourkit.com/) to profile that
 application.
  I've gotta say that YourKit is awesome, even for debugging remote code.
  I'd
  like to thank YourKit again for contributing licenses to the Lift
  committers.
 
  I've dialed the heap size for demo.liftweb.net from 1GB to 192M.  In
  practice, the actual heap size for the site never grew beyond about 10MB.
 
  Thanks,
 
  David
 
  PS -- Yes, my confidence about making 1.0 on 2/26 is very high.
 
  --
  Lift, the simply functional web frameworkhttp://liftweb.net
  Beginning Scalahttp://www.apress.com/book/view/1430219890
  Follow me:http://twitter.com/dpp
  Git some:http://github.com/dpp
 



-- 
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: 24 hours say the memory leaks are gone

2009-02-08 Thread David Pollak
On Sun, Feb 8, 2009 at 5:36 AM, Marius marius.dan...@gmail.com wrote:


 Related with the above ... would it be ok with you to have a comet
 long-polling interval configurable from somewhere (i.e LiftRules)? ...
 currently it is hardcoded to 10 seconds.


The Comet long poll should be restarted 100ms after the last successful long
poll.  This should not be configurable.  If you don't want long poll, don't
put Comet components on the page.

I'm cool with configurability of long poll failure timeout.




 On Feb 8, 10:37 am, Marius marius.dan...@gmail.com wrote:
  Dave this is way awesome!
 
  I have some questions/suggestions if I may
 
  1. Currently Lift purges the unseen functions that are older then 10
  minutes. I think it might help to make this time window configurable
  via LiftRules so that people may adjust it to fit their specific
  application needs.
 
  2. AddLiftGCToBody should probably not renders anything related with
  GC if the GC nodes list is empty? ... or have the ability to disable
  the GC support which might be quite handy for mobile web applications
  used for limited browsers.
 
  3. Lift for every page is starting the JS GC daemon that
  periodically sends the GC request up (every 75 seconds for success or
  15 seconds for failure). Shouldn't we make these these times intervals
  configurable from LiftRules?
 
  Thoughts?
 
  Br's,
  Marius
 
  On Feb 8, 2:05 am, David Pollak feeder.of.the.be...@gmail.com wrote:
 
   Folks,
 
   I've found and squashed a bunch of memory retention issues in the Lift
 comet
   stuff (and added the garbage collection for functions.)
 
   I've tested the fixes against the livehttp://demo.liftweb.netandthere
 has
   been no memory growth (except in Derby, but that's not Lift's problem)
 for
   24 hours.
 
   I've been using YouKit (http://yourkit.com/) to profile that
 application.
   I've gotta say that YourKit is awesome, even for debugging remote code.
  I'd
   like to thank YourKit again for contributing licenses to the Lift
   committers.
 
   I've dialed the heap size for demo.liftweb.net from 1GB to 192M.  In
   practice, the actual heap size for the site never grew beyond about
 10MB.
 
   Thanks,
 
   David
 
   PS -- Yes, my confidence about making 1.0 on 2/26 is very high.
 
   --
   Lift, the simply functional web frameworkhttp://liftweb.net
   Beginning Scalahttp://www.apress.com/book/view/1430219890
   Follow me:http://twitter.com/dpp
   Git some:http://github.com/dpp
 



-- 
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: 24 hours say the memory leaks are gone

2009-02-08 Thread Marius

I can make these changes one of these days if it's fine with you.

On Feb 8, 5:23 pm, David Pollak feeder.of.the.be...@gmail.com wrote:
 On Sun, Feb 8, 2009 at 12:37 AM, Marius marius.dan...@gmail.com wrote:

  Dave this is way awesome!

  I have some questions/suggestions if I may

  1. Currently Lift purges the unseen functions that are older then 10
  minutes. I think it might help to make this time window configurable
  via LiftRules so that people may adjust it to fit their specific
  application needs.

 Sure.



  2. AddLiftGCToBody should probably not renders anything related with
  GC if the GC nodes list is empty? ... or have the ability to disable
  the GC support which might be quite handy for mobile web applications
  used for limited browsers.

 Disable GC... cool.  Not sending the Ajax request if the list is empty,
 cool.  But it's possible that items come onto the page via Ajax or Comet.
  Thus, we have to run the node walk as long as GC is enabled.



  3. Lift for every page is starting the JS GC daemon that
  periodically sends the GC request up (every 75 seconds for success or
  15 seconds for failure). Shouldn't we make these these times intervals
  configurable from LiftRules?

 Sure.





  Thoughts?

  Br's,
  Marius

  On Feb 8, 2:05 am, David Pollak feeder.of.the.be...@gmail.com wrote:
   Folks,

   I've found and squashed a bunch of memory retention issues in the Lift
  comet
   stuff (and added the garbage collection for functions.)

   I've tested the fixes against the livehttp://demo.liftweb.netandthere
  has
   been no memory growth (except in Derby, but that's not Lift's problem)
  for
   24 hours.

   I've been using YouKit (http://yourkit.com/) to profile that
  application.
   I've gotta say that YourKit is awesome, even for debugging remote code.
   I'd
   like to thank YourKit again for contributing licenses to the Lift
   committers.

   I've dialed the heap size for demo.liftweb.net from 1GB to 192M.  In
   practice, the actual heap size for the site never grew beyond about 10MB.

   Thanks,

   David

   PS -- Yes, my confidence about making 1.0 on 2/26 is very high.

   --
   Lift, the simply functional web frameworkhttp://liftweb.net
   Beginning Scalahttp://www.apress.com/book/view/1430219890
   Follow me:http://twitter.com/dpp
   Git some:http://github.com/dpp

 --
 Lift, the simply functional web frameworkhttp://liftweb.net
 Beginning Scalahttp://www.apress.com/book/view/1430219890
 Follow me:http://twitter.com/dpp
 Git some:http://github.com/dpp
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: 24 hours say the memory leaks are gone

2009-02-08 Thread Marius

Please ignore this message ... I removed it ... I was thinking to
something else which of course clarified for me in the mean time :)

On Feb 8, 5:24 pm, David Pollak feeder.of.the.be...@gmail.com wrote:
 On Sun, Feb 8, 2009 at 5:36 AM, Marius marius.dan...@gmail.com wrote:

  Related with the above ... would it be ok with you to have a comet
  long-polling interval configurable from somewhere (i.e LiftRules)? ...
  currently it is hardcoded to 10 seconds.

 The Comet long poll should be restarted 100ms after the last successful long
 poll.  This should not be configurable.  If you don't want long poll, don't
 put Comet components on the page.

 I'm cool with configurability of long poll failure timeout.





  On Feb 8, 10:37 am, Marius marius.dan...@gmail.com wrote:
   Dave this is way awesome!

   I have some questions/suggestions if I may

   1. Currently Lift purges the unseen functions that are older then 10
   minutes. I think it might help to make this time window configurable
   via LiftRules so that people may adjust it to fit their specific
   application needs.

   2. AddLiftGCToBody should probably not renders anything related with
   GC if the GC nodes list is empty? ... or have the ability to disable
   the GC support which might be quite handy for mobile web applications
   used for limited browsers.

   3. Lift for every page is starting the JS GC daemon that
   periodically sends the GC request up (every 75 seconds for success or
   15 seconds for failure). Shouldn't we make these these times intervals
   configurable from LiftRules?

   Thoughts?

   Br's,
   Marius

   On Feb 8, 2:05 am, David Pollak feeder.of.the.be...@gmail.com wrote:

Folks,

I've found and squashed a bunch of memory retention issues in the Lift
  comet
stuff (and added the garbage collection for functions.)

I've tested the fixes against the livehttp://demo.liftweb.netandthere
  has
been no memory growth (except in Derby, but that's not Lift's problem)
  for
24 hours.

I've been using YouKit (http://yourkit.com/) to profile that
  application.
I've gotta say that YourKit is awesome, even for debugging remote code.
   I'd
like to thank YourKit again for contributing licenses to the Lift
committers.

I've dialed the heap size for demo.liftweb.net from 1GB to 192M.  In
practice, the actual heap size for the site never grew beyond about
  10MB.

Thanks,

David

PS -- Yes, my confidence about making 1.0 on 2/26 is very high.

--
Lift, the simply functional web frameworkhttp://liftweb.net
Beginning Scalahttp://www.apress.com/book/view/1430219890
Follow me:http://twitter.com/dpp
Git some:http://github.com/dpp

 --
 Lift, the simply functional web frameworkhttp://liftweb.net
 Beginning Scalahttp://www.apress.com/book/view/1430219890
 Follow me:http://twitter.com/dpp
 Git some:http://github.com/dpp
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: 24 hours say the memory leaks are gone

2009-02-08 Thread David Pollak
On Sun, Feb 8, 2009 at 7:40 AM, Marius marius.dan...@gmail.com wrote:


 I can make these changes one of these days if it's fine with you.


Please make them as soon as is convenient.  It's time to let the bits sit
prior to 1.0 shipping.




 On Feb 8, 5:23 pm, David Pollak feeder.of.the.be...@gmail.com wrote:
  On Sun, Feb 8, 2009 at 12:37 AM, Marius marius.dan...@gmail.com wrote:
 
   Dave this is way awesome!
 
   I have some questions/suggestions if I may
 
   1. Currently Lift purges the unseen functions that are older then 10
   minutes. I think it might help to make this time window configurable
   via LiftRules so that people may adjust it to fit their specific
   application needs.
 
  Sure.
 
 
 
   2. AddLiftGCToBody should probably not renders anything related with
   GC if the GC nodes list is empty? ... or have the ability to disable
   the GC support which might be quite handy for mobile web applications
   used for limited browsers.
 
  Disable GC... cool.  Not sending the Ajax request if the list is empty,
  cool.  But it's possible that items come onto the page via Ajax or Comet.
   Thus, we have to run the node walk as long as GC is enabled.
 
 
 
   3. Lift for every page is starting the JS GC daemon that
   periodically sends the GC request up (every 75 seconds for success or
   15 seconds for failure). Shouldn't we make these these times intervals
   configurable from LiftRules?
 
  Sure.
 
 
 
 
 
   Thoughts?
 
   Br's,
   Marius
 
   On Feb 8, 2:05 am, David Pollak feeder.of.the.be...@gmail.com wrote:
Folks,
 
I've found and squashed a bunch of memory retention issues in the
 Lift
   comet
stuff (and added the garbage collection for functions.)
 
I've tested the fixes against the livehttp://demo.liftweb.netandthere
   has
been no memory growth (except in Derby, but that's not Lift's
 problem)
   for
24 hours.
 
I've been using YouKit (http://yourkit.com/) to profile that
   application.
I've gotta say that YourKit is awesome, even for debugging remote
 code.
I'd
like to thank YourKit again for contributing licenses to the Lift
committers.
 
I've dialed the heap size for demo.liftweb.net from 1GB to 192M.  In
practice, the actual heap size for the site never grew beyond about
 10MB.
 
Thanks,
 
David
 
PS -- Yes, my confidence about making 1.0 on 2/26 is very high.
 
--
Lift, the simply functional web frameworkhttp://liftweb.net
Beginning Scalahttp://www.apress.com/book/view/1430219890
Follow me:http://twitter.com/dpp
Git some:http://github.com/dpp
 
  --
  Lift, the simply functional web frameworkhttp://liftweb.net
  Beginning Scalahttp://www.apress.com/book/view/1430219890
  Follow me:http://twitter.com/dpp
  Git some:http://github.com/dpp
 



-- 
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---