Details
-
Feature
-
Status: Released (View Workflow)
-
Major
-
Resolution: Fixed
-
None
Description
Current Situation
- Low performance of parameter subsitution is an issue when used with node parameters:
- 10 node parameter: 4s
- 20 node parameter: 6s
- both values are considered being far too slow for efficient parameter handling.
- The substitution mechanism has grown over the years and has to be re-written as it works inefficiently and is hard to maintain.
- The following implementation of a Monitor is used for substitution of node parameters up to release 1.10. It remains available with release 1.11:
<monitor name="configuration_monitor"> <script java_class="sos.scheduler.managed.configuration.ConfigurationOrderMonitor" language="java"/> </monitor>
- The JOE job editor automatically updates job configurations that are used in job chains and to which node parameters are assigned with the current Monitor implementation.
Desired Behavior
- Performance of parameter substitution is restored to a normal range:
- 20 node parameters <= 2s
- Rewrite the parameter substitution to comply with the requirements stated with the How to control substitution in Job Parameters article
- Supported parameter templates
- ${param}
- No longer supported parameter templates
- §{param}
- $param
- §param
- ${scheduler_param_param}
- §{scheduler_param_param}
- %scheduler_param_param%
- The optimized Monitor becomes available with the following implementation starting from release 1.11:
<monitor name="configuration_monitor"> <script java_class="com.sos.jitl.jobchainnodeparameter.monitor.JobchainNodeSubstituteMonitor" language="java"/> </monitor>
- The JOE job editor updates job configurations that use node parameters with the optimized implementation of the Monitor.
Maintainer Notes
- Users of 1.11 releases who want to benefit from improved performance should update the configuration monitor.
- For newly created jobs this is automatically performed by the JOE job editor.
- For existing jobs it is up to the user to update the configuration monitor.
- For release 1.11 the "classic" implementation and the optimized implementation are available in parallel.
- For release 1.12 the "classic" implementation will be modified to point to the optimized implementation, see deprecation announcement with
JITL-411