[Lift] Re: 24 hours say the memory leaks are gone
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
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
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
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
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
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
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
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 -~--~~~~--~~--~--~---