Issue #9671 has been updated by Nigel Kersten. Status changed from Needs Decision to Needs More Information Assignee changed from Nigel Kersten to Josh Cooper
Josh, can you look at this at the same time as you're looking at #10269 ? It feels like they're the same area of the code. ---------------------------------------- Bug #9671: transaction eval_generate slow on many files in recurse managed directory https://projects.puppetlabs.com/issues/9671 Author: Simon Effenberg Status: Needs More Information Priority: Normal Assignee: Josh Cooper Category: file Target version: 2.7.x Affected Puppet version: 2.7.3 Keywords: transaction file recurse Branch: Since 2.7 (jump from 2.6.2 to 2.7.3) a file resource for a directory with many files in it is really really too slow. <pre> file { "/var/www/munin": ensure => directory, owner => munin, group => munin, mode => 644, recurse => true, require => [ Class['munin::master'], ] } </pre> In the directory there are ~19000 files and in the /usr/lib/ruby/1.8/transaction.rb in lines 171-174: <pre> made.each do |res| add_conditional_directed_dependency(made.find { |r| r != res && r.name == res.name[0,r.name.length]} || resource, res) add_conditional_directed_dependency(res, sentinal, default_label) end </pre> the first add_conditional_directed_dependency needs a time between 0.2 and 1.5s which is, let's say an avg (it is growing over the time) of 0.4s and this *19000 files means, that the resource needs >2h... maybe this is not changeable but i wants to know if i have to remove the recurse => true for this or if this is a "bug" -- 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://projects.puppetlabs.com/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.
