Architecture #4781
closedArchitecture #4778: Optimize promise generation algorithm: Rudder variables lookup
Remove rule variable kind: {rudder.ruleid.XXX}
Description
Remove the use of the rule kind of variable because:
- it's inefficient to calculate (lots of data to get & process, even for simplest of these variables, with lots of error cases to handle)
- it's very complexe (so much that a whole subcategory for multivalued section is not handled)
- it breaks the {Group, Directive} => Rule dependency tree, and creates a dependency circle {Group, Directive} => Rule => Directive (authorization impossible, complexity, etc)
- it is used in 2 or 3 places, and only internally,
- simpler and more efficient solution can be used (parameters, cfengine variables) or developped (tags).
Remove them!
Updated by François ARMAND over 9 years ago
- Status changed from In progress to Pending technical review
- Pull Request set to https://github.com/Normation/rudder/pull/501
Updated by François ARMAND over 9 years ago
For now, the process generation time difference is really small (some percent, in the good direction).
Updated by François ARMAND over 9 years ago
- Assignee changed from François ARMAND to Nicolas CHARLES
This issue is deeply linked with #4782 which split the parsing and interpretation part of interpolated variable in two. It is moslty cleaning of anything related to ${rudder.ruleid...} kind of interpolated variable, and by itself, it doesn't bring much improvment, safe with cleaner code (much simpler code for system variables for example).
Merging it begore https://github.com/Normation/rudder/pull/507 will alows to take https://github.com/fanf/rudder/commit/cfb59b48822081e2796d2b2f53261bbdf90cf0d9 (the actual interpolation compiler + big refactoring) in isolation, which is by itself a rather big piece of code.
Updated by François ARMAND over 9 years ago
- Status changed from Pending technical review to Pending release
- % Done changed from 0 to 100
Applied in changeset 332477e1b3b34a5b748c4c76277024b62fae9e99.
Updated by Vincent MEMBRÉ over 9 years ago
- Status changed from Pending release to Released
This bug has been fixed in Rudder 2.11.0~beta1 that was released yesterday.
- announcement
- changelog
- Download information: https://www.rudder-project.org/site/get-rudder/downloads/
Updated by Benoît PECCATTE over 8 years ago
- Tracker changed from Enhancement to Architecture