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.
