Bug #3396
Event propagation from generated resource is inefficient
| Status: | Closed | Start: | 03/19/2010 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | plumbing | |||
| Target version: | 0.25.5 | |||
| Affected version: | 0.25.4 | Branch: | http://github.com/masterzen/puppet/tree/tickets/0.25.x/3396 | |
| Keywords: | ||||
| Votes: | 0 |
Description
It was reported by Peiter Meier (duritong) that the following manifest:
file {
"/deep/hierarchy/full/of/files":
recurse => true, checksum => none, mode => 0600
}
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(kn2) 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.
History
Updated by Brice Figureau 6 months ago
- 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
Updated by Markus Roberts 5 months ago
- Status changed from Ready for Testing to Available In Testing Branch
Updated by Jesse Wolfe 5 months ago
- Status changed from Available In Testing Branch to Ready for Checkin
Ready to check into 0.25.x
Updated by James Turnbull 5 months ago
- Status changed from Ready for Checkin to Closed
- Target version set to 0.25.5
Pushed in commit:“56b575393bb9db99b25182d7d167a2768b561e6e” in branch 0.25.x