On 25/01/11 19:27, Nigel Kersten wrote: > On Tue, Jan 25, 2011 at 10:25 AM, Brice Figureau > <brice-pup...@daysofwonder.com> wrote: >> On 25/01/11 18:47, Jason Wright wrote: >>> On Mon, Jan 24, 2011 at 9:24 PM, Daniel Pittman <dan...@puppetlabs.com> >>> wrote: >>>> For the other two exceptions, do you have 'ArgumentError' "Could not >>>> find hostname" raised anywhere, or FileServerError, "Fileserver module >>>> %s is not mounted"? They also, ultimately, lead down to a place where >>>> I/O subsystem errors could cause a false failure, and it would be >>>> interesting to know if either of those two were thrown. >>> >>> These two lead to a fileserver module not mounted exception: >>> >>> /usr/lib/ruby/1.8/puppet/network/handler/fileserver.rb:401:in `splitpath' >>> /usr/lib/ruby/1.8/puppet/network/handler/fileserver.rb:236:in `convert' >>> /usr/lib/ruby/1.8/puppet/network/handler/fileserver.rb:133:in `list' >>> /usr/lib/ruby/1.8/rubygems/custom_require.rb:31 >>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in `call' >>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in `protect_service' >>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:85 >>> /usr/lib/ruby/1.8/xmlrpc/server.rb:338:in `call' >>> /usr/lib/ruby/1.8/xmlrpc/server.rb:338:in `dispatch' >>> /usr/lib/ruby/1.8/xmlrpc/server.rb:325:in `each' >>> /usr/lib/ruby/1.8/xmlrpc/server.rb:325:in `dispatch' >>> /usr/lib/ruby/1.8/xmlrpc/server.rb:368:in `call_method' >>> /usr/lib/ruby/1.8/xmlrpc/server.rb:380:in `handle' >>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:44:in `process' >>> /usr/lib/ruby/1.8/puppet/network/http/rack/xmlrpc.rb:35:in `process' >>> >>> /usr/lib/ruby/1.8/puppet/network/handler/fileserver.rb:401:in `splitpath' >>> /usr/lib/ruby/1.8/puppet/network/handler/fileserver.rb:236:in `convert' >>> /usr/lib/ruby/1.8/puppet/network/handler/fileserver.rb:68:in `describe' >>> /usr/lib/ruby/1.8/rubygems/custom_require.rb:31 >>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in `call' >>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in `protect_service' >>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:85 >>> /usr/lib/ruby/1.8/xmlrpc/server.rb:338:in `call' >>> /usr/lib/ruby/1.8/xmlrpc/server.rb:338:in `dispatch' >>> /usr/lib/ruby/1.8/xmlrpc/server.rb:325:in `each' >>> /usr/lib/ruby/1.8/xmlrpc/server.rb:325:in `dispatch' >>> /usr/lib/ruby/1.8/xmlrpc/server.rb:368:in `call_method' >>> /usr/lib/ruby/1.8/xmlrpc/server.rb:380:in `handle' >>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:44:in `process' >>> /usr/lib/ruby/1.8/puppet/network/http/rack/xmlrpc.rb:35:in `process' >> >> xmlrpc? >> Do you still have 0.24.x clients? >> >> You omitted one important piece of information which is the kind of >> exception along with the error message. Can you post it so that we can >> understand what happens? > > Brice, I'm pretty sure we still had some XMLRPC left in 0.25.x, I > don't believe we completely got rid of it until 2.6.x
Oh, I'm well aware of this. I was asking about 0.24.x clients, because I thought the not-ported-to-REST handlers was only the filebucket. I was pretty sure file_metadata and file_content were handled through fullblown REST. BTW, I really think this is a thread race, as the first trace reminds me something I reported (and we fixed) for 2.6. Looking to the 0.25.5 code of the xmlrpc fileserver handler, when mounting it tries to find the current node, which might trigger a call to the ENC, if I'm not mistaken. If this operation lasts a long time, it is well possible that another threads trigger the same codepath. This same codepath also uses the environment cached_attr "module": I also discovered a thread race in this code that was fixed in 2.6. Would it be possible to run passenger in a mode where it won't spawn more than one thread and see if the problem disappears? -- Brice Figureau My Blog: http://www.masterzen.fr/ -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.