Issue #2701 has been updated by Trevor Vaughan.

Would it be possible to have an internal flag in Type or File that could 
prevent an object from being written to the yaml file in the first place?

It seems like in both this case, and the case of a recursive file operation in 
general, you want to record the top level object, but then let nature take its 
course on the file(s) below the top level.

I'm not entirely sure what this would do to performance though.

It would almost be nice to bypass the creation of the various file objects 
altogether and just use the native ruby constructs for recursive actions.
----------------------------------------
Bug #2701: Memory Leak in Puppet state
http://projects.reductivelabs.com/issues/2701

Author: Greg Boug
Status: Accepted
Priority: Normal
Assigned to: Markus Roberts
Category: plumbing
Target version: Rowlf
Affected version: 0.24.8
Keywords: 
Branch: 


I have a puppet daemon running tidy to clean up a very busy directory (cleans 
several thousand files each week). Using a tidy object: 

 tidy { "/tps/reports":
  age => 1d,
  recurse => true,
  rmdirs => true,
  loglevel => info,
  type => mtime,
 }

The tidy works well, but every file gets recorded into state.yaml, even the 
ones that were removed several months ago. When Puppet reads in this yaml file 
it gets progressively bigger which consumes a significant chunk of memory on 
the host (I just killed a Puppet daemon with approx 900Mb resident, 
for example - this had been running approx. 2 weeks)

My workaround for now is that I wipe the state.yaml file and restart puppet 
periodically - usually every couple of weeks or so... Another workaround I have 
is to run the attached script periodically and restart puppet. The script culls 
all references to Tidy objects from the database - preserving the rest of the 
state database.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://reductivelabs.com/redmine/my/account

--

You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" 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-bugs?hl=en.


Reply via email to