Architecture #4778
closedOptimize promise generation algorithm: Rudder variables lookup
Description
We have the possibility to use Rudder variables in directives in the form of ${rudder.XXXX}, see: http://www.rudder-project.org/foswiki/Development/ContextedVariables
Today, everything around these variables lookup is ad-hoc and inefficient, or even not sound.
So the whole variable analisys and lookup is higly inefficient and error prone (and so, we added even more inefficiencies to managed the error proness).
The main points are:
- there is dead code or code that serve the same goal duplicated in several points (typical example: CLIENTSLIST and MANAGED_NODE_HOSTS are two variables with the same content, calculated in two different ways)
- variable parsing is higly ineficient: it's done by regex for EACH node, for EACH directive, in place of having a one-time parsing, and only lookup for each node/directive
- the ${rudder.ruleID....} kind of variable make no sense today (complexity, efficiency), can even arms future Rudder evolution (authorizations), and is only used internally (in 2 or 3 places): remove that variable kind and replace its internal use with ad-hoc, efficient implementations.
Updated by François ARMAND over 10 years ago
- Status changed from 12 to Pending release
Updated by Vincent MEMBRÉ over 10 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/