https://jira.camunda.com/browse/CAM-13355
Wanted to share this finding to see if others see a problem with this:
If you add a expression to the Form Key ${someFormKeyExpression}
, common use case if storing a form key as a variable / dynamically building the form key depending on XYZ conditions the following implication appears to exist:
On every API call of a Task including getting a list of tasks, the Form key expression will be re-evaluated. As a result this can have a large performance implication, where someone retrieving many tasks that use expressions will have the expression evaluated and that expression may be using process variables, etc).
Does this make sense? Is there a deeper layer of performance mgmt occurring that I am missing?
see: https://jira.camunda.com/browse/CAM-13355
You can observe the behaviour by placing a breakpoint on https://github.com/camunda/camunda-bpm-platform/blob/master/engine/src/main/java/org/camunda/bpm/engine/impl/delegate/ExpressionGetInvocation.java#L40