Hi, This is an attempt to fix puppetd memory consumption while managing deep hierarchies with file recursive resources.
Part of the issue as discussed earlier is that this type creates on new instance of file per child file, taking memory to store each time its path. This patch against master, uses Luke's FileCollection to perform prefix compression on the various paths of the file resource. The lab test shows that we can gain about 50% of the memory used to store paths. That doesn't mean the overall memory used by puppetd will be dramatically reduced, because a file contains more information than just its path (ie owner, stat, ...). I'd be interesting in production report of puppetd memory consumption with this path applied. The patch is available in the wip/pathcomp branch of my github repository: http://github.com/masterzen/puppet/tree/wip/pathcomp There is no ticket yet backing this feature. I'll create one if there is interest. Brice Figureau (2): Add an unmunge capability to type parameters and properties Use FileCollection to store the pathname part of files lib/puppet/parameter.rb | 16 +++++++++++++++- lib/puppet/property.rb | 4 ++-- lib/puppet/type/file.rb | 12 ++++++++++++ spec/unit/parameter.rb | 10 ++++++++++ spec/unit/property.rb | 16 ++++++++++++++++ 5 files changed, 55 insertions(+), 3 deletions(-) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en -~----------~----~----~----~------~----~------~--~---
