[chef-dev] Application Cookbook Memory Leaks (was Re: 7/22 Opscode Code Review)


Chronological Thread 
  • From: Lamont Granquist < >
  • To: < >, < >
  • Subject: [chef-dev] Application Cookbook Memory Leaks (was Re: 7/22 Opscode Code Review)
  • Date: Fri, 26 Jul 2013 12:45:01 -0700


Just wanted to raise the visibility of COOK-3360. This was a bug that was causing an entire run_context to leak every time chef-client converged when running daemonized, and rapidly would lead to chef consuming >>1GB of RAM and beyond. It should affect everyone using the 2.x application cookbook. A version bump was made to 3.x for the application cookbook since all the other application_* cookbooks needed to be updated for an API change. The syntax for users should not have changed at all from 2.x -> 3.x (and a major version bump was not done on the application_ruby, etc cookbooks).

Chef 11.6.0 has also switched the default so that the process which is daemonized is thin and forks off a process that does all the work of converging the node which should mitigate similar memory leaks in the future.

On 7/22/13 2:02 PM, Bryan McLellan wrote:
Merge:
   CHEF-4248 - Expose timeout attribute on scm resource and associated 
providers
   CHEF-1559 - Debian service provider does not modify the priorities of 
service
   COOK-3360 - Multiple Memory Leaks in Application Cookbook
   COOK-2355 - rsyslog recipe should support forwarding events to more than 
one server
   COOK-3162 - Nagios with apache2 cannot be moved to port 8080
   COOK-3111 - Add support for alternate users databag to Nagios cookbook
   COOK-3268 - don't hardcode DocumentRoot and cgi-bin locations in 
default_site

Other:
   CHEF-2421 - execute other resources BEFORE main resource
   Wontfix - Too difficult to implement, results attainable with LWRPs or 
HWRPs.
   CHEF-3747 - Add ChefPackage resources
   Wontfix - Need a longer term solution to this problem
   COOK-3237 - Enable cookie-based persistence in a backend
   Reopened - Remove indentation
   COOK-3131 - RabbitMQ cluster logic uses Chef search to add nodes
   Reopened - Why require hostsfile?
   COOK-2906 - Powerdns geo backend support added
   Reopened - Don't want to use force_override
   COOK-2384 - Add haproxy LWRP for multiple haproxy sites/configs
   Reopened - Add the tests
   COOK-2925 - chefspec coverage for nginx::default and nginx_site definitions
   Reopened - Keep ruby 1.8 compatible hash syntax.
   COOK-2963 - jenkins cookbook has foodcritic failure
   Not a bug - Upstream bug.
   COOK-3259 - Add and document additional logwatch configuration options as 
node attributes
   Reopened - Leave the defaults how they are upstream unless greatness is 
possible.

---
Bryan McLellan | opscode | technical program manager, open source
(c) 206.607.7108 | (t) @btmspox | (b) http://blog.loftninjas.org





  • [chef-dev] 7/22 Opscode Code Review, Bryan McLellan, 07/22/2013
    • [chef-dev] Application Cookbook Memory Leaks (was Re: 7/22 Opscode Code Review), Lamont Granquist, 07/26/2013

Archive powered by MHonArc 2.6.16.

§