Project

General

Profile

Actions

Bug #15798

closed

Rationalize the handling of variables during policy generation

Added by Nicolas CHARLES over 4 years ago. Updated over 4 years ago.

Status:
Released
Priority:
N/A
Category:
Performance and scalability
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
0
Name check:
Reviewed
Fix check:
Checked
Regression:

Description

During a policy generation, we are moving around a lot of data, and some part ought to be rationalized (and even understood better)

Most notably, in prepareVariables, for each nodes and each policies, we are
  • getting all variables of the policy
  • checking these variables, and constructing new variables based on them
  • for each of these variable, we are constructing an STVariable
  • getting the escaping method for this node
  • escaping the variable value based on this escaping method

We could easily get only once the escaping method for the node (this is done 6194231 times on a generation with 4500 nodes, and 1.5 millions control point), and skip the middle man and create directly the STVariable from the checked Variable

Also, policy.mergeVars looks now quite dubious

Actions #1

Updated by Nicolas CHARLES over 4 years ago

  • Status changed from New to In progress
  • Assignee set to Nicolas CHARLES
Actions #2

Updated by Nicolas CHARLES over 4 years ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from Nicolas CHARLES to François ARMAND
  • Pull Request set to https://github.com/Normation/rudder/pull/2485
Actions #3

Updated by François ARMAND over 4 years ago

We will assess the interest of that PR in next minor.

Actions #4

Updated by Vincent MEMBRÉ over 4 years ago

  • Target version changed from 5.0.14 to 5.0.15
Actions #5

Updated by Nicolas CHARLES over 4 years ago

  • Status changed from Pending technical review to Pending release
Actions #7

Updated by Alexis Mousset over 4 years ago

  • Subject changed from Rationalize the handling of variable during a policy generation to Rationalize the handling of variables during policy generation
  • Name check changed from To do to Reviewed
Actions #8

Updated by Nicolas CHARLES over 4 years ago

  • Fix check changed from To do to Checked
Actions #10

Updated by Vincent MEMBRÉ over 4 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 5.0.15 which was released today.

Actions

Also available in: Atom PDF