Project

General

Profile

Actions

Bug #5358

closed

Webapp checking that CFEngine variables used in Directive are correct takes too much time at startup

Added by François ARMAND over 10 years ago. Updated about 10 years ago.

Status:
Released
Priority:
1 (highest)
Category:
Performance and scalability
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
Name check:
Fix check:
Regression:

Description

We have a check in the bootstrap of the application that ensures that no CFEngine variable contains a "." in their name. This is part of a migration from pre-2.6 versions that allowed using a CFEngine variable name containing ".".

This check is done in such a way that only checking, not actually migrating variable names, is taking a time exponential+with a big I/O based on the totale number of directives. But the "check" part can be done in at least linear time and WITHOUT the big I/O by directive.

On a installation with ~200 directives, it tooks around 60s to do that check. 60s to have Rudder UI available, even if nothing has to be done.

For 2.6, there is little to do.
But since 2.10, we have a way to improve a lot the situation (from 60 000ms to 600ms in my test environment).

And even more, perhaps we could JUST remove that check in 2.10/2.11, since the sole migration path to these version is from 2.6 that already do the check.

Jon, what do you think ? Is it acceptable to remove that check in a 2.10.x release ?


Related issues 1 (0 open1 closed)

Related to Rudder - Bug #3642: CFEngine variables name in "CFEngine Generic Variable Definition" Directives no more support "dot" and need a migration script to "undot" existing onesReleasedFrançois ARMAND2013-06-10Actions
Actions

Also available in: Atom PDF