Details
-
Suggestion
-
Resolution: Won't Fix
-
None
-
None
Description
See below a point of improvement of Performances
Imagine the following Workflow ...
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE workflow PUBLIC "-//OpenSymphony Group//DTD OSWorkflow 2.8//EN" "http://www.opensymphony.com/osworkflow/workflow_2_8.dtd"> <workflow> ... <initial-actions> <action id="1" name="Create Issue">...</action> </initial-actions> <common-actions> <action id="1010" name="Action_1010" view="comment"> ... <restrict-to> <conditions> <condition type="class"> <arg name="class.name">com.atlassian.jira.workflow.condition.AnyCondition</arg> </condition> </conditions> </restrict-to> ... </action> <action id="1020" name="Action_1020" view="comment"> ... <restrict-to> <conditions> <condition type="class"> <arg name="class.name">com.atlassian.jira.workflow.condition.AnyCondition</arg> </condition> </conditions> </restrict-to> ... </action> <action id="1030" name="Action_1030" view="comment"> ... <restrict-to> <conditions> <condition type="class"> <arg name="class.name">com.atlassian.jira.workflow.condition.AnyCondition</arg> </condition> </conditions> </restrict-to> ... </action> </common-actions> <steps> <step id="1" name="In Progress"> ... <actions> <common-action id="10" /> <common-action id="20" /> <common-action id="30" /> </actions> </step> ... </steps> </workflow>
In previous exemple, the com.atlassian.jira.workflow.condition.AnyCondition is evaluate 4 times.
- In Velocity Context preparation
IssueSummaryWebComponent.getHtml(IssueSummaryLayoutBean layout, Issue issue, User remoteUser) ...params.put("availableActions", getAvailableActions(issue));
- For each iterations in Velocity Template (templates/jira/issue/summary/issuesummary.vm)
$summaryComponent.isLazyDecoratable($issue, $action.value) ...IssueUtilsBean.isValidAction(Issue issue, int action) ......IssueUtilsBean.loadAvailableActions(Issue issueObject)
When Workflow became more complexe (i.e 3 Transitions from a Step with at least 3 conditions per Transition), and also with more complex conditions, the time allocated to conditions's evaluation is not trivial.
Rgsd
Vincent