Megatest

View Ticket
Login
2022-10-13
15:52 New ticket [9004c56d24] runconfigs should be read only once. artifact: f04987176b user: mmgraham

Ticket Hash: 9004c56d2442959f35c265db750b9b935bc4dccb
Title: runconfigs should be read only once
Status: Open Type: Code_Defect
Severity: Severe Priority:
Subsystem: Resolution:
Last Modified: 2022-10-13 15:52:34
Version Found In: 1.70/07
Description:
From Robert: There is a real issue with the time it takes megatest to process runconfigs.
Every #{shell ...} command is processed in every target from every included file even if the target is not the one being run, or a simple -list-targets is given on the command line.

To make matters worse, when running a regression, not only does the main megatest "mtest" call processes runconfigs, so does any server started by the regression run.

And if it takes a LONG time to process the runconfigs, the regression run will spend a lot of time waiting for the server to start. Every single call to megatest, whether its to start the regression, or start a server, or whatever, is subject to the time it takes to process the runconfig files.

The parsing of runconfigs should happen 1 time per session, and the evaluation of value should only happen 1 time and when its needed/used (there should not be a global evaluation of all parameters across all targets unless there is some kind of dump operation occurring).

While I appreciate that there was some original reason/intent for re-parsing the runconfigs the entire process is leading to a substantial performance issues in regression runs. Even if there is a need to re-evaluate a variable value, there should be a means of indicating so, like:

VAR #{eval ...}

Something needs to be done to improve performance of reading the runconfigs.