Issue #3396 has been updated by Brice Figureau.

Status changed from Investigating to Ready for Testing
Branch set to http://github.com/masterzen/puppet/tree/tickets/0.25.x/3396

Patch pending review is available in my github repository in the 
tickets/0.25.x/3396 branch:
http://github.com/masterzen/puppet/tree/tickets/0.25.x/3396
----------------------------------------
Bug #3396: Event propagation from generated resource is inefficient
http://projects.reductivelabs.com/issues/3396

Author: Brice Figureau
Status: Ready for Testing
Priority: Normal
Assigned to: Brice Figureau
Category: plumbing
Target version: 
Affected version: 0.25.4
Keywords: 
Branch: http://github.com/masterzen/puppet/tree/tickets/0.25.x/3396


It was reported by Peiter Meier (duritong) that the following manifest:

<pre>
file {
 "/deep/hierarchy/full/of/files":
   recurse => true, checksum => none, mode => 0600
}
</pre>

Takes a long time for the first run (when mode is changed).

Analysis of the problem show that we produce many events that are tentatively 
propagated to the generated file sub-resource, ending in an about O(kn^2) 
performance (with k number of different events, and n number of generated 
resource).
This happens because the transaction masquerades the events source by the 
topmost file resource. So instead of flowing the events from the real resource 
we're trying to flow them from the topmost resource, which is itself linked 
with out-edges (because of the auto-requiring) to all the sub generated 
resource.

This is certainly wrong (why would we want to propagate back those events to 
where they originated?).

The envisioned solution is to filter out all the edges pointing to the 
generated sub-resources for those events that originate from a linked generated 
sub-resource.




-- 
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.

Reply via email to