Issue #2010 has been updated by masterzen.
immerda wrote:' > clearing the failed hosts seems to definitely fix something. > > however it still seems that the problem might reoccur from time to time on > different hosts. I'm not so sure. There's no reason to have more than one resource of the same ref. Puppet can't generate this, but since the schema doesn't enforce it, on some error condition _and_ if your database engine doesn't support transaction _it_ might be possible to have several resource of the same ref for the same host (on multiple run). My patch mentioned on the puppet-dev list should clear the extraneous resources. > I'll test your suggested fix when I'll encounter the problem again. However I > think I already tried it on my own in the same way and I got a not so nice > sideeffect. What I tried: > > [...] > > However what I got then, was this the second peak round: > https://durito.cronopios.org/mysql_queries-day_storeconfigs_speedup_v2.png, > which is why I reverted it. I just saw it as a quick and dirty fix and I had > no idea what the actual problem is, nor what I'm actually doing. The only way to achieve the peaks (notice those are mostly Inserts) is that you might have reversed the logic and never calls add_param_to_hash. In this case the system thinks there is no parameters so it first deletes every parameters and on the next run, there will be tons of inserts. Please test with the following fix if you can (it worked fine on my dev machine): http://github.com/masterzen/puppet/tree/tickets/0.24.x/2010 ---------------------------------------- Bug #2010: puppetmaster fails to store config, trying to hash a param which is nil /issues/2010 Author: immerda Status: Accepted Priority: Normal Assigned to: andrew Category: Target version: 0.24.8 Complexity: Unknown Affected version: 0.24.7 Keywords: running the master on the latest head of 0.24.x gives the following error for _every_ client: <pre> notice: Searched for resources in 0.25 seconds /usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:153:in `find_resources_parameters_tags' /usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:125:in `setresources' /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/benchmark.rb:8:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:124:in `setresources' /usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:52:in `store' /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/benchmark.rb:8:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:51:in `store' /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/database_statements.rb:66:in `transaction' /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/transactions.rb:129:in `transaction' /usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:32:in `store' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:448:in `store_to_active_record' /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/database_statements.rb:66:in `transaction' /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/transactions.rb:129:in `transaction' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:447:in `store_to_active_record' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:180:in `benchmark' /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/benchmark.rb:8:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:179:in `benchmark' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:446:in `store_to_active_record' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:439:in `store' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:99:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/parser/interpreter.rb:29:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:68:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:180:in `benchmark' /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/benchmark.rb:8:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:179:in `benchmark' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:66:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:21:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:210:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:49:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/network/handler/master.rb:65:in `getconfig' /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `to_proc' /usr/lib/ruby/site_ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in `call' /usr/lib/ruby/site_ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in `protect_service' /usr/lib/ruby/site_ruby/1.8/puppet/network/xmlrpc/processor.rb:85:in `setup_processor' /usr/lib/ruby/1.8/xmlrpc/server.rb:336:in `call' /usr/lib/ruby/1.8/xmlrpc/server.rb:336:in `dispatch' /usr/lib/ruby/1.8/xmlrpc/server.rb:323:in `each' /usr/lib/ruby/1.8/xmlrpc/server.rb:323:in `dispatch' /usr/lib/ruby/1.8/xmlrpc/server.rb:366:in `call_method' /usr/lib/ruby/1.8/xmlrpc/server.rb:378:in `handle' /usr/lib/ruby/site_ruby/1.8/puppet/network/xmlrpc/processor.rb:44:in `process' /usr/lib/ruby/site_ruby/1.8/puppet/network/xmlrpc/webrick_servlet.rb:68:in `service' /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' /usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' /usr/lib/ruby/1.8/webrick/server.rb:162:in `start' /usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' /usr/lib/ruby/1.8/webrick/server.rb:95:in `start' /usr/lib/ruby/1.8/webrick/server.rb:92:in `each' /usr/lib/ruby/1.8/webrick/server.rb:92:in `start' /usr/lib/ruby/1.8/webrick/server.rb:23:in `start' /usr/lib/ruby/1.8/webrick/server.rb:82:in `start' /usr/lib/ruby/site_ruby/1.8/puppet.rb:293:in `start' /usr/lib/ruby/site_ruby/1.8/puppet.rb:144:in `newthread' /usr/lib/ruby/site_ruby/1.8/puppet.rb:143:in `initialize' /usr/lib/ruby/site_ruby/1.8/puppet.rb:143:in `new' /usr/lib/ruby/site_ruby/1.8/puppet.rb:143:in `newthread' /usr/lib/ruby/site_ruby/1.8/puppet.rb:291:in `start' /usr/lib/ruby/site_ruby/1.8/puppet.rb:290:in `each' /usr/lib/ruby/site_ruby/1.8/puppet.rb:290:in `start' /usr/sbin/puppetmasterd:285 err: Could not store configs: undefined method `add_param_to_hash' for nil:NilClass notice: Compiled catalog for puppet.foobar.com in 20.64 seconds </pre> ---------------------------------------- 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 -~----------~----~----~----~------~----~------~--~---
