[OPENIDM-14576] A workflow started in IDM 4.5 cannot be completed after upgrading to 6.0.0.5 Created: 13/Apr/20  Updated: 09/Oct/20  Resolved: 09/Oct/20

Status: Closed
Project: OpenIDM
Component/s: Module - Workflow
Affects Version/s: 6.0.0.5
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Yinyan Cao Assignee: Naren Koganti
Resolution: Won't Fix Votes: 0
Labels: sustaining
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File contractorOnboarding.bar     XML File contractorOnboarding.bpmn20.xml    
Issue Links:
Relates
relates to OPENIDM-14046 Duplicates of the same workflow proce... Closed
Target Version/s:
Support Ticket IDs:
Zendesk ID: 48569

 Description   

To reproduce this issue:

1. Prepare two contractorOnboarding bar files.

2. Since there is no change to activiti repo in db/*/scripts, and installation guide (5, 5.5, 6.0) does note any update action to workflow, we can emulate upgrade by setting up one IDM 4.5 instance and one IDM 6.0.0.5 instance, both pointing to the same actitivi repo.
4.5

{
    "useDataSource" : "activiti",
    "workflowDirectory" : "&{launcher.project.location}/workflow"
}

6.0.0.5

{
    "useDataSource" : "activiti",
    "workflowDirectory" : "&{idm.instance.dir}/workflow"
}

3. Create user1 and manager1 in both 4.5 and 6.0.0.5 instances, per sample guide.

4. Load the 4.5 instance with contractorOnboarding(ootb450). Login as user1, start a workflow.

5. Load the 6.0.0.5 instance with contractorOnboarding(201705). Login as manager1, complete the workflow, it fails with

[583] Apr 11, 2020 4:08:16.160 PM org.forgerock.openidm.servlet.internal.ServletConnectionFactory$3 lambda$handleRequestWithLogging$8
WARNING: Resource exception: 500 Internal Server Error: "Unknown property used in expression: ${decision=='accept'}"
org.forgerock.json.resource.InternalServerErrorException: Unknown property used in expression: ${decision=='accept'}
 at org.forgerock.openidm.workflow.activiti.impl.TaskInstanceResource.actionInstance(TaskInstanceResource.java:140)
 at org.forgerock.json.resource.InterfaceCollectionInstance.handleAction(InterfaceCollectionInstance.java:26)
 at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:55)
 at org.forgerock.json.resource.Resources$CollectionInstanceIdContextFilter.filterAction(Resources.java:490)
 at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:53)
 at org.forgerock.json.resource.FilterChain.handleAction(FilterChain.java:222)
 at org.forgerock.json.resource.Router.handleAction(Router.java:250)
 at org.forgerock.json.resource.Router.handleAction(Router.java:250)
 at org.forgerock.openidm.workflow.activiti.impl.WorkflowService.handleAction(WorkflowService.java:97)
...
Caused by: org.activiti.engine.ActivitiException: Unknown property used in expression: ${decision=='accept'}
 at org.activiti.engine.impl.el.JuelExpression.getValue(JuelExpression.java:53)
 at org.activiti.engine.impl.el.UelExpressionCondition.evaluate(UelExpressionCondition.java:37)
 at org.activiti.engine.impl.bpmn.behavior.ExclusiveGatewayActivityBehavior.leave(ExclusiveGatewayActivityBehavior.java:63)
 at org.activiti.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.execute(FlowNodeActivityBehavior.java:36)
 at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:54)
 at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:89)
 at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:566)
 at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:561)
 at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerStart.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerStart.java:52)
 at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)
 at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:89)
 at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:566)
 at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:561)
...
Caused by: org.activiti.engine.impl.javax.el.PropertyNotFoundException: Cannot resolve identifier 'decision'
 at org.activiti.engine.impl.juel.AstIdentifier.eval(AstIdentifier.java:83)
 at org.activiti.engine.impl.juel.AstBinary$SimpleOperator.eval(AstBinary.java:27)
 at org.activiti.engine.impl.juel.AstBinary.eval(AstBinary.java:106)
 at org.activiti.engine.impl.juel.AstEval.eval(AstEval.java:50)
 at org.activiti.engine.impl.juel.AstNode.getValue(AstNode.java:26)
 at org.activiti.engine.impl.juel.TreeValueExpression.getValue(TreeValueExpression.java:114)
 at org.activiti.engine.impl.delegate.ExpressionGetInvocation.invoke(ExpressionGetInvocation.java:33)
 at org.activiti.engine.impl.delegate.DelegateInvocation.proceed(DelegateInvocation.java:37)
 at org.activiti.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:25)
 at org.activiti.engine.impl.el.JuelExpression.getValue(JuelExpression.java:48)
 ... 177 more

Generated at Wed Mar 03 20:44:57 UTC 2021 using Jira 7.13.12#713012-sha1:6e07c38070d5191bbf7353952ed38f111754533a.