Project

General

Profile

Actions

Architecture #4427

open

cf-promises check on ALL generated promises leads to huge generation time

Added by François ARMAND almost 11 years ago. Updated 2 months ago.

Status:
New
Priority:
N/A
Category:
Web - Config management
Effort required:
Name check:
Fix check:
Regression:

Description

When configuration for nodes are generated, there is a step just after promise generation that runs cf-promise on all generated content, so that if an error is detected, the generation process is interrupted.

Even considering that interupting the whole generation process for one given node in error is OK, that way of doing thing leads to HUGE (tens of MINUTES) generation time when we deal with big configuration (tens of thousand of expected reports, say 150 nodes with ~ 50 directives on them).

So, we must find a better way to:

- remove that time,
- still correctly inform the user about what is wrong (in case it is)

Ticket #4242 was the initiator of that performance problem.

Workaround: for whose who don't want to spend all the time in cf-promises, you can configure the properties: "rudder.community.checkpromises.command" to "/bin/true" in the file "/opt/rudder/rudder-web.properties".
Of course with that configuration, cf-promises won't run on generated files for each node. It is OK in most cases, but in rare occasion, especially if you are creating your own Technique, it may avoid catching a promise error early.


Related issues 5 (2 open3 closed)

Related to Rudder - Bug #4242: Promise generation takes too long when getting more and more nodesReleasedFrançois ARMAND2014-03-11Actions
Related to Rudder - Bug #4475: Promise generation process should not lose time by forking to run "/bin/true"ReleasedNicolas CHARLES2014-02-17Actions
Related to Rudder - User story #5641: Make the agent policies update a state machine with integrity checkNewActions
Related to Rudder - Bug #14331: Trigger agent update and run after policy server has finished policy generationReleasedAlexis MoussetActions
Related to Rudder - Architecture #7297: Speed up of promise validationNewActions
Actions

Also available in: Atom PDF