Process stuck and not progressing with ODF-0022: Invalid expression. Re-evaluate the OBS Expression.

Document ID : KB000125114
Last Modified Date : 22/01/2019
Show Technical Document Details
Issue:
Our process is now stuck and not progressing. We restarted the services and have the same issue in the BG logs:
 
ERROR 2019-01-17 10:32:49,572 [Post Condition Transition Pipeline 0 (tenant=clarity)] niku.odf (clarity:process_admin:27714044__20BEA1DD-AA8A-47DC-9809-42FC9AE4DC55:none)
java.lang.RuntimeException: ODF-0022: Invalid expression. Re-evaluate the OBS Expression.
at com.niku.odf.exprbuilder.ExprToWhereClauseConverter.handleFunction(ExprToWhereClauseConverter.java:1177)
at com.niku.odf.exprbuilder.ExprToWhereClauseConverter.handleChildren(ExprToWhereClauseConverter.java:562)
at com.niku.odf.exprbuilder.JEPOBSFunction.evaluate(JEPOBSFunction.java:120)
at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.getValue(Unknown Source) at org.nfunk.jep.JEP.getValueAsObject(Unknown Source) at org.nfunk.jep.JEP.getValue(Unknown Source) at com.niku.odf.exprbuilder.ExpressionEvaluator.evaluateExpression(ExpressionEvaluator.java:463)
at com.niku.odf.exprbuilder.ExpressionEvaluator.evaluate(ExpressionEvaluator.java:166)
at com.niku.bpm.engine.exprevaluator.omp.OMPExpressionEvaluator.evaluateStepCondition(OMPExpressionEvaluator.java:175)
at com.niku.bpm.engine.exprevaluator.ExpressionEvaluator.evaluate(ExpressionEvaluator.java:189)
at com.niku.bpm.engine.rules.PostConditionTransitionPipeline.evaluatePostConditions(PostConditionTransitionPipeline.java:200)
at com.niku.bpm.engine.rules.PostConditionTransitionPipeline.execute(PostConditionTransitionPipeline.java:79)
at com.niku.bpm.engine.rules.Pipeline.run(Pipeline.java:280)
 
Cause:
The Post Condition expression for the timesheet did not return any results, this is why the process got stuck.

The OBS structure was changed and this no longer returned the expected results for the process.
 
Resolution:

We reverted the change in the OBS, and the BG service picked up the processes correctly within few hours.