On Tue, 2010-09-28 at 11:54 -0700, Jason Wright wrote: > On Tue, Sep 28, 2010 at 12:17 AM, Brice Figureau > <[email protected]> wrote: > > This looks different from the previous error you had. Are you still > > using your external node tool and 0.25.4/5? > > > Hmm, apparently your master is not running in debug mode, nor in trace > > mode. Can you check? > > You should have a long stacktrace for the 400 error in the master log > > (wherever it is when running with passenger). > > The stack traces were in the apache error log: > > /usr/lib/ruby/1.8/puppet/network/http/api/v1.rb:23:in `uri2indirection' > /usr/lib/ruby/1.8/puppet/network/http/handler.rb:64:in `process' > /usr/lib/ruby/1.8/puppet/network/http/rack.rb:51:in `call' > /usr/lib/ruby/1.8/phusion_passenger/rack/request_handler.rb:95:in > `process_request' > /usr/lib/ruby/1.8/phusion_passenger/abstract_request_handler.rb:207:in > `main_loop' > /usr/lib/ruby/1.8/phusion_passenger/rack/application_spawner.rb:118:in `run' > /usr/lib/ruby/1.8/phusion_passenger/rack/application_spawner.rb:69:in > `spawn_application' > /usr/lib/ruby/1.8/phusion_passenger/utils.rb:184:in `safe_fork' > /usr/lib/ruby/1.8/phusion_passenger/rack/application_spawner.rb:62:in > `spawn_application' > /usr/lib/ruby/1.8/phusion_passenger/rack/application_spawner.rb:45:in > `spawn_application' > /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:159:in > `spawn_application' > /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:287:in > `handle_spawn_application' > /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:352:in `__send__' > /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:352:in `main_loop' > /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:196:in > `start_synchronously' > /usr/lib/phusion_passenger/passenger-spawn-server:61
Is the stacktrace complete? Is it always the same for all your 400 errors? What version of puppet is running on the master (just to be able to correlate line numbers)? In my 0.25 source code it is on this line: raise ArgumentError, "The indirection name must be purely alphanumeric, not '%s'" % indirection unless indirection =~ /^\w+$/ I fail to understand the issue, though :) > > Puppet-load is not the culprit here, it is working fine :) > > True, true. :) > > > It just exercises the puppetmaster a little bit too much for it. > > Certainly due to a threading issue somewhere (which might well be > > outside of the master (ie rack/passenger or maybe even your external > > node tool). > > The error rate goes way up if I disable the external node classifier. Which is coherent with my analysis. Your external node classifier takes times/resources to run. During this time the connection thread is waiting. If you don't spend time in the external node classifier that means your concurrency will be higher, and thus the chance of erroring because of threading issue increases. -- Brice Figureau Follow the latest Puppet Community evolutions on www.planetpuppet.org! -- 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.
